设计虚拟网络实现虚拟机实例与外网通信

通过RDO的packstack安装的OpenStack已经默认配置了虚拟网络,但由于没有具体配置,因此不能与外网通信。

Open vSwitch类似Linux bridge,它可以实现对二层网络的抽象,对虚拟网络提供分布式交换机功能,运行在云环境中各种或相同虚拟化平台上的多个vSwitch实现了分布式加购的虚拟交换机

OpenStack虚拟机实例可以分配两类地址,一类是私有ip地址,这个地址可以用ip a看到

另一类是浮动ip地址,这是由Neutron组件提供的服务,不需要dhcp服务,直接在客户端静态设置即可。 

 **** Installation completed successfully ******

Additional information:
 * A new answerfile was created in: /root/packstack-answers-20211108-155737.txt
 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
 * File /root/keystonerc_admin has been created on OpenStack client host 192.168.31.250. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://192.168.31.250/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * The installation log file is available at: /var/tmp/packstack/20211108-155737-AxGfFO/openstack-setup.log
 * The generated manifests are available at: /var/tmp/packstack/20211108-155737-AxGfFO/manifests

1、将网络接口与外部桥接口br-ex进行关联

通过RDO的packstack安装的OpenStack默认使用Neutron组件提供虚拟网络服务,使用虚拟交换机open vSwitch作为网络代理插件

网络代理插件的配置文件位于/etc/neutron/plugins/ml2/ml2_conf.ini

 分析:这里使用的vbox,而作为OpenStack节点centos7的ip地址配置在网络接口ifcfg-enp0s3上,而该接口并没有与主机系统的外部桥接口br-ex产生关联,因此需要通过配置将网络接口与外部桥接口br-ex进行关联

在/etc/sysconfig/network-scripts/所在文件夹新建文件ifcfg-br-ex文件,/etc/sysconfig/network-scripts/ifcfg-br-ex

添加下列内容

DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.31.250
NETNASK=255.255.255.0
GATEWAY=192.168.31.1
DNS1=114.114.114.114
ONBOOT=yes

这里对原先/etc/sysconfig/network-scripts/ifcfg-enp0s3网卡配置文件做个备份

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=afbf019e-74ec-46aa-8e97-16431f4dc906
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.31.250
NETWORK=255.255.255.0
GATEWAY=192.168.31.1
DNS1=144.144.144.144
DNS2=8.8.8.8

08的网卡配置 

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=27da7e8a-30e6-4649-8694-5f7fb1d4369f
DEVICE=enp0s8
ONBOOT=no

修改配置文件/etc/sysconfig/network-scripts/ifcfg-enp0s3为

TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
NAME=enp0s3
UUID=UUID=afbf019e-74ec-46aa-8e97-16431f4dc906
DEVICE=enp0s3
ONBOOT=yes
HWADDR=08:00:27:4F:13:B1

这里注意,后面崩溃重弄的时候到这里复制的时候会缺前几个字母,找了好久才找到问题, 注意对比内容

HWADDR是网卡的MAC地址,在

 然后重启network

systemctl restart network

 查看网络

改完然后就发现无法创建实例了!!!

2、配置虚拟网络

系统默认配置了一个内部网络,一个外部网络,一个路由。

查看路由

1、删除现有路由 

默认配置的路由已经将外部网络设置为网关(必须全删了否则后面会出现问题,而且问题还一直找不到原因),所以将路由全删喽

2、配置外部网络

先删除网络

创建网络

 需要注意的是,需要提前将默认虚拟机open vswitch代理配置文件中/etc/neutron/plugins/ml2/openvswitch_agent.ini的网桥映射设置为

 继续

 dns服务器114.114.114.114

3、调整内部网络

 

 加上一个dns服务器地址

4、配置路由

需要新建一个路由来连接内部网络和外部网络,这个配置以各项目为主,

,在项目的网络新建路由(需要提前将public网络设为外部网络)

 

 点击路由名称进入详细内容

增加接口

设置网关

 查看网络拓扑,可以看到路由器将内外网连接起来

 5、为虚拟机实例分配浮动ip地址

 

 创建端口

注意想要删除网络,需要在路由里面将对应接口删掉,然后再删除网络。

最后发现ssh的配置(/etc/ssh/sshd_config)不大一样,14.04的默认配置是:

PermitRootLogin without-password

改为:

PermitRootLogin yes

然后重启ssh:

restart ssh

 <physical_network>:<bridge> 元组的逗号分隔列表将物理网络名称映射到要用于平面和 VLAN 网络的代理节点特定的 Open vSwitch 网桥名称。 网桥名称的长度不应超过 11。每个网桥都必须存在,并且应该有一个物理网络接口配置为端口。 服务器上配置的所有物理网络都应该映射到每个代理上的适当网桥。 注意:如果您从此映射中删除网桥,请确保将其与集成网桥断开连接,因为代理将不再对其进行管理。 (列表值)

ovs-vsctl show 

定义的外部网络extnet被映射到了OVS网桥,即Openstack实例将通过网桥br-ex访问外部网络,

watch cat /proc/net/dev 查看流量

将网络节点用于访问外部网络的eth0接口加入到br-ex网桥中

neutron-4.jpg

新建第二块网卡,第二个网卡的名称为enp0s8,网上搜索发现更新了,网络接口的命名方式变了

/etc/neutron/plugins/ml2/ml2_conf.ini

“请求超时”说明本地发出ICMP包时没有任何的响应,即路由器直接将此包虑掉

“无法访问目标主机”说明:当前网络下没有这个IP地址可供用户访问

ssh

cd ~/.ssh
chmod 700 passkey.pem
ssh -i ~/.ssh/passkey.pem inOne@192.168.31.254

plugin.ini

l3_agent.ini:

openvswitch_agent.ini:

bridge_mappings

重启配置

# openstack-service restart neutron

# systemctl restart neutron-l3-agent.service neutron-openvswitch-agent.service

默认网络配置

重启 

# openstack-service restart neutron

# systemctl restart neutron-l3-agent.service neutron-openvswitch-agent.service


尝试修改 

网络节点 - 深入理解 OpenStack 网络实现 Neutron - 文江博客

 防火墙基础知识之SNAT详解 | 二丫讲梵

 iptables -t nat -A POSTROUTING -s 192.168.31.0/24 -o br-ex -j SNAT --to-source 192.168.31.249  

glance即image service,是为虚拟机的创建提供镜像的服务

horizon提供web的用户界面

keystone提供身份认证

nova快速自动化创建虚拟机

 参考

OpenStack组网全部知识点

Chapter 8. Troubleshoot Provider Networks Red Hat OpenStack Platform 8 | Red Hat Customer Portal

27.配置openstack多外网br-ex_Michael_XiaoQ的博客-CSDN博客

Open vSwitch的VxLAN隧道网络实验 | SDNLAB | 专注网络创新技术

openstack Archives - ITzGeek

openstack中实例ping外网解决办法_等风来也chen-CSDN博客_openstack实例ping不通外网

OVS使用笔记(四十三)_bob的博客-CSDN博客

OpenStack 节点重启后无法联网的问题【附源码】_范桂飓51cto_51CTO博客

深入理解 Neutron -- OpenStack 网络实现(Openstack Understand Neutron)

一,openstack 命令行管理(br-ex网络设定)_yangfan的博客-CSDN博客

VLAN模式 - linhaifeng - 博客园

Ubuntu下搭建hadoop出现Permission denied (publickey,password)的问题_situliang的博客-CSDN博客

一,openstack 命令行管理(br-ex网络设定)_yangfan的博客-CSDN博客

centos7 packstack部署openstack | 码农家园

OpenStack学习过程中问题汇总---持续更新【附源码】_头发太长l_51CTO博客

OpenStack镜像 处理

Get images — Virtual Machine Image Guide documentation

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪睡的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值