Обсуждение статьи тематического каталога: Заморозка ARP таблицы во FreeBSD (freebsd arp mac)Ссылка на текст статьи: http://www.opennet.me/base/net/arp_fix_bsd.txt.html
arp blabla 00:00.... pubpub заставляет машину быть ARP сервером
если даже комп ip и mac которого привязаны выключен
то хацкер не сможет работать в сети.очень полезная вещь т.к. машина не только не пускает дальше себя(допустим в инет) но и не даёт работать в L2 сегменте
А это как?Как он как определит что комп выключен.
Грубо говоря сервер начинает отвечать на arp запросы вместо тех машин, которые есть в его списке статических arp записей. Соответственно эти arp записи попадают в таблицы всх машин в локальной сети. Если кто-то сменит IP, то его машина и сервер будут отвечать на один и тот же мак в arp запросе двумя разными IP, и у сменившего возникнут проблемы с коммуникацией не только с сервером, но и с другими машинами локальной сети. Что собственно и требуется.P.S. Да, я знаю что ответил через 4 года, но глядишь кому-то пригодится :)
Небольшое дополнение: чтобы не делать в файле фиктивные записи для адресов,
которые не задействованы в подсети
нужно в rc.conf прописать для интерфейса локальной сети вот это -
ifconfig_vr0="staticarp".
Т.е. сервер твой не будет делать arp запросы на этом интерфейсе, и те машины
которые не окажутся в файле, видеть его не смогут.(С) не моё. Чесно стянуто с рассылки
staticarp ето не тоже что и ключ -arp для ifconfig ?
и еще если я допустим захочу обратиться к хосту не прописаному в файле меня пропустит или нет? (помоему нет)
> staticarp ето не тоже что и ключ -arp для ifconfig ?
> и еще если я допустим захочу обратиться к хосту не прописаному в
> файле меня пропустит или нет? (помоему нет)Нет не то. -arp отключает арп вообще, то есть клиенты не смогут найти гетевей по запросам арп.
arp оставляйте, делайте staticarp
Ест-но не пустит ;)
а как сделать обратное, у меня сеть после этих действии падает каждые пять минут
хочу избавится от этих действии? как мне это сделать?Какой командой сделать не запрещение по маку?
#!/bin/sh
# Static ARP loadercase $1 in
start)
arp -f /usr/local/etc/ethers > /dev/null
echo 'Static ARP-table is loaded'
;;
stop)
arp -an | grep permanent | grep -v ff:ff:ff:ff:ff:ff | cut -d'(' -f2 | cut -d')' -f1 | xargs -n1 arp -d > /dev/null
echo 'Static ARP-table is unloaded'
;;
restart)
$0 stop
$0 start
;;
status)
echo 'Current static ARP-table:'
arp -an | grep permanent | grep -v ff:ff:ff:ff:ff:ff
;;
*)
echo "Usage: `basename $0` {start|stop|restart|status}" >&2
;;
esacexit 0
Что это такое:
? (192.168.0.133) at (incomplete) on rl0 [ethernet]
В моей сети встречались таки записи- означает что сервер не определил мак адрес устройства (возможно кто то пытается его скрыть....
А как запускать указанный скрипт при старте через rc.d?
Вот эта статья мне помогла
http://www.freebsd.org.ua/doc/ru_RU.KOI8-R/articles/rc-scrip...
С некоторых пор для этих целей в rc.conf появилась пара директив:
static_arp_pairs="blah bleh bloh"
static_arp_blah="1.2.3.4 11:22:33:44:55:66"
static_arp_bleh="1.2.3.5 22:33:44:55:66:77"
static_arp_bloh="1.2.3.6 33:44:55:66:77:88"
так что самопальные скрипты городить больше не нужно.
А что делать, если таких MAC'ов больше тысячи?
> А что делать, если таких MAC'ов больше тысячи?Ответ 1, очевидный - пишите 1000, если нет других вариантов.
Ответ 2, напрашивающийся - вам, видимо, необходимо поделить сеть на сегменты и переходить на специализированные аппаратные решения.
rc.conf это всего лишь SH скрипт.
Создайте диру /etc/static.arp/
в ней файлы с названиями Ваших staticarp ключей, далее делаете
static_arp_pairs=`echo /etc/static.arp/*`
for i in $static_arp_pairs
do
name="static_arp_"${i}
data=`cat /etc/static.arp/${i}`
eval ${name}=${data}
done
> rc.conf это всего лишь SH скрипт.
> Создайте диру /etc/static.arp/
> в ней файлы с названиями Ваших staticarp ключей, далее делаете
> static_arp_pairs=`echo /etc/static.arp/*`
> for i in $static_arp_pairs
> do
> name="static_arp_"${i}
> data=`cat /etc/static.arp/${i}`
> eval ${name}=${data}
> doneХотя чего парится, просто добавьте в rc.local
/usr/sbin/arp -f /etc/ethers или как у Вас там
Сделал всё как в статье, но при добавлении записи (arp -s xxx.xxx.xxx.xxx xx.xx.xx.xx.xx.xx) не записывает эти данные в файл /usr/local/etc/ethers. Как это исправить?
И как сделать чтобы IP адрес которого нет в arp табилице, тоже не возможно было использовать?
> Сделал всё как в статье, но при добавлении записи (arp -s xxx.xxx.xxx.xxx
> xx.xx.xx.xx.xx.xx) не записывает эти данные в файл /usr/local/etc/ethers. Как это
> исправить?
> И как сделать чтобы IP адрес которого нет в arp табилице, тоже
> не возможно было использовать?arp не писатель, arp читатель.