物理网卡移到其他命名空间(linux network namespace)为啥就不能接收数据了?

发布于 2022-09-12 02:40:24 字数 745 浏览 28 评论 0

一个linux机器,有多个物理网卡。
想用来测试二层交换机的联通性。
将网卡1的 ip 地址设置为 110.0.0.11/24
用 ip netns 创建的命名空间 ns1
将网卡2 移到到命名空间 ns1,并设置ip 地址为 110.0.0.12/24
两个网卡都用网线连接到交换机。

两个网卡无法相互ping通。

经过 tcpdump 抓包,发现:
网卡2 在 ns1 发出的 arp 报文能够被 网卡1 接收并回应。
网卡1 发出的 arp 报文,在网卡2上则没有收到。(在网卡2上能够监听到自己发出的 arp 报文,监听不到回应)
这说明是网卡2没收到数据。

手动设置 arp 后,发现:
网卡2 在 ns1 发出的 ICMP 报文能够被 网卡1 接收并回应。
网卡1 发出的 ICMP 报文,在网卡2上则没有收到。
再次说明是网卡2没收到数据。

将连接网卡2和交换机端口的网线从网卡2拔下来,然后插入到另一个服务器的网卡3,并设置并设置网卡3 的 ip 地址为 110.0.0.13/24。
网卡1和网卡3能够正常ping通。
这说明交换机及相关端口没有问题,确实是网卡2没收到数据。

将网卡2移到主命名空间后,能够与另一个服务器的网卡3通信。
将网卡1移到命名空间ns1后,无法与另一个服务器的网卡3通信。
这说明网卡1、网卡2接收数据没问题,确实是命名空间造成的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如梦初醒的夏天 2022-09-19 02:40:24

检查 ns1 的防火墙设置,以及 /etc/resolv.conf

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文