OpenStack虚拟机无法连接(ping通)外部网络问题排查
1、应用场景说明在OpenStack上部署了四台虚拟机,这四台虚拟机作为K8S集群的node部署K8S需要访问外部镜像仓库,所以虚拟机需要访问OpenStack集群外的网络在 OpenStack Train Magnum部署Kubernetes(2)–使用OpenStack界面部署虚拟机这篇博文中,虚拟机可以访问OpenStack宿主机,但是无法透过宿主机访问外部网络正常情况下,需要br-...
·
1、应用场景说明
在OpenStack上部署了四台虚拟机,这四台虚拟机作为K8S集群的node
部署K8S需要访问外部镜像仓库,所以虚拟机需要访问OpenStack集群外的网络
在 OpenStack Train Magnum部署Kubernetes(2)–使用OpenStack界面部署虚拟机这篇博文中,虚拟机可以访问OpenStack宿主机,但是无法透过宿主机访问外部网络
正常情况下,需要br-ex直接连到外部网络
但是,因为宿主机节点只有一个网口能连外部网络,且这个网口需要用来做远程访问,不能挂到br-ex桥上
所以需要在宿主机上配置路由转发规则
2、配置路由转发规则
2.1、开启ip转发
# echo "1">/proc/sys/net/ipv4/ip_forward
2.2、增加路由转发规则
# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens3f0 -j MASQUERADE
其中:192.168.100.0/24为OpenStack浮动ip CIDR
2.3、删除的reject规则
# iptables -nL --line-numbers
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
带有reject-with icmp-host-prohibited信息的规则需要删除
# iptables -D FORWARD 1
其中:1为规则编号
注:如果还有其他这样的规则一并删除
经过这些配置后,虚拟机就可以访问外部网络了
3、问题
3.1、从宿主机ping不通虚拟机
可能原因是:虚拟机没有从neutron要到地址
解决:vnc登录虚拟机,执行dhclient
3.2、虚拟机ping不通外部网络
iptables规则已经按步骤2配置好,虚拟机还是ping不通外部网络
可能原因是:br-ex等网桥处于down状态
解决:
ip link set br-ex up
ip link set br-int up
ip link set ovs-system up
更多推荐
已为社区贡献22条内容
所有评论(0)