我的网络上有一个 Web 管理交换机。它与我所在的主机 PC 一起连接到路由器。我无法通过路由器 ping 通它。
路由器是 Fedora 服务器。
路由器适用的接口有:
enp3s0 wan interface
enp4s0 with static IP 192.168.2.2/24
enp6s0 with static IP 10.2.4.1/24
路由器上的路由表有适用的条目:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.2.2 0.0.0.0 UG 100 0 0 enp4s0
0.0.0.0 10.2.4.1 0.0.0.0 UG 103 0 0 enp6s0
10.2.4.0 0.0.0.0 255.255.255.0 U 103 0 0 enp6s0
192.168.2.0 0.0.0.0 255.255.255.0 U 100 0 0 enp4s0
主机通过以下 IP 直接连接到这些接口:
IP MAC attached if
switch 192.168.2.1 (static) 60:be:b4:13:28:e1 enp4s0
pc 10.2.4.5 (dhcp) 1c:2a:a3:1e:74:df enp6s0
当我从主机 ping 时,会出现超时。因此,我从 enp4s0 上的路由器运行了 tcpdump
sudo tcpdump -i enp4s0 -n
16:18:06.345052 IP 10.2.4.5 > 192.168.2.1: ICMP echo request, id 48, seq 430, length 64
16:18:07.334961 ARP, Request who-has 192.168.2.2 tell 192.168.2.2, length 28
16:18:07.369062 IP 10.2.4.5 > 192.168.2.1: ICMP echo request, id 48, seq 431, length 64
16:18:08.361151 ARP, Request who-has 192.168.2.2 tell 192.168.2.2, length 28
16:18:08.393080 IP 10.2.4.5 > 192.168.2.1: ICMP echo request, id 48, seq 432, length 64
16:18:09.385150 ARP, Request who-has 192.168.2.2 tell 192.168.2.2, length 28
16:18:09.417072 IP 10.2.4.5 > 192.168.2.1: ICMP echo request, id 48, seq 433, length 64
[ ... ]
16:18:17.609124 IP 10.2.4.5 > 192.168.2.1: ICMP echo request, id 48, seq 441, length 64
16:18:18.601152 ARP, Request who-has 192.168.2.1 tell 192.168.2.2, length 28
16:18:18.601366 ARP, Reply 192.168.2.1 is-at 1c:2a:a3:1e:74:df, length 46
16:18:18.633088 IP 10.2.4.5 > 192.168.2.1: ICMP echo request, id 48, seq 442, length 64
可辨别的事实:
- 数据包沿着路由器的 nftables 正向链从 enp6s0 传输到 enp4s0
- 然后交换机询问谁拥有网关 192.168.2.2。但它没有得到任何回应。
- 路由器随后询问谁拥有 192.168.2.1。交换机以其 mac 进行响应。
- 路由器的arp表记录了它。
- 交换机仍然不知道谁拥有 192.168.2.2
路由器适用的 arp 条目
Address HWtype HWaddress Flags Mask Iface
192.168.2.1 ether 1c:2a:a3:1e:74:df C enp4s0
10.2.4.5 ether 04:7c:16:4d:0a:84 C enp6s0
交换机没有响应 ping,而且,也没有响应我管理它的网络请求。当我从浏览器发送网络请求时,我立即收到一堆“请求谁拥有 192.168.2.2”,这表明 http 请求已到达交换机并且知道回复该 IP,但它仍然不知道谁拥有该 IP。它一直在询问。
这里是主机pc适用的arp表条目,显示路由器响应了PC的arp请求,那么为什么不响应交换机呢?
Address HWtype HWaddress Flags Mask Iface
10.2.4.1 ether 60:be:b4:13:28:e3 C enp12s0
这是唯一的 192.168。网络。所有其他接口都以 10 开头。
什么原因导致路由器不回复交换机的 arp 请求,以便我最终可以 ping 并管理它。
在我给出精确的指示之前,OP 需要在上面的帖子中包含路由器和交换机型号。也就是说,我会从这里开始:
拆开网络
ifconfig
使用或等工具ip -a
来确定路由器的默认网关收集的信息
我学习网络时,网络还有分类。请参阅RFC 1918 - 第 3 节和RFC 6761 - 第 6.1 节。我将它们称为分类,尽管现在具有适当子网掩码的网络可以视为无分类。
10.0.0.0
192.168.0.0
选项 1 是最简单的,但会缩小可用的子网,如果 LAN 中的 PC 数量需要 A 类子网,则这不是理想的选择。因此,我建议 OP 将交换机配置为 A 类
建议修复
ip -a
或ifconfig
等验证 IP 地址在192.168.2.x
哪里2<=x<=254
(如果不是,根据 OP 的评论,暂时将 PC 的 IP 地址设置为192.168.2.254
)并且网关被列为192.168.2.1
(如果需要,也可以手动设置),如下面的信息所示,直接取自亚马逊:GoodTop 管理型交换机,以及这张照片:10.2.4.254
10.2.4.1 - 10.2.4.253
10.2.4.1
在交换机中使用 MAC 地址过滤,以便 DHCP 池不会将该地址提供给其他设备PC's --> Managed Switch --> Fedora Router --> ISP modem
选修的
192.168.2.x
),只需将默认网关设置为10.2.4.254
,并保持 DHCP 地址池设置不变。这得益于 NAT(网络地址转换)