美文网首页
05-OpenStack-定制虚拟网络实现虚拟机连通外网

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

作者: 小巫吞金兽 | 来源:发表于2020-07-27 22:23 被阅读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
    之前创建的虚拟机实例就可以连上外网。

    相关文章

      网友评论

          本文标题:05-OpenStack-定制虚拟网络实现虚拟机连通外网

          本文链接:https://www.haomeiwen.com/subject/xbitrktx.html