当我在 vlan 接口上配置另一个 vlan 子网的 IP 地址时,我可以访问该其他 vlan 子网。但它应该是不可访问的。
例如:
- 在交换机上,端口配置为仅标记有 VLAN ID 500
- 在 Linux 机器上,IP 地址为 192.168.10.30/24 的接口 eth0.500 可以 ping 通子网 192.168.10.0/24 中的主机,但这些主机位于 vlan 3000 中
我不知道我做错了什么。你能帮我解决这个问题吗?
Linux 机器上出现错误:
kernel: received packet on eth0.3000 with own address as source address (addr: f4:03:43:ba:ca:c1 vlan:0)
交换机和 Linux 机上均禁用 STP。
我尝试过的:
- rp_filter=1-无效
- arp_ignore=1 或 2 - 无效果
- arp_filter=1-无效
无论是普通接口、绑定还是桥接,其行为都是相同的。
Switch 上没有错误。
交换机和 Linux 机器上均未设置默认路由。
在 Wireshark 中捕获 eth0 上的流量时,数据包上有一个 vlan 标签 = 500。
谢谢你!
编辑1:Linux机器上的路由表:
192.168.10.0/24 dev eth0.500 proto kernel scope link src 192.168.10.30
编辑2:图表 诊断1
编辑 3:tracepath 和 ping
tracepath 192.168.10.31
1?: [LOCALHOST] pmtu 1500
1: ??? 0.714ms !H
1: ??? 0.516ms !H
Resume: pmtu 1500
ping -c 2 192.168.10.31
PING 192.168.10.31 (192.168.10.31) 56(84) bytes of data.
64 bytes from 192.168.10.31: icmp_seq=1 ttl=64 time=0.230 ms
64 bytes from 192.168.10.31: icmp_seq=2 ttl=64 time=0.197 ms
--- 192.168.10.31 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1059ms
rtt min/avg/max/mdev = 0.197/0.213/0.230/0.016 ms
编辑4: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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether f4:03:43:ba:ca:c1 brd ff:ff:ff:ff:ff:ff
3: eth0.500@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether f4:03:43:ba:ca:c1 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.30/24 scope global eth0.500@eth0
valid_lft forever preferred_lft forever
4: eth0.3000@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether f4:03:43:ba:ca:c1 brd ff:ff:ff:ff:ff:ff