![cover](https://img-blog.csdnimg.cn/img_convert/0778570e7db84b03a5fc92bea615b826.png)
OpenStack——实现虚拟机与外部网络通信
目前只有一个br-int的Patch端口,并没有端口连接到OpenStack上的外部接口,因此当前OpenStack云平台上的实例无法与外网通信,这里改用网卡配置来将OpenStack主机上的网卡作为一个端口添加到br-ex网桥上(根据自己的网络环境来替换其中的网卡名称、IP地址和DNS服务器等参数值)br-ex是外部网桥,br-int是集成网桥,以下命令可以查看网桥的端口。其中ens33是主机网
操作系统:CentOS7.9
网络连接:NAT模式
OpenStack部署方式:--allinone
目录
1.将OpenStack主机网卡添加到br-ex网桥上
其中ens33是主机网卡,“br”开头的是网桥,以下命令可查看网桥
[root@node-a ~]# ovs-vsctl list-br
br-ex
br-int
br-ex是外部网桥,br-int是集成网桥,以下命令可以查看网桥的端口
[root@node-a ~]# ovs-vsctl list-ports br-ex
patch-provnet-72ad633c-84ad-4053-94dc-b226a1799588-to-br-int
[root@node-a ~]#
目前只有一个br-int的Patch端口,并没有端口连接到OpenStack上的外部接口,因此当前OpenStack云平台上的实例无法与外网通信,这里改用网卡配置来将OpenStack主机上的网卡作为一个端口添加到br-ex网桥上(根据自己的网络环境来替换其中的网卡名称、IP地址和DNS服务器等参数值)
创建与br-ex相关的网络配置文件
对ifcfg-br-ex配置文件进行修改
[root@node-a network-scripts]# vi ifcfg-br-ex
关键修改TYPE,DEVICETYPE,以及NAME、DEVICE的值
TYPE="OVSBridge"
DEVICETYPE=ovs
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="br-ex"
DEVICE="br-ex"
ONBOOT="yes"
IPADDR=192.168.187.128
PREFIX=24
GATEWAY=192.168.187.2
DNS1=114.114.114.114
~
~
对ifcfg-ens33配置文件修改
[root@node-a network-scripts]# vi ifcfg-ens33
关键修改TYPE, 添加最后两行定义
TYPE="OVSPort"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="c69819c0-e818-4bf7-9df1-db90a30fa5cc"
DEVICE="ens33"
ONBOOT="yes"
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
~
~
重启网络
[root@node-a network-scripts]# systemctl restart network
使用ip命令验证配置更改
再次查看br-ex网桥端口
2.调整网络配置
以admin用户登录OpenStack,在“管理员”仪表板下找到“路由”节点,定义了一个名为“route1”的路由器,这是一个虚拟路由器,用于连接外部网络和内部网络,但不符合实际网络环境,所以需要对现有的网络进行重新配置。
(1)清除现有路由器的网关
(2)配置外部网络
从“管理员”仪表盘中打开网络列表,选择“public”网络打开其详情界面
将外部网络现有的子网删除
再创一个同名的子网
(3)调整路由器配置
以demo用户登录OpenStack,打开路由列表
设置网关
编辑路由,更改路由名称
(4)查看网络拓扑图
3.为虚拟机实例分配浮动IP地址
要使外部网络中其他计算机能访问这些实例,就要为该实例分配浮动IP地址
此时已能与外网互通
查看demo与admin账户上路由的接口
4.在linux计算机上通过SSH访问虚拟机实例
(1)将之前创建实例时下载的密钥传到Linux主机上
(2)给密钥添加可执行权限
(3)使用SSH证书登录
ssh -i 私钥文件 <用户名>@<实例IP地址>
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)