Некоторые клиенты в подсети кэшировали 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 лет, и за все это время у меня НИКОГДА (!) Не было такого без неисправного оборудования.