Я сделал так (идею тоже нашел на этом сайте):1. Создал файл б/д привязки IP к MAC (например /etc/ethers.local)
Пример строк из файла:
192.168.0.11 00:0c:6e:3f:cd:e5 #kasa2
192.168.0.12 00:0d:88:82:da:a2 #mobil
и т. д.
2. Написал скрипт такого содержания: (например /etc/static.arp):
#!/bin/sh
# обнуляем всю таблицу arp
arp -ad > null
# к каждому компу в локальной сети привязываем несуществующий (нулевой)
# MAC адрес
I=1
while [ $I -le 254 ]
do
arp -s 192.168.0.${I} 0:0:0:0:0:0
I=`expr $I + 1`
done
# к реально существующему компу в сети из базы данных в файле
# /etc/ethers.local привязываем
# правильный MAC адрес
arp -f /etc/ethers.local
3. Делаем этот файл исполняемым и прописываем в файл /etc/rc.local такую
строчку:
/etc/static.arp
Еще желательно, чтобы привязки имен юзерских хостов к ip-адресам были
прописаны в /etc/hosts (это ускорит их поиск). Теперь сервер не будет
рассылать широковещательные запросы о локальных MAC адресах, т. к. все они
статически жестко привязаны к ip-адресам. Этим убивается два зайца: не
рассылаются широковещательные запросы, что экономит траффик и время
на ответ сервера, и не позволяет пользователю менять свой ip-адрес,
т. к. сервер все равно пакет будет отправлять на жестко привязанный
MAC адрес.
URL: https://www.opennet.ru/openforum/vsluhforumID3/1076.html#18
Обсуждается: https://www.opennet.ru/tips/info/750.shtml