在嵌入式 Linux 中使用 VLAN,尽管收到了响应,但 ARP 表中没有任何条目

在嵌入式 Linux 中使用 VLAN,尽管收到了响应,但 ARP 表中没有任何条目

我需要设置 2 个 VLAN,但即使只配置了一个 VLAN(.2),也会出现这个问题,但当我设置另一个 VLANc(.1)时,它似乎工作正常。

问题是 ARP 似乎不起作用,这严重损害了网络的其余部分。当我进一步研究它时 - 我发现对网络上的网关进行 ping 会引发 ARP 请求(这似乎是有道理的,因为 GW 尚未在表中)我看到请求在 Tcpdump 中以正确的 VLAN 标记发出。我进一步看到网关返回的响应告诉 MAC 地址,但 arp 表仍然停留在 arp 表中的“(不完整)”上。我在 GW 之外的同一子网上的另一个端点上遇到了完全相同的事情。

我目前只是使用 ifconfig eth0.2 172.16.110.240 netmask 255.255.255.192 创建 VLAN

/var # ping 172.16.110.241 PING 172.16.110.241 (172.16.110.241): 56 个数据字节

--- 172.16.110.241 ping 统计信息 --- 已发送 2 个数据包,已接收 0 个数据包,数据包丢失率为 100% /var # arp Address HWtype HWaddress Flags Mask Iface 172.16.110.241(未完成) eth0.2 /var # /var # /var # ifconfig eth0 Link encap:Ethernet HWaddr 00:1A:E7:FF:D5:E5
inet addr:10.255.213.229 Bcast:10.255.255.255 Mask:255.0.0.0 inet6 addr: fe80::21a:e7ff:feff:d5e5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:30421 errors:0 discarded:0 overruns:0 frame:0 TX数据包:2645 错误:0 丢弃:0 超限:0 载体:0 碰撞:0 txqueuelen:1000 RX字节:2956061(2.8 MiB)TX字节:1351612(1.2 MiB)

eth0.2 链路封装:以太网 HWaddr 00:1A:E7:FF:D5:E5
inet 地址:172.16.110.240 Bcast:172.16.110.255 掩码:255.255.255.192 inet6 地址:fe80::21a:e7ff:feff:d5e5/64 范围:链路 UP 广播运行多播 MTU:1500 指标:1 RX 数据包:3369 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:1563 错误:0 丢弃:0 超限:0 载波:0 冲突:0 txqueuelen:0 RX 字节:180561(176.3 KiB) TX 字节:72348(70.6 KiB)

lo 链路封装:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0 inet6 地址:::1/128 范围:主机 UP 环回运行 MTU:16436 度量:1 RX 数据包:784 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:784 错误:0 丢弃:0 超限:0 载波:0 冲突:0 txqueuelen:0 RX 字节:274294(267.8 KiB) TX 字节:274294(267.8 KiB)

答案1

好吧 - 对我来说,这是某人在配置的 arptables 中留下的一颗地雷,它会丢弃所有没有发送到我的几个 IP 地址之一的内容。

相关内容