前言
紧接着《Ubuntu16使用Kolla安装OpenStack》,假设已经使用kolla安装好了openstack,本文我们来研究一下怎样访问实例和怎样配置网络。
访问实例
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、登录实例demo1ip netns exec qrouter-6e5d8c97-3f9c-4ce9-a9b4-580f2f38e0f3 ssh cirros@10.0.0.3
直接访问实例
上面的登录方式,比较麻烦,因为要指定命名空间。下面我们来配置一下,使得不指定命名空间也可以访问实例。
1、在/etc/network/interfaces中添加配置:
1 | auto br-ex |
2、启用br-exifup br-ex
3、测试连接
此时,可以ping通网关10.0.2.158,ping不通实例10.0.0.3。
4、解决方法一,添加路由
1 | route add -net 10.0.0.0/24 gw 10.0.2.158 dev br-ex |
5、解决方法二,给demo1实例分配浮动IP
1 | source /etc/kolla/admin-openrc.sh |
外网配置
在实例中,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 | iptables -I INPUT -i eth2 -j ACCEPT |
这里的设置,使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通外网。