You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VRF内接口发起的ICMP Echo请求无法收到回复的问题排查求助

VRF内接口发起的ICMP Echo请求无法收到回复的问题排查求助

大家好,我最近碰到一个Linux网络配置的问题,折腾了好久没解决,想请教下各位大佬。

我的环境是一台Linux服务器,有一块物理网卡连接到另一台设备。这块物理网卡上配置了两个VLAN接口:VLAN100和VLAN200,具体配置如下:

  • VLAN100分配了10.10.10.0/31的IP,并且被加入到了名为TEST的VRF中
  • VLAN200分配了10.10.10.1/31的IP,没有关联任何VRF,属于主路由表

连接的另一台设备相当于一个"物理交叉连接器",会把收到的VLAN100的帧转发到VLAN200,VLAN200的帧转发到VLAN100,完全不检查帧的内容。

现在的问题是:当我从10.10.10.0(指定使用TEST这个VRF的源接口)发起ICMP Echo请求到10.10.10.1时,始终收不到回复!

我抓包观察到,VLAN100确实发出了ARP请求,而且这个请求也到达了VLAN200,但VLAN200就是没有返回ARP回复,导致后续的ICMP包根本发不出去。

下面是我的相关配置输出,供大家参考:

查看VLAN100接口信息:

test:~ $ ip addr show eth0.100
269: eth0.100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9100 qdisc noqueue master TEST state UP group default qlen 1000
link/ether 52:b6:07:e5:00:0c brd ff:ff:ff:ff:ff:ff
inet 10.10.10.0/31 scope global eth0.100
valid_lft forever preferred_lft forever

查看VLAN200接口信息:

test:~ $ ip addr show eth0.200
270: eth0.200: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9100 qdisc noqueue state UP group default qlen 1000
link/ether 52:b6:07:e5:00:0c brd ff:ff:ff:ff:ff:ff
inet 10.10.10.1/31 scope global eth0.200
valid_lft forever preferred_lft forever

主路由表的相关路由:

test:~ $ ip route show 10.10.10.0/31
10.10.10.0/31 dev eth0.200 proto kernel scope link src 10.10.10.1

VRF TEST对应的路由表(表200)的相关路由:

test:~ $ ip route show 10.10.10.0/31 table 200
10.10.10.0/31 dev eth0.100 proto kernel scope link src 10.10.10.0

查看VRF状态:

test:~ $ ip -br link show type vrf
TEST            UP             8a:50:09:bc:b5:fa <NOARP,MASTER,UP,LOWER_UP>

我原本的预期是:ARP表中应该存在两条条目,一条在主表对应10.10.10.1,另一条在VRF TEST的ARP表中对应10.10.10.0,而且它们的MAC地址应该是相同的(因为来自同一个物理网卡),但实际情况是这个逻辑根本没生效。

有没有大佬能帮我分析下,我到底哪里配置错了或者忽略了什么细节?

备注:内容来源于stack exchange,提问作者Mohamed Kamal

火山引擎 最新活动