标签: arp

linux路由错误?

一段时间以来,我一直在努力解决这个不容易重现的问题。我使用的是 linux 内核 v3.1.0,有时路由到几个 IP 地址不起作用。似乎发生的事情是内核没有将数据包发送到网关,而是将目标地址视为本地地址,并尝试通过 ARP 获取其 MAC 地址。

比如现在我当前的IP地址是172.16.1.104/24,网关是172.16.1.254:

# ifconfig eth0 eth0      Link encap:Ethernet  HWaddr 00:1B:63:97:FC:DC
          inet addr:172.16.1.104  Bcast:172.16.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:230772 errors:0 dropped:0 overruns:0 frame:0
          TX packets:171013 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:191879370 (182.9 Mb)  TX bytes:47173253 (44.9 Mb)
          Interrupt:17

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.1.254    0.0.0.0         UG    0      0        0 eth0
172.16.1.0      0.0.0.0         255.255.255.0   U     1 …
Run Code Online (Sandbox Code Playgroud)

linux routing arp ip-routing

9
推荐指数
1
解决办法
2433
查看次数

是否可以将内部 IP 地址与交换机端口匹配?

我试图在我们的内部网络上找到一台具有特定 IP 地址的计算机。我已经从 DNS 中识别出计算机名称,但在这种情况下它对我没有帮助。

只是想知道我是否能以某种方式将 IP 绑定到交换机端口,并从那里跟踪它?如果是这样,如何?

networking ethernet ip arp trace

8
推荐指数
2
解决办法
3万
查看次数

为什么我的笔记本电脑向自己发送 ARP 请求?

我刚刚开始学习协议。在研究wireshark中的数据包时,我遇到了我的机器向我自己的IP发送的ARP请求。这是数据包的详细信息:

  No.     Time        Source                Destination           Protocol Info
     15 1.463563    IntelCor_aa:aa:aa     Broadcast             ARP      Who has 192.168.1.34?  Tell 0.0.0.0

Frame 15: 42 bytes on wire (336 bits), 42 bytes captured (336 bits)
    Arrival Time: Jan  7, 2011 18:51:43.886089000 India Standard Time
    Epoch Time: 1294406503.886089000 seconds
    [Time delta from previous captured frame: 0.123389000 seconds]
    [Time delta from previous displayed frame: 0.123389000 seconds]
    [Time since reference or first frame: 1.463563000 seconds]
    Frame Number: 15
    Frame Length: 42 bytes (336 bits)
    Capture Length: 42 bytes …
Run Code Online (Sandbox Code Playgroud)

networking windows-7 wifi arp wireshark

8
推荐指数
2
解决办法
1万
查看次数

当 ARP 请求来自不同的子网时会发生什么?

在以下两种情况下,从 router1 向 router2 发送 ARP Request 包会发生什么?会生成 ARP 回复还是丢弃 ARP 请求数据包?

  1. [router1]Intf1(20.0.0.1/24) ======== (40.0.0.1/24)Intf2[router2]
  2. [router1]Intf1(20.0.0.1/24) ======== (20.0.0.2/8) Intf2[router2]

上面的拓扑在路由器“router1”上的端口“Intf1”通过直接链路(例如,1 Gbps 电缆)连接到另一个路由器“router2”上的端口“Intf2”。

ethernet ip arp icmp

8
推荐指数
2
解决办法
6万
查看次数

从不使用时,STALE arp 条目何时会变为 FAILED?

root@openwrt:~# ip -s -s -4 neigh show dev lan
10.64.42.121 lladdr b8:20:00:00:00:00 used 6387/6341/6313 probes 1 STALE
10.64.42.157 lladdr b8:20:00:00:00:00 used 24/813/19 probes 1 STALE
10.64.42.12  used 29066/30229/29063 probes 6 FAILED
10.64.42.1 lladdr e8:00:00:00:00:00 ref 1 used 10/5/5 probes 1 REACHABLE


root@openwrt:~# cat /proc/sys/net/ipv4/neigh/default/gc_interval 
30

root@openwrt:~# cat /proc/sys/net/ipv4/neigh/default/gc_stale_time
60

root@openwrt:~# cat /proc/sys/net/ipv4/neigh/lan/gc_stale_time
60
Run Code Online (Sandbox Code Playgroud)

局域网中的主机 (b8:20:00:00:00:00) 的 IP 地址为 10.64.42.121。此 IP 现在无效,该主机的 IP 现在为 10.64.42.157(新的 DHCP 租用)。

我试图弄清楚旧的 arp 缓存条目何时将状态更改为 FAILED(假设没有人尝试联系 IP)。

最后一次确认条目是在 6341 秒前(1 小时 45 前)。这大于 60 …

linux arp

8
推荐指数
2
解决办法
2万
查看次数

是否可以使用 proxy-arp 回到同一个界面?

我有一个连接到 Linux 路由器的 WiFi 接入点。路由器本身连接到 Internet。出于多种原因(主要是为了控制安全性和服务质量),我想强制所有用户的流量都经过 Linux 路由器,甚至是用户之间的流量。

为此,我禁用了 AP 中的站对站通信(我使用 D-Link DWL-7200 AP)。以下是我配置 AP 的方法:

ssh admin@accesspoint1
D-Link Access Point wlan1 -> set sta2sta disable
D-Link Access Point wlan1 -> reboot
Run Code Online (Sandbox Code Playgroud)

这工作正常:无线用户无法再相互通信。至少不是直接的。我的目标是强制流量到达路由器并返回。

要做到,我能在Linux的路由器代理ARP:

echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
Run Code Online (Sandbox Code Playgroud)

这是大图。

                  10.0.0.0/8 subnet    
   ____________________|______________________
  /                                           \
  |                                           |

               (sta2sta disabled)
  UserA----------------AP---------------------Router-------------------Internet
10.0.0.55             /                   eth1     eth0
                     /                10.0.0.1     203.0.113.15
                    /        proxy-arp enabled
  UserB____________/
10.0.0.66
Run Code Online (Sandbox Code Playgroud)

如果 UserA ping UserB,我希望会发生以下情况:

  1. 用户 A 尝试 ping 10.0.0.66
  2. 所以用户 A 发送 ARP 广播说“谁有 10.0.0.66?” …

linux routing proxy arp

7
推荐指数
1
解决办法
8168
查看次数

NIC 在 HyperV 2008 R2 上与 Broadcom 合作

我有一个由 3 个主机组成的 HyperV 集群。每台主机都连接到我在以太通道中运行的两台 Nexus 5548 交换机。交换机上的 LACP 和服务器端使用 Broadcom 802.3ad 的 NIC 组合。这为我提供了 2GB 的带宽并提供了容错能力。

我在执行实时迁移时遇到的问题。在实时迁移之前,两个 Nexus 交换机都会在 ARP 表中显示 VM 的 MAC。迁移后,一台交换机显示 VM 的 MAC,另一台显示它移动到的 HyperV 主机的 MAC。

我运行了一个数据包捕获,看到 HyperV 主机发送了一个免费的 ARP,其中包含 VM 的 IP 和主机的 MAC,而不是 VM 的 MAC。发生这种情况时,我会失去第 3 层连接。我必须手动清除交换机中的 ARP 条目或等待大约 7 分钟以使其自行更正。

我环顾四周,人们在使用 Broadcom 处理 NIC 组合时遇到了类似的问题。有没有人看到这个?有什么建议吗?

-------- 编辑在下面添加

我只在使用 Link Aggregation 802.3ad 进行组队时遇到这个问题。Broadcom 团队选项是...

  • 链路聚合 (802.3ad)
  • 智能负载平衡 (TM) 和故障转移
  • SLB(自动回退禁用
  • 通用中继 (FEC/GEC) / 802.3ad-Draft Static

我切换到 Smart Load Balancing 和 VM Live …

nic arp mac-address hyper-v-server-2008-r2 broadcom

7
推荐指数
1
解决办法
6323
查看次数

为什么ARP请求是单播的?

我有一个wireshark 捕获,指示从源到目标的单播 ARP 请求。

Wireshark 截图

根据我的理解,ARP 请求(包括免费 ARP)使用广播。在什么情况下使用单播 ARP 请求?

tcpip arp unicast

7
推荐指数
1
解决办法
1万
查看次数

集群故障转移和奇怪的免费 arp 行为

我遇到了一个奇怪的 Windows 2008R2 集群相关问题,困扰着我。我觉得我已经接近问题所在,但仍然不完全了解正在发生的事情。

我有一个运行在两台 2008R2 服务器上的两节点交换 2007 集群。在“主要”集群节点上运行时,交换集群应用程序工作正常。将群集资源故障转移到辅助节点时会出现此问题。

当将集群故障转移到“辅助”节点时,例如与“主要”节点在同一子网上,故障转移最初工作正常,集群资源继续在新节点上工作几分钟。这意味着接收节点确实会发送一个更新网络上的 arp 表的免费 arp 回复数据包。但是在 x 时间(通常在 5 分钟内)之后,某些东西会再次更新 a​​rp 表,因为集群服务突然不响应 ping。

所以基本上,当它在“主节点”上运行时,我开始对交换集群地址执行 ping 操作。它工作得很好。我将集群资源组故障转移到“辅助节点”,我只丢失了一个可以接受的 ping。群集资源在故障转移后仍会响应一段时间,并且突然 ping 开始超时。

这告诉我 arp 表最初是由辅助节点更新的,但随后(我还没有发现)错误地再次更新它,可能是主节点的 MAC。

为什么会发生这种情况 - 有没有人遇到过同样的问题?

群集未运行 NLB,故障转移回没有问题的主节点后,问题会立即停止。

每个节点都将 NIC 组合 (intel) 与 ALB 结合使用。就我而言,每个节点都在同一个子网上,并且具有网关等输入正确。

编辑:
我想知道它是否可能与网络绑定顺序有关?因为我注意到从节点到节点我能看到的唯一区别是在显示本地 arp 表时。在“主”节点上,arp 表是在作为源的集群地址上生成的。而在“辅助”上,它是从节点自己的网卡生成的。

对此有任何意见吗?

编辑:
好的,这里是连接布局。

集群地址:AB6.208/25 交易所申请地址:AB6.212/25

节点 A:3 个物理网卡。两个使用 intels 组合,地址为 AB6.210/25,称为 public 最后一个用于集群流量,称为 private,地址为 10.0.0.138/24

节点 B:3 个物理网卡。两个使用 intels 绑定,地址为 AB6.211/25,称为 public 最后一个用于集群流量,称为 private,地址为 10.0.0.139/24

每个节点位于连接在一起的独立数据中心。DC1 中的终端交换机为 cisco,DC2 中为 NEXUS 5000/2000。

编辑: …

cluster failover arp windows-server-2008-r2

7
推荐指数
1
解决办法
1万
查看次数

ARP/Mac 地址表

mac地址表和arp表有什么区别?是否说每个交换机只保留一个 arp 缓存,它自己学习将信息转发到另一台主机,并且网络上的每个主机都有自己的 mac 表,该表记录了它想要发送帧的主机的 mac 地址,此信息在广播后存储,这导致主机回复其 mac 地址,如果 20 分钟后未使用,则删除 mac 地址,以避免填满 mac 地址表。

我只是不知道为什么 arp 表 /cache 与 mac 表不同。

任何解释将不胜感激。

networking mac arp

7
推荐指数
1
解决办法
2万
查看次数