05-OpenStack-定制虚拟网络实现虚拟机连通外网

2020-07-27  本文已影响0人  小巫吞金兽

在虚拟化环境中,多个虚拟机之间需要通信,除了使用传统的linux网桥和VLAN虚拟局域网,还可以用虚拟交换机openvswitch,虚拟交换机openvswitch可支持二层交换,还支持标准的管理接口,如NetFlow、SPAN、LACP、802.lag等。
通过RDO packstack安装的OpenStack默认的Neutron组件提供虚拟网络服务,使用虚拟交换机openvswitch作为网络代理插件。
查看网络代理插件配置
[root@openstack ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers=geneve,flat
tenant_network_types=geneve
mechanism_drivers=ovn
path_mtu=0
extension_drivers=port_security,qos
通过查看网络代理插件配置可知,采用的是虚拟交换机openvswitch,而OpenStack控制节点上主机的IP地址配置在网络接口ens33上,而该接口并未与主机系统的外部桥接口br-ex产生关联,因此需要通过配置将网络接口与外部桥接口br-ex进行关联。
[root@openstack ~]# cd /etc/sysconfig/network-scripts/
[root@openstack network-scripts]# vim ifcfg-br-ex 创建外部桥接接口br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.136.129 #本机之前ens33 的ip地址
NETMASK=255.255.255.0
GATEWAY=192.168.136.2 #网关可以利用route -n 查看
DNS1=114.114.114.114
ONBOOT=yes
[root@openstack network-scripts]# vim ifcfg-ens33 #修改原来ens33的配置
DEVICE=ens33
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
ONBOOT=yes
HWADDR=00:0c:29:82:0e:68 #ens33的 MAC地址 通过ifconfig可查看
注意:修改ens33配置之前,应先拷贝,以防配置错误,原来的ip可以用
[root@openstack network-scripts]# systemctl restart network #重启网络
[root@openstack network-scripts]# ifconfig #查看网络连接状态
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.136.129 netmask 255.255.255.0 broadcast 192.168.136.255
inet6 fe80::78e8:abff:fedf:c245 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:82:0e:68 txqueuelen 1000 (Ethernet)
RX packets 1146 bytes 216015 (210.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1235 bytes 133063 (129.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::20c:29ff:fe82:e68 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:82:0e:68 txqueuelen 1000 (Ethernet)
RX packets 1171 bytes 234601 (229.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1274 bytes 143054 (139.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
到此为止已完成定制虚拟网络


在OpenStack dashbroad上配置虚拟网络
普通用户只能查看属于自己项目的网络,默认是没有权限管理外部网络的,云管理员用户可以查看所有的网络配置。
以admin管理员登陆

image.png
删除现有的路由
配置外部网络,先把原先的public删除,再创建新的public
image.png
image.png
image.png
image.png
调整内部网络
image.png
image.png
配置路由
image.png
image.png
为虚拟机分配浮动ip地址
image.png
使用ssh访问虚拟机实例
[root@openstack ~]# cd Downloads/
[root@openstack Downloads]# cp demo-key.pem ~/.ssh #将密钥对复制到.ssh子目录中
[root@openstack Downloads]# cd ~/.ssh
[root@openstack .ssh]# ls
authorized_keys demo-key.pem id_rsa id_rsa.pub
[root@openstack .ssh]# chmod 700 demo-key.pem #修改秘钥文件的访问权限
[root@openstack .ssh]# ssh -i ~/.ssh/demo-key.pem cirros@192.168.136.148 #ssh访问
The authenticity of host '192.168.136.148 (192.168.136.148)' can't be established.
RSA key fingerprint is SHA256:14+6o+qAsFM77iSz/B7OBylDs+Mwa3TL90DnTugfKqE.
RSA key fingerprint is MD5:f0:ed:de:1a:0c:50:06:4c:0b:8c:fd:15:92:8f:ae:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.136.148' (RSA) to the list of known hosts.
$ ping www.baidu.com
PING www.baidu.com (61.135.169.125): 56 data bytes
64 bytes from 61.135.169.125: seq=0 ttl=127 time=6.024 ms
64 bytes from 61.135.169.125: seq=1 ttl=127 time=5.304 ms
64 bytes from 61.135.169.125: seq=2 ttl=127 time=6.316 ms
之前创建的虚拟机实例就可以连上外网。
上一篇下一篇

猜你喜欢

热点阅读