消息关闭
    暂无新消息!
问题1:
 admin用户创建了br-ex的网络可以通外网。使用demo用户登录,创建虚拟路由器,内部网络,虚拟机,创建成功,虚拟机也获取到了IP。
 此时查看网络节点的namespace会有2个,一个是qrouter--xxxx,一个是qdhcp-xxxx。
 请问,为什么是2个namespace呢?router的内网和dhcp服务器的ip都是同一个网段,在br-int桥上,一个namespace应该也可以实现,为什么到2个呢?
 我所理解的namespace是隔离路由、网络、iptables等,类似路由器的vrf。直接把qr-xxx(连接虚拟router内网的口)和tap-xx(连接dhcp服务器的口)划到一个namespace不就可以了?为什么一定要2个namespace?求科普?
 问题2:
 虚拟机创建成功,分配floatIP。使用公网的PC可以ping通虚拟路由器的公网IP,但不能ping通floatIP。内网里面,router和dhcp可以通,但ping不通虚拟机的IP。用vnc登录进去虚拟机,虚拟机可以上公网,可以ping通router的内外网,dhcp的地址,都可以通,求科普?
 
备注:ubuntu1404+J版

1个回答

︿ 2
第一个问题我理解是因为多个子网可以连接到同一个路由上。每个网络是单独的命名空间。这样的话,qr放到哪个网络的命名空间合适呢?再说router本身可以独立存在的,所以单独划分命名空间比较合适。
第二个问题看着像是安全组的问题,可以在计算节点上先用iptables -F清理一下规则,然后把iptables服务停了试试(比较简单粗暴)。如果停了以后就可以通了那就是安全组的问题。需要在安全组中添加对应的icmp规则。另外一个办法就是一点一点的抓包,看是不是linux网桥上能收到包,虚拟机内部收不到包。