设计虚拟网络实现虚拟机实例与外网通信
通过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网桥中
新建第二块网卡,第二个网卡的名称为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 - 文江博客
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中实例ping外网解决办法_等风来也chen-CSDN博客_openstack实例ping不通外网
OpenStack 节点重启后无法联网的问题【附源码】_范桂飓51cto_51CTO博客
深入理解 Neutron -- OpenStack 网络实现(Openstack Understand Neutron)
一,openstack 命令行管理(br-ex网络设定)_yangfan的博客-CSDN博客
Ubuntu下搭建hadoop出现Permission denied (publickey,password)的问题_situliang的博客-CSDN博客
一,openstack 命令行管理(br-ex网络设定)_yangfan的博客-CSDN博客
centos7 packstack部署openstack | 码农家园
OpenStack学习过程中问题汇总---持续更新【附源码】_头发太长l_51CTO博客
OpenStack镜像 处理