Вот такая беда:
В сетке провайдера завелся вирусняк, который балуется ARP spoofing'ом, обьявляя себя за 10.1.0.1, т.е. шлюз прова, в итоге инет ложится. В сети провайдера свичи стоят самые тупые :). Хотел заморозить АРП таблицу, но так как в сети то ктото появляется то исчезает, я постоянно следить за этим не могу, а хотелось бы чтобы был таки доступ к другим машинам.
Возможно ли както на FreeBSD 7.0 + PF мониторить ARP пакеты и игнорировать все, где фигурирует 10.1.0.1, а его настоящий МАК занести в таблицу АРП статически?
>Вот такая беда:
>В сетке провайдера завелся вирусняк, который балуется ARP spoofing'ом, обьявляя себя за
>10.1.0.1, т.е. шлюз прова, в итоге инет ложится. В сети провайдера
>свичи стоят самые тупые :). Хотел заморозить АРП таблицу, но так
>как в сети то ктото появляется то исчезает, я постоянно следить
>за этим не могу, а хотелось бы чтобы был таки доступ
>к другим машинам.
>Возможно ли както на FreeBSD 7.0 + PF мониторить ARP пакеты и
>игнорировать все, где фигурирует 10.1.0.1, а его настоящий МАК занести в
>таблицу АРП статически?можно. man arp
>[оверквотинг удален]
>>10.1.0.1, т.е. шлюз прова, в итоге инет ложится. В сети провайдера
>>свичи стоят самые тупые :). Хотел заморозить АРП таблицу, но так
>>как в сети то ктото появляется то исчезает, я постоянно следить
>>за этим не могу, а хотелось бы чтобы был таки доступ
>>к другим машинам.
>>Возможно ли както на FreeBSD 7.0 + PF мониторить ARP пакеты и
>>игнорировать все, где фигурирует 10.1.0.1, а его настоящий МАК занести в
>>таблицу АРП статически?
>
>можно. man arpЭээ... читал. Но насколько я понял, получается что после того как задаеш таблицу через arp, и при этом для интерфейса не прописывать ifconfig -arp, то следующий пришедший ARP для 10.1.0.1 перезатрет то что было задано ранее руками.. но если ifconfig -arp, то тогда в arp вообще надо прописать все IP<>MAC для всех машин сетки 10.
Или где я протупил?
>[оверквотинг удален]
>>>за этим не могу, а хотелось бы чтобы был таки доступ
>>>к другим машинам.
>>>Возможно ли както на FreeBSD 7.0 + PF мониторить ARP пакеты и
>>>игнорировать все, где фигурирует 10.1.0.1, а его настоящий МАК занести в
>>>таблицу АРП статически?
>>
>>можно. man arp
>
>Эээ... читал. Но насколько я понял, получается что после того как задаеш таблицу через arp, и при этом для интерфейса не прописывать ifconfig -arp, то следующий пришедший ARP для 10.1.0.1 перезатрет то что было задано ранее руками.. но если ifconfig -arp, то тогда в arp вообще надо прописать все IP<>MAC для всех машин сетки 10.
>Или где я протупил?прошу прощения.. идийот я. не дочитал
>[оверквотинг удален]
>>>за этим не могу, а хотелось бы чтобы был таки доступ
>>>к другим машинам.
>>>Возможно ли както на FreeBSD 7.0 + PF мониторить ARP пакеты и
>>>игнорировать все, где фигурирует 10.1.0.1, а его настоящий МАК занести в
>>>таблицу АРП статически?
>>
>>можно. man arp
>
>Эээ... читал. Но насколько я понял, получается что после того как задаеш таблицу через arp, и при этом для интерфейса не прописывать ifconfig -arp, то следующий пришедший ARP для 10.1.0.1 перезатрет то что было задано ранее руками.. но если ifconfig -arp, то тогда в arp вообще надо прописать все IP<>MAC для всех машин сетки 10.
>Или где я протупил?Ты не правильно понял.
если задать arp -s ip mac для конкретного айпи то эта запись затиратся не будет. Т.е если утебя проблема только в том что отваливается шлюз в то время когда кто-то подставляет его ip то arp -s IP_router Mac_router тебя вполне спасает. И добавь эту запись в rc.local чтобы после перезагрузки не вводить вручную.
>Вот такая беда:
>В сетке провайдера завелся вирусняк, который балуется ARP spoofing'ом, обьявляя себя за
>10.1.0.1, т.е. шлюз прова, в итоге инет ложится. В сети провайдера
>свичи стоят самые тупые :). Хотел заморозить АРП таблицу, но так
>как в сети то ктото появляется то исчезает, я постоянно следить
>за этим не могу, а хотелось бы чтобы был таки доступ
>к другим машинам.
>Возможно ли както на FreeBSD 7.0 + PF мониторить ARP пакеты и
>игнорировать все, где фигурирует 10.1.0.1, а его настоящий МАК занести в
>таблицу АРП статически?думаю, можно поднять свой внутренний шлюз напрмиер с ип 10.1.0.2
всем своим хостам за шлюз по умолчанию дать его ип
на нем прописать статически МАС-адрес 10.1.0.1 (провайдера)
>[оверквотинг удален]
>>как в сети то ктото появляется то исчезает, я постоянно следить
>>за этим не могу, а хотелось бы чтобы был таки доступ
>>к другим машинам.
>>Возможно ли както на FreeBSD 7.0 + PF мониторить ARP пакеты и
>>игнорировать все, где фигурирует 10.1.0.1, а его настоящий МАК занести в
>>таблицу АРП статически?
>
>думаю, можно поднять свой внутренний шлюз напрмиер с ип 10.1.0.2
>всем своим хостам за шлюз по умолчанию дать его ип
>на нем прописать статически МАС-адрес 10.1.0.1 (провайдера)насколько я понимаю, достаточно arp -S 10.1.0.1 MAC_ADDR pub
Arpwatch поможет мониторить...
>Arpwatch поможет мониторить...У меня та же беда.
arp -s то можно использовать, но через 20 минут, опять вся таблица обновляется. можно включить staticarp но так как к сети подключаются все новые клиенты каждый день то кому-то придется сидеть возле роутера постоянно чтобы добавлять новый мак-ип. Можно забить все неиспользуемые нулями, но это то же самое, всеравно комуто-надо сидеть во время подключения возле роутера.
Сделал пока так. Создал файл соответствия и забил в крон через каждых 5 минут загрузку этого файла. Работает и так но это не решение.Как решение попробовал сделать после загрузки статических записей
ifconfig vlan11 -arp
так работает, но через некоторое время отваливается вся подсеть, то же и с
ifconfig vlan11 staticarpЧто посоветуете?
Скрипт#!/usr/local/bin/bash
/usr/sbin/arp -ad > /dev/null
/usr/sbin/arp -f /etc/staticarp/static.mac > /dev/nullзабил в крон через каждые 5 мин. Но тепер после нескольких запусков скрипта он висит в списке процессов как Idle. Не могу понять почему.
17093 ?? Is 0:00.00 /bin/sh -c /etc/staticarp/rearp.sh > /dev/null
17116 ?? I 0:00.00 /usr/local/bin/bash /etc/staticarp/rearp.sh
17149 ?? S 0:00.40 /usr/sbin/arp -f /etc/staticarp/static.mac
up
Где же топикстартер?
>up
>Где же топикстартер?Да вобщемто сдесь я. arp -s ip mac в скрипте после перезагрузки спасает, но не на долго, а все изза свичей что стоят между мной и шлюзом провайдера. у меня не меняется запись, а вот свичи плющит, они какието совсем тупые. Походу забивается из таблица arp и спасает только отключение вирусоносителя, и ожидание пока не очистится кеш у свичей, насколько я понял
>[оверквотинг удален]
>5 минут загрузку этого файла. Работает и так но это не
>решение.
>
>Как решение попробовал сделать после загрузки статических записей
>ifconfig vlan11 -arp
>так работает, но через некоторое время отваливается вся подсеть, то же
>и с
>ifconfig vlan11 staticarp
>
>Что посоветуете?Но вот так то должно работать. Вот два дня назад пробовал опять ifconfig vlan11 -arp и так работало больше двух часов, но потом неожидано пинги пропали и повалило
ping: invalid argument.
Добавлю еще вот это
uname -a
FreeBSD router.cn.km.ua 7.0-RELEASE FreeBSD 7.0-RELEASE #1: Fri Jun 13 17:26:05 EEST 2008 admin@router.cn.km.ua:/usr/src/sys/i386/compile/GATE i386ifconfig vlan11
vlan11: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:07:e9:0a:a4:73
inet 172.16.24.124 netmask 0xffffff00 broadcast 172.16.24.255
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
vlan: 11 parent interface: em0Скажу что подозреваю использование вланов, но не уверен. В чем еще может быть проблема?
ПС. Все же хочу докопаться до истины. Может в пр написать?
>>Как решение попробовал сделать после загрузки статических записей
>>ifconfig vlan11 -arp
>>так работает, но через некоторое время отваливается вся подсеть, то же-arp выключает протокол совсем, поэтому на запросы от шлюза твой роутер молчит, в итоге ничего не работает после таймаута в кэше. Должен быть staticarp, он отвечает, но сам не спрашивает, пользуясь своей таблицей.
> Вот такая беда:
> В сетке провайдера завелся вирусняк, который балуется ARP spoofing'ом, обьявляя себя за
> 10.1.0.1, т.е. шлюз прова, в итоге инет ложится. В сети провайдера
> свичи стоят самые тупые :). Хотел заморозить АРП таблицу, но так
> как в сети то ктото появляется то исчезает, я постоянно следить
> за этим не могу, а хотелось бы чтобы был таки доступ
> к другим машинам.
> Возможно ли както на FreeBSD 7.0 + PF мониторить ARP пакеты и
> игнорировать все, где фигурирует 10.1.0.1, а его настоящий МАК занести в
> таблицу АРП статически?В PF есть tagging, капни в эту сторону, поможет )