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

Linux: ответьте arp вместо ядра?

Можно ли отвечать на запросы ARP в пользовательском режиме, а не внутри ядра? Я могу создать ETH_P_ARP socket, но не уверен, смогу ли я полностью заменить стратегию ядра на этом уровне.

Вы определенно можете создать сокет и использовать его для ответа на запросы ARP. Однако это не помешает ядру отвечать на них.

Есть способы запретить ядру отвечать на запросы ARP. Самое простое и во многих случаях лучшее решение - просто использовать в вашей программе другой IP-адрес. Если ядро ​​не распознает IP-адрес, оно не будет отвечать на запросы ARP. Я сам использовал этот метод для реализации пользовательского режима NAT64.

Другой способ запретить ядру отвечать на запросы ARP - это arptables правила.