Articles of arp

当目标机器脱机时,Windows 10 arpcaching在尝试失败后陷入困境

将我们的开发团队从7升级到Windows 10之后,我们遇到了ARP高速caching问题,其中机器具有正确的IP-MAC映射高速caching,但是由于在目标机器的电源循环期间连接失败,该types无效。 在Windows 10上,而不是在Windows 7上,目标计算机无法连接到ARPcaching清除。 我可以重现这个问题如下,其中10.10.10.10是正确的IP地址和01:23:45:67:89:AB是目标机器的正确的MAC地址: 从closures的目标机器开始,并通过整个testing进行ping: ping -t 10.10.10.10 Ping正在回复“请求超时”,ARPcaching包含,如预期的那样 10.10.10.10 00:00:00:00:00:00 invalid 开启目标机器。 Ping开始获取答复,并且ARPcaching更新为 10.10.10.10 01:23:45:67:89:AB dynamic 到现在为止还挺好。 closures目标机器。 Ping开始报告“请求超时”,ARPcaching保持不变 10.10.10.10 01:23:45:67:89:AB dynamic 大约40秒后,ping响应一个请求的“Destination host unreachable”,然后返回报告“Request timed out”,ARPcaching变为 10.10.10.10 01:23:45:67:89:AB invalid 打开目标计算机的电源,ping(以及任何其他连接)将不会find它,直到您清除ARPcaching,或者至less删除具有无效types的正确IP-MAC映射的违规项。 考虑到开发环境中的目标机器在开发过程中往往需要电源循环,我该如何防止ARPcaching进入这种状态? 手动操纵ARPcaching是不可持续的,在移植到Windows 10之前没有人报告过这个问题。 Windows 7的function正如人们所期望的那样,也就是说,我们期望的是:ARPcaching经历与上述相同的阶段。 Ping通过在目标机上电之前回答“目标主机不可达”开始,而不是Windows 10的“请求超时”,并且在关机后不断返回到“目标主机不可达”,而不是Windows 10仅报告一次。 当机器启动时,连接立即build立,ARPcaching返回 10.10.10.10 01:23:45:67:89:AB dynamic 无需先清除任何条目。 开发人员的具体设置是通过一个简单的非托pipe8端口千兆交换机连接到几个Beaglebone Blacks(运行Linux的小型ARMembedded式主板)的Windows工作站。 IP地址由保留的DHCP分配,并且每次BeagleBee上电时都能成功地获取地址。 当一台Windows 10计算机有无效ARP条目需要删除时,ARPcaching中没有Beaglebone的其他计算机可以成功连接到目标计算机。

Xennetworking – dom0收到ARP请求但没有可达性

dom0和domU都是Debian 8。 Dom0的networkingconfiguration是: auto xenbr0 iface xenbr0 inet manual bridge_ports eth1 bridge_stp off bridge_waitport 0 bridge_fd 0 auto xenbr0.4 iface xenbr0.4 inet static address 192.168.4.13 broadcast 192.168.4.255 netmask 255.255.255.0 gateway 192.168.4.1 vlan-raw-device xenbr0 在主机上,我还更改了某些内核参数,以允许转发和通过防火墙传递数据包。 # sysctl -p /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.conf.xenbr0.proxy_arp = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 / etc […]

ARP在Linux中的行为

我有一个L3开关。 将交换机的端口1和端口2添加到VLAN 30中,并为其分配IP地址(30.0.0.1)。 Port1和Port2分别连接到Host1和Host2。 主机1和主机2分配IP如下 L3 swtich port1 (VLAN 30) — Host 1 (30.0.0.10) L3 swtich port2 (VLAN 30) — Host 2 (30.0.0.20) 现在我试图从主机1 ping主机2.主机1正在向交换机发送30.0.0.20的ARP请求,在交换机的VLAN 30的Linux中,我可以看到ARP请求,但是我没有看到回复或任何事情,我猜Linux只是丢包。 我的期望是从主机1 ping主机2,有什么我在那里失踪。 我正在捕获接口Vlan30的tcpdump上的数据包,所以我只获取标记的数据包。 我在主机2上看不到任何ARP请求。但是仍然能够从两台主机ping 30.0.0.1。 在我的主机1和2中,我学习的ARP为30.0.0.1,默认的gw为30.0.0.1。 但是当我从主机1(30.0.0.10)为30.0.0.20启动ping时,它正在为30.0.0.20启动ARP。

用两个接口ping相同的子网,直接连接到两个单独的主机

我有一个客户机(Ubuntu 14.04.2 LTS)的configuration,直接连接到两台服务器机器。 服务器机器 – 在同一个子网上 – 不能路由到对方。 数据包不能在客户端的eth1和eth2之间路由(也就是说,客户端不是路由器),并且由于涉及发现行为,路由表不能用serverX IP进行预编程。 下面是一个粗略的图表。 eth0不能路由到子网172.16.37.0/24 ,所以eth0不在此图中。 没有防火墙( iptables和ufw都是干净的哨子)。 客户端server01 + ——————- + + ——————- + | 172.16.37.53 eth1- | ———- | -eth1 172.16.37.11 | | | + ——————- + | | Server02上 | | + ——————- + | 172.16.37.54 eth2- | ———- | -eth1 172.16.37.12 | + —————— […]

如何在Ubuntu上testing10 GB的Intel X520

我得到英特尔X520并连接到PCI-E x16。 该卡被ethtool识别为10 Gbit: # ethtool eth5 Settings for eth5: Supported ports: [ FIBRE ] Supported link modes: 1000baseT/Full 10000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10000baseT/Full Advertised auto-negotiation: Yes Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: external Auto-negotiation: on Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) Link detected: yes […]

快速ARP扫描无地址DAD(重复地址发现)模式

我正在开发检测networking实际状态的系统。 一部分是获取所有的IP地址和它们各自的MAC地址。 现在我正在DAD(重复地址发现)模式中使用arping。 我在我们使用的范围内发送每个可能IP的arping。 如果主机启动,它会响应,我得到它的MAC。 如果主机closures了arping超时。 DAD模式非常棒,因为我不需要在每个范围都有本地IP地址。 另一方面,arping只能处理一个目标,所以需要很长时间才能等待未使用的IP超时(在大多数情况下,有90%的地址未被使用)。 我试过nmap,它有很好的arping模式,可以在2秒内检查整个/ 24范围。 不幸的是,我无法find如何强制它使用DAD模式,并且在本地机器没有IP的范围内失败。 所以我的问题是:是否有可能将Nmap切换到DAD模式,还是有其他工具可以并行发送(和接收)DAD ARP坪? 其他选项就像试图破解nmap使用DAD或编写自己的工具(可能基于arping的代码)。 或者我可以平行运行这些graphics,但是我有点担心产生1000个进程。

我如何在红帽企业Linux上configuration永久的arp条目?

我正在configuration一个Red Hat Linux服务器,它将发送UDP数据包,但从来没有收到ARP响应。 所以需要一个静态的ARP表项。 明显的做法是。 arp -s 10.0.0.1 distant_server 但是,在networking重新启动或重新启动后,这种情况将不会存在 我可以把它放在rc.local中,但不能在ifdown && ifup中生存。 我发现这似乎工作的方式是: 添加一个条目到/ etc / ethers中: 10.0.0.1 distant_server 并创build一个/ sbin / ifup-local: #!/bin/sh arp -f 这感觉真的很黑,还有更好的办法吗?

nmap和arp-scan不一致的IP-MAC结果

我似乎使用nmap或arp-scan从特定的机器获得IP / MAC地址的variables和不一致的结果。 机器有3个接口,这就是它显示的内容: $ uname -a Linux showstore-81 2.6.35.13 #1 SMP PREEMPT Thu Feb 9 12:20:36 PST 2012 i686 GNU/Linux $ LC_ALL=C /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:1b:21:ac:17:19 inet addr:192.168.81.54 Bcast:192.168.81.255 Mask:255.255.255.0 … eth1 Link encap:Ethernet HWaddr 00:25:90:25:d0:4e inet addr:192.168.81.129 Bcast:192.168.81.255 Mask:255.255.255.128 … eth2 Link encap:Ethernet HWaddr 00:25:90:25:d0:4f inet addr:169.254.1.1 Bcast:169.254.255.255 Mask:255.255.0.0 … 所以无论使用什么工具和选项,我都会期望: […]

这是ARP请求的正常行为?

有时我潜入我的networking,经常看到: tcpdump -n arp 17:59:15.754508 ARP, Request who-has 192.168.1.65 tell 192.168.1.212, length 28 17:59:16.754401 ARP, Request who-has 192.168.1.65 tell 192.168.1.212, length 28 17:59:17.754449 ARP, Request who-has 192.168.1.65 tell 192.168.1.212, length 28 17:59:18.754505 ARP, Request who-has 192.168.1.65 tell 192.168.1.212, length 28 17:59:19.754435 ARP, Request who-has 192.168.1.65 tell 192.168.1.212, length 28 17:59:20.754422 ARP, Request who-has 192.168.1.65 tell […]

默认的ARP高速caching超时

我没有find如何检查和更改Linux上的默认ARP高速caching超时。 我在内核3.x中使用debian(但我认为它与旧内核相同)