虚拟机中安装openstack物理机无法正常访问浮动ip

发表于 2019-06-30  4.37k 次阅读


环境:

宿主机:  windows10

虚拟机:  hyper-v

Openstack版本:  Rocky

provider ip段:  192.168.40.0/24 (物理机虚拟接口)

管理 ip段:  192.168.227.0/24 (物理机虚拟接口)

内网 ip段:  192.168.252.0/24

实例信息

现象描诉:

新增路由后,设置网关为"public"外界无法与public ip"192.168.40.0/24"相互通信

在controller节点上能与public ip通信

在compute节点上"无法"与public ip通信

物理机上"无法"与网关ip通信

controller节点与 public 网关ip

compute节点 与 public 网关ip

定位:

# 以下命令我在controller中运行:
# ip netns list #查看所有网络民命空间名称替换下面代码的spacename
# ip netns exec spacename ifconfig  #查看ip是否跟设置有误!!!这里发现mac与controller中提供者接口(网卡)不一致,注意这里不一致是正常的,但是windows虚拟机环境中是不允许的(这是我后面才想起来的,放到这里或许会合适点))
# ip netns exec spacename ping 192.168.252.4 #ping测与实例是否正常note:192.168.252.4 为实例ip
# ip netns exec spacename ping 192.168.40.32 #compute节点ip 测试是否正常
# ip netns exec spacename ping 192.168.40.11 #controller节点ip(本机) 测试是否正常

测试后发现从网络命名空间出来的都无法与192.168.40.0/24 同段互通

随后进行抓包发现arp无法请求到mac地址,后想起来 vmware,hyper-v限制了mac地址修改(用户修改接口mac后物理机上的虚拟接口就会限制(将不允许虚拟机传出分配外的mac地址数据包))(之前vmware中做linux的链路聚合切换流量到备网卡时 右下角vmware网卡接口会弹出警告无法识别mac地址)

然后我看了下hyper-v的网卡设置发现果然有限制

另开窗口进行ping操作
启用MAC地址欺骗项(默认未勾选将不允许虚拟机传出分配外的mac地址数据包 )

修改controller节点虚拟机的网络设置:

勾选启用mac地址欺骗(默认关闭将不允许虚拟机传出分配外的mac地址数据包)

测试正常:

物理机ping 网关ip

物理机连接实例浮动ip

实例中测试网络是否连通

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

6

scanz个人博客