Назад | Перейти на главную страницу

Как транслировать обновление ARP всем соседям в Linux?

Некоторые клиенты в подсети кэшировали IP со старым MAC-адресом, я хочу, чтобы они обновили новое значение, выполнив широковещательную передачу ARP, возможно ли это в Linux?

Да, это называется «Незапрашиваемый ARP» или «Бесплатный ARP». Проверить справочная страница для арпинга для получения дополнительной информации, но синтаксис выглядит примерно так:

arping -U 192.168.1.101

Если вы подделываете адрес, вам может потребоваться сначала запустить это:

echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

Наконец, из-за возможности спуфинга отправка незапрашиваемых пакетов ARP иногда считается «враждебным» действием и может игнорироваться или может привести к блокировке некоторыми сторонними межсетевыми экранами.

То, что вы ищете, называется "Бесплатный ARP"и может быть выполнено с помощью" arping ". Если ваш IP-адрес 10.0.0.1 на eth0, вы должны использовать эту команду:

arping -A -I eth0 10.0.0.1

Вы можете проверить, что ARP отправляется, используя "tcpdump" во время работы "arping", в этом случае я смотрю "wlan0":

laptop:~$ sudo tcpdump -lni wlan0 arp    
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
12:14:11.219936 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:12.220119 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
12:14:13.220288 ARP, Reply 172.16.42.161 is-at a4:77:03:d2:9b:c4, length 28
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
laptop:~$ 

Это не обязательно. Например: когда вы изменили IP-адрес, компьютер должен был сделать это автоматически. Если clietns жестко запрограммированы, широковещательная передача не изменит переопределение кода.

Я занимаюсь Этим около 20 лет, и за все это время у меня НИКОГДА (!) Не было такого без неисправного оборудования.