多合一Openstack实例网络无法与LAN网络通信-外部VM ping正常-VM外部/ Internet ping正常

问题描述

我只完成了一个完整的openstack packstack部署。我只是遵循认部署,而不编辑/修改任何内容。我可以使用认的公用网络(172.24.4.0/24)或使用创建的专用网络(10.0.0.0/24)创建测试实例。因此,现在我该如何将172.24.4.0/24更改为自己的LAN子网(192.168.0.0/24),以便可以远程访问LAN中的每个实例。

我是否需要重新部署一切,以及如何将子网添加到openstack安装中以进行LAN访问。请帮忙。

顺便说一句,主机ifconfig未列出网络172.24.4.0/24 ..因此,我认为它是一个独立/隔离的网络...这就是为什么VM实例无法与LAN通信的原因。fyi我的VM enp0s3正在使用192.168.0.18(Lan IP)

谢谢


按照建议,我重新安装centos并部署干净的openstack。 我创建了答案文件并在下面进行编辑

CONfig_NEUTRON_L3_EXT_BRIDGE=br-ex
CONfig_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan
CONfig_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONfig_NEUTRON_OVS_BRIDGE_IFACES=br-ex:enp0s3
CONfig_NEUTRON_OVS_BRIDGES_COmpuTE=br-ex
CONfig_PROVISION_DEMO=n

部署成功并完成。我比

  1. 创建公共外部网络(public-network)
  2. 在此外部网络中创建一个子网(192.168.0.0/24和池110-120)
  3. 创建专用网络
  4. 创建路由器
  5. 将私有和公共连接到路由器。
  6. 创建浮动IP(使用公共网络)
  7. 使用私有网络创建新实例并附加浮动IP
  8. 允许icmp政策

现在... 从我的PC上,我可以ping新实例vm,但是从vm instance上,我无法ping pc和lan gw ...以及Internet ...

下面的IP地址输出

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNowN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <broADCAST,MULTICAST,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovs-system state UP group default qlen 1000
    link/ether 08:00:27:98:9b:a3 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a00:27ff:fe98:9ba3/64 scope link
       valid_lft forever preferred_lft forever
5: ovs-system: <broADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 8a:17:8b:e5:dc:c2 brd ff:ff:ff:ff:ff:ff
6: br-ex: <broADCAST,LOWER_UP> mtu 1500 qdisc noqueue state UNKNowN group default qlen 1000
    link/ether 08:00:27:98:9b:a3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.121/24 brd 192.168.0.255 scope global br-ex
       valid_lft forever preferred_lft forever
    inet6 2001:e68:5435:d135:a00:27ff:fe98:9ba3/64 scope global mngtmpaddr dynamic
       valid_lft 86399sec preferred_lft 86399sec
    inet6 fe80::a00:27ff:fe98:9ba3/64 scope link
       valid_lft forever preferred_lft forever
7: br-int: <broADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
    link/ether 32:ff:0f:26:18:43 brd ff:ff:ff:ff:ff:ff
8: br-tun: <broADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether d6:52:08:a9:68:4f brd ff:ff:ff:ff:ff:ff
29: qbr1f637f14-9c: <broADCAST,LOWER_UP> mtu 1450 qdisc noqueue state UP group default qlen 1000
    link/ether 42:95:e8:c0:a3:07 brd ff:ff:ff:ff:ff:ff
30: qvo1f637f14-9c@qvb1f637f14-9c: <broADCAST,PROMISC,LOWER_UP> mtu 1450 qdisc noqueue master ovs-system state UP group default qlen 1000
    link/ether 6e:2e:07:8d:79:86 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::6c2e:7ff:fe8d:7986/64 scope link
       valid_lft forever preferred_lft forever
31: qvb1f637f14-9c@qvo1f637f14-9c: <broADCAST,LOWER_UP> mtu 1450 qdisc noqueue master qbr1f637f14-9c state UP group default qlen 1000
    link/ether 42:95:e8:c0:a3:07 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::4095:e8ff:fec0:a307/64 scope link
       valid_lft forever preferred_lft forever
32: tap1f637f14-9c: <broADCAST,LOWER_UP> mtu 1450 qdisc pfifo_fast master qbr1f637f14-9c state UNKNowN group default qlen 1000
    link/ether fe:16:3e:05:2d:50 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc16:3eff:fe05:2d50/64 scope link
       valid_lft forever preferred_lft forever

尝试从qrouter和qdhcp ping 192.168.0.1(LAN GW)失败,ip netns

qrouter-f6967bba-986e-4bb3-838e-d035a684e2c4 (id: 2)
qdhcp-dbd713cd-1af4-4e2c-9c57-d8a675a10608 (id: 1)
qdhcp-fa6fb1d6-b65e-4eb2-a4a4-5552fde8bb08 (id: 0)

sudo ip netns exec qrouter-f6967bba-986e-4bb3-838e-d035a684e2c4 ip route
default via 192.168.0.1 dev qg-0ba7da31-7f
10.0.0.0/24 dev qr-7e6f9436-40 proto kernel scope link src 10.0.0.1
192.168.0.0/24 dev qg-0ba7da31-7f proto kernel scope link src 192.168.0.221

我什至尝试使用public-ip(192.168.0.226)旋转新的虚拟机,我的主机可以ping通此VM,但是该虚拟机无法ping通我的主机和互联网...与使用浮动ip时一样。

基于网络映像,VM实例可以ping通到路由器gw 192.168.0.221,但无法连接到我的lan路由器/主机PC和Internet。

enter image description here


更新10/09

ip netns list
qrouter-f6967bba-986e-4bb3-838e-d035a684e2c4 (id: 2)
qdhcp-dbd713cd-1af4-4e2c-9c57-d8a675a10608 (id: 1)
qdhcp-fa6fb1d6-b65e-4eb2-a4a4-5552fde8bb08 (id: 0)
[root@myospackanswer ~(keystone_admin)]# ip netns exec qrouter-f6967bba-986e-4bb3-838e-d035a684e2c4 arp -an
? (192.168.0.211) at <incomplete> on qg-0ba7da31-7f 
? (192.168.0.227) at fa:16:3e:ed:19:81 [ether] on qg-0ba7da31-7f (Instance IP)
? (192.168.0.160) at d4:d2:52:73:de:80 [ether] on qg-0ba7da31-7f (host pc IP)
? (192.168.0.1) at 80:26:89:b2:98:50 [ether] on qg-0ba7da31-7f (home router GW)
? (10.0.0.4) at fa:16:3e:01:63:42 [ether] on qr-7e6f9436-40 (private subnet)

ip r
default via 192.168.0.1 dev br-ex
169.254.0.0/16 dev enp0s3 scope link metric 1002
169.254.0.0/16 dev br-ex scope link metric 1006
192.168.0.0/24 dev br-ex proto kernel scope link src 192.168.0.121

Mysetup Windows10--VirtualBox(bridge)-HostCentos--Openstack 无线网络。 混杂模式VirtualBox(全部)

我测试了不同的openstack版本和全新安装的OS,所有问题均相同,无法从VM实例访问LAN / Internet。如果有人像我一样面临同样的问题,请分享您的解决方案。谢谢。

仅供分享,我正在vmware上进行部署,问题已解决。不确定是否由于virtualBox导致网络问题。也许有人可以分享他们在virtualBox上部署openstack的经验,而不会遇到这个问题(VM无法ping通外部/互联网)

解决方法

public实际上是一个隔离的网络,默认情况下仅在Packstack主机上存在。但是,您应该看到br-ex桥。也许ifconfig不支持Openvswitch桥接器;改用ip address

要将云连接到现有网络,请尝试Neutron with existing external network(此页面的链接位于Packstack installation page的结尾)。

不幸的是,您将不得不重新部署云。实际上,我将从头开始,即再次安装Centos。

,

我遇到了完全相同的问题。这也是一个多合一的packstack和queens版本。直到几周前,它的工作情况还不错。无法回忆起或在历史文件中找到指向我所做更改的任何内容。

由于我已经部署了很多堆栈,因此花了太多时间试图解决此问题。

无法从我的qrouter名称空间ping到我的家庭路由器。 因此,我之所以无法从外部到达我的实例,是因为他们找不到回头路。主机可以到达实例,实例可以到达主机。

qrouter的路由表看起来不错。

,

@chenoi如前所述,通过vmware部署Packstack时,该问题已解决。 目前,我与您有类似的问题

Public= 192.168.100.0/24
Private= 10.5.5.0/24Compute node = 198.168.100.180
Instance = 192.168.100.200/10.5.5.73
qRouter = 192.168.100.186/10.5.5.1
Other machine = 192.168.100.71

计算节点(CentOS)-> qRouter /实例(通过浮动IP)确定

qRouter->计算节点(CentOS)(通过公用网络)确定

qRouter->实例(浮动IP和专用网络)确定

实例-> qRouter(公共/专用网络)确定

实例->计算节点(CentOS)(通过公共网络)确定

同时

qRouter->其他计算机(在同一公共网络中)无法访问

实例->其他计算机(在同一公共网络中)无法访问

另一台计算机(在同一公共网络中)-> qRouter / Instance(通过公共网络)无法访问

我不确定我的问题是否与您有关。但是只是想尝试一下。

PS。我的Compute节点正在以混杂模式运行ESXI7,但是我找不到将NIC更改为桥接模式的位置。

谢谢。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...