一个计算机技术爱好者与学习者

0%

Kolla配置实例网络

1. 前言

紧接着《Ubuntu16使用Kolla安装OpenStack》,假设已经使用kolla安装好了openstack,本文我们来研究一下怎样访问实例和怎样配置网络。

2. 访问实例

1、在dashboard查看网络拓扑如下:

上图中网关的ip为10.0.2.158,ping不通。
上图中实例demo1的ip为10.0.0.3,ping不通。
这是因为,当前网络和实例的网络属于不同的命名空间。

2、查看命名空间
ip netns

3、查看qrouter的网络
ip netns exec qrouter-6e5d8c97-3f9c-4ce9-a9b4-580f2f38e0f3 ip add

4、登录实例demo1
ip netns exec qrouter-6e5d8c97-3f9c-4ce9-a9b4-580f2f38e0f3 ssh cirros@10.0.0.3

3. 直接访问实例

上面的登录方式,比较麻烦,因为要指定命名空间。下面我们来配置一下,使得不指定命名空间也可以访问实例。

1、在/etc/network/interfaces中添加配置:

1
2
3
4
auto br-ex
iface br-ex inet static
address 10.0.2.1
netmask 255.255.255.0

2、启用br-ex
ifup br-ex

3、测试连接
此时,可以ping通网关10.0.2.158,ping不通实例10.0.0.3。

4、解决方法一,添加路由

1
2
route add -net 10.0.0.0/24 gw 10.0.2.158 dev br-ex
ping 10.0.0.3 -c3

5、解决方法二,给demo1实例分配浮动IP

1
2
3
4
5
source /etc/kolla/admin-openrc.sh
openstack network list
openstack floating ip create public1
openstack server add floating ip demo1 10.0.2.153
ping 10.0.2.153 -c3


4. 外网配置

在实例中,ping不通8.8.8.8。参考Openstack实践(1)部署使用实例及neutron网络,可以通过修改init-runonce脚本解决,EXT_NET_CIDR、EXT_NET_RANGE和EXT_NET_GATEWAY需要根据物理网络配置。

这里,郝同学使用snat来解决。

1、参考Linux配置SNAT上网,设置snat

1
2
3
4
iptables -I INPUT -i eth2 -j ACCEPT
iptables -I INPUT -i br-ex -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth1 -j MASQUERADE

这里的设置,使10.0.2.0/24网段和10.0.0.0/24网段都可以上网了。实际上,只要配置10.0.2.0/24网段可以上网就可以了,因为这个网段用于配置浮动IP。

2、测试网络
ssh cirros@10.0.0.3

ping 8.8.8.8 -c3

如上图,实例已经可以ping通外网。

5. 书签

Openstack 之 kolla部署外部网络配置

Openstack 之 kolla部署外部网络配置

kolla queens on centos7.4