AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 790204
Accepted
FigureOfCode
FigureOfCode
Asked: 2025-01-27 12:55:02 +0800 CST2025-01-27 12:55:02 +0800 CST 2025-01-27 12:55:02 +0800 CST

如何让路由器响应来自交换机的 ARP 请求,以便我可以管理它

  • 772

我的网络上有一个 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 并管理它。

ping
  • 1 1 个回答
  • 50 Views

1 个回答

  • Voted
  1. Best Answer
    eyoung100
    2025-01-28T04:20:02+08:002025-01-28T04:20:02+08:00

    在我给出精确的指示之前,OP 需要在上面的帖子中包含路由器和交换机型号。也就是说,我会从这里开始:

    拆开网络

    1. 关闭网络上所有设备的电源。
    2. 断开所有以太网电缆。
    3. 断开路由器上的 WAN 端口与 ISP 调制解调器的连接。
    4. 仅将路由器连接到 PC。
      • ifconfig使用或等工具ip -a来确定路由器的默认网关
    5. 仅连接管理型交换机(断开路由器)重复步骤 4。
      • 此处的网关将是管理型交换机配置界面
    6. 记下两个网关地址

    收集的信息

    我学习网络时,网络还有分类。请参阅RFC 1918 - 第 3 节和RFC 6761 - 第 6.1 节。我将它们称为分类,尽管现在具有适当子网掩码的网络可以视为无分类。

    1. 我从所有 IP 地址收集到以下信息:
      • 您已将路由器的操作系统 (Fedora) DHCP 服务器配置为在 A 类地址空间中分配地址 -10.0.0.0
      • 您购买了可分配 C 类地址空间地址的管理型交换机 -192.168.0.0
    2. 选择——我们可以:
      • 配置 Fedora 路由器以分发 C 类地址空间中的地址或:
      • 配置交换机以分发 A 类地址空间中的地址。

    选项 1 是最简单的,但会缩小可用的子网,如果 LAN 中的 PC 数量需要 A 类子网,则这不是理想的选择。因此,我建议 OP 将交换机配置为 A 类

    建议修复

    1. 关闭 ISP 调制解调器的电源。
    2. 关闭 Fedora 路由器
    3. 关闭所有电脑,只留下一台
    4. 打开交换机电源,等待 1 分钟,但不要插入以太网电缆(参见步骤 6)。
    5. 按照步骤3登录PC。
      • 使用首选网络工具禁用 PC 上除 1 个以太网端口之外的所有端口。
      • 使用首选网络工具将地址分配设置为仅 DHCP。
    6. 将以太网电缆插入交换机的端口 1,另一端插入 PC。
    7. 使用ip -a或ifconfig等验证 IP 地址在192.168.2.x哪里2<=x<=254(如果不是,根据 OP 的评论,暂时将 PC 的 IP 地址设置为192.168.2.254)并且网关被列为192.168.2.1(如果需要,也可以手动设置),如下面的信息所示,直接取自亚马逊:GoodTop 管理型交换机,以及这张照片:

    管理型交换机设置页面和网关

    1. 从这里导航到以下设置(不幸的是我无法告诉您它们在哪里,因为每个设置都不同)。
      • 由于这是一台托管交换机,因此您应该能够将默认网关 IP 设置为 A 类地址空间中的某个地址。就我个人而言,我会使用10.2.4.254
      • 设置DHCP地址池范围10.2.4.1 - 10.2.4.253
        • 找到 Fedora 路由器的 MAC 地址,用于与交换机通信的卡。保留10.2.4.1在交换机中使用 MAC 地址过滤,以便 DHCP 池不会将该地址提供给其他设备
    2. 按以下顺序插入并启动设备: PC's --> Managed Switch --> Fedora Router --> ISP modem

    选修的

    1. 如果您希望 DHCP 池仅分配 C 类地址(192.168.2.x),只需将默认网关设置为10.2.4.254,并保持 DHCP 地址池设置不变。这得益于 NAT(网络地址转换)
    • 0

相关问题

  • ping 是否验证 icmp 校验和?

  • ping Raspbian 拉伸似乎忽略了 -w 选项

  • 如何在 Linux 中一直禁用 Ping 响应(ICMP 回显)?

  • ping:只显示结果

  • 为什么 ping 解析到与 traceroute 不同的地址?和猞猁?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve