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
    • 最新
    • 标签
主页 / server / 问题 / 55937
Accepted
Peter Sankauskas
Peter Sankauskas
Asked: 2009-08-19 21:15:29 +0800 CST2009-08-19 21:15:29 +0800 CST 2009-08-19 21:15:29 +0800 CST

Linux 上的网络路由问题

  • 772

我希望那里的人能够看到这个并让我知道我错过了什么。我有 4 台机器,出于某种原因,其中只有 1 台可以通过它们的私有 IP 地址(在 eth1 上)与另外 3 台通信。

这4台机器是:

    mach01 10.176.193.17
    马赫02 10.176.193.92
    马赫03 10.176.193.27
    马赫04 10.176.195.9

所有的机器都是 Debian lenny。从mach02 可以ping 其他3 台机器没问题,从其他机器可以ping 通mach02。但是,从 mach01、mach03 和 mach04 我只能 ping mach02。

所有机器上“iptables --list”的结果是:

    链输入(策略接受)
    目标 prot opt 源目标

    Chain FORWARD(政策接受)
    目标 prot opt 源目标

    链输出(策略接受)
    目标 prot opt 源目标

所以我不相信有防火墙问题。所有机器上 eth1 的路由表是:

    10.176.192.0 * 255.255.224.0 U 0 0 0 eth1
    10.191.192.0 10.176.192.1 255.255.192.0 UG 0 0 0 eth1
    10.176.0.0 10.176.192.1 255.248.0.0 UG 0 0 0 eth1

所以看起来也不错。由于某种原因,从 mach03 到 mach02 以外的任何地方的 ARP 请求都失败了,对于其他机器也是如此。

    mach03$ arping -c 1 -I eth1 10.176.193.17
    ARPING 10.176.193.17

    --- 10.176.193.17 统计 ---
    发送 1 个数据包,接收 0 个数据包,100% 未应答

我看不出 ARP 会像这样失败的任何原因,并且已经没有想法和地方可以查看。在网络故障排除方面有更多经验的其他人有什么想法吗?

谢谢

编辑

尝试从 mach03 ping mach01 后,ARP 缓存中出现以下内容:

    $ arp -a
    ? (10.176.193.17) 在 eth1 上的 <incomplete>
    ? (67.23.45.1) 在 00:00:0C:07:AC:01 [ether] 在 eth0

反之亦然(从 mach03 到 mach01):

    ? (10.176.193.92) 在 40:40:FA:77:D7:94 [ether] 在 eth1
    ? (10.176.193.27) 在 eth1 上的 <incomplete>
    ? (67.23.45.1) 在 00:00:0C:07:AC:01 [ether] 在 eth0

以及有关 eth1 的更多详细信息:

    $ ip addr 显示 dev eth1
    3: eth1: mtu 1500 qdisc pfifo_fast 状态 UNKNOWN qlen 1000
        链接/以太 40:40:16:e0:f3:dd brd ff:ff:ff:ff:ff:ff
        inet 10.176.193.17/19 brd 10.176.223.255 范围全局 eth1
        inet6 fe80::4240:16ff:fee0:f3dd/64 范围链接
           valid_lft 永远首选_lft 永远
linux
  • 6 6 个回答
  • 9748 Views

6 个回答

  • Voted
  1. Neobyte
    2009-08-19T21:52:42+08:002009-08-19T21:52:42+08:00

    好吧,您已经打折了防火墙,所以...

    以我极其有限的网络知识,我能想到的唯一事情是:

    1. mach01/03/04 上的广播地址错误。
    2. 路由顺序混乱 - 在上面的示例中,第 3 个条目与第 1 个条目的范围重叠。所有机器上路由条目的顺序是否相同?也许有些机器在错误的网络上进行arp-ing。

    'arping' 是否从 01/03/04 到 02 工作,或者他们是否根据来自 02 的传入广播数据包更新其 arp 缓存?

    • 3
  2. radius
    2009-08-19T21:31:41+08:002009-08-19T21:31:41+08:00

    有点奇怪,一开始我会尝试在 mach01、mach02 和 mach03 上运行 tcpdump,以查看当您尝试 ping mach01 时,mach01 和 mach02 是否从 mach03 获取 ARP 请求,如果它正在回复(对于 mach03),等等
    。你知道主机之间是否可以有透明防火墙?这可以解释你所看到的。
    什么是网络拓扑?主机之间有很多切换还是只有一个?什么样的开关?

    • 1
  3. gbarry
    2009-08-19T23:16:57+08:002009-08-19T23:16:57+08:00

    您是复制/粘贴此信息,还是尝试输入?您的网络中有“193”,除了一台机器显示 195。然后您在路由表中显示 192。

    • 1
  4. Philip Reynolds
    2009-08-20T01:08:37+08:002009-08-20T01:08:37+08:00

    首先,挑两台不能互相通信的机器,先排除故障。从无法与另一个对话的两个中选择一个,我们将使用那个。

    您的路由表看起来很奇怪,您为两条路由设置了网关标志,其中第二条与您的原始网络路由重叠。您是否出于某种原因设置了静态路由?

    首先,刷新您的路由表:

    # ip route flush table all
    

    其次,只添加回 LAN 子网的路由

    # ip route add 10.176.192.0/19 dev eth0
    

    那些机器仍然无法接触吗?

    如果这不起作用,请粘贴输出

    # ip addr
    # brctl show
    

    我的猜测是某些 VPN 软件/虚拟化软件/您或同事错误地修改了您的路由。

    • 1
  5. Murali Suriar
    2009-08-20T05:30:36+08:002009-08-20T05:30:36+08:00

    请问您能粘贴其中一台主机的完整主机路由表吗?另一个接口可能有更具体的路由。

    另外,请您在一次失败的“arping”尝试后立即发布“arp -a”的输出吗?这应该会显示您尝试在 [eth1] 上 arping 的 IP 地址的不完整条目,并将确认您的主机路由配置正确。

    • 0
  6. Best Answer
    Peter Sankauskas
    2009-08-20T13:22:26+08:002009-08-20T13:22:26+08:00

    事实证明,我发现了 Rackspace Cloud Server 的网络问题。该问题已升级并已得到解决。

    我要感谢所有回复的人。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve