У меня есть система CentOS 5, которая служит соединителем IPSec VPN между моей сетью и парой удаленных сетей. В последнее время он сталкивается с этой проблемой один или два раза в день, когда его кеш ARP заполняется.
Локальная сеть, в которой сидит этот парень, 10.51.0.0/16
и IPSec подключает его к 10.53.0.0/16
и 10.54.0.0/16
. Имеет 2 интерфейса, eth0
подключен к Интернету и eth1
который подключен к локальной сети с ip 10.51.1.15
.
Кэш ARP заполняется такими адресами, как 10.51.119.x
и, кажется, методично продолжает его полностью заполнять. Я запустил tcpdump, пока это происходило, и увидел ARP-запросы для всех этих несуществующих адресов, исходящих с локального ip. 10.51.1.15
так что это почти похоже на сканирование сети, но как мне выяснить, откуда оно исходит? Маловероятно, что оно на самом деле исходит из самого бокса, никто не должен запускать подобное сканирование из него, но это может быть из сетей IPSec? Как мне понять, откуда это?
Проблема решена: антивирус Касперского обнаружил систему в нашей сети.
Чтобы сканер мог получить что-либо (кроме создания DOS-атаки), он должен получить пакеты. Если сканирование происходит из локальной подсети, то он не может находиться где-либо на маршруте между источником и источником, потому что между полем CentOS и 10.51.1.15 нет ничего.
Ты мог:
tcpdump
с участием -e
заголовок. Это сообщит вам MAC-адрес автора сканирования.Маловероятно, что сканирование происходит за пределами сети 10.51.0.0/16. Типичные правила брандмауэра отбрасывают пакеты, которые утверждают, что они происходят из локально подключенной сети, которые поступают через неправильный интерфейс. Тогда, возможно, у вас нетипичные правила брандмауэра;).
Я не уверен, правильно ли я понял ваш вопрос, но если 10.51.1.15 - это IP-адрес коробки CentOS, то кроме tcpdump -e
идеи выше не имеют смысла. Если кажется, что пакеты исходят из локального ящика, значит, у него есть пакеты для доставки по этим адресам. В этом случае вы можете настроить правила iptables, которые записывают пакеты на недопустимые адреса сети 10.51.0.0/16. Под недействительными адресами я подразумеваю адреса, которые не были назначены ни одному хосту. Если что-то пытается получить к ним доступ, то, вероятно, у него нет законных оснований для этого. Такое правило ведения журнала (с соответствующим правилом ограничения для предотвращения заполнения журнала) сообщит вам происхождение такого пакета - был ли он из локального ящика или из любой удаленной сети.
Если кажется, что пакеты исходят из самого ящика CentOS, вы также можете взглянуть на ps
вывод во время подозрительного сканирования и сравните его с ps
вывод сохранен, когда сканирование не производилось. Может быть, вы найдете очевидные ответы.
я нашел это Почта быть невероятно полезным при отладке подобной ситуации. Предлагаемая здесь рекомендация состоит в следующем:
tcpdump -l -n arp | egrep 'arp who-has' | head -100 | awk '{ print $NF }' |sort | uniq -c | sort -n
Это даст вам IP-адрес, который сделал наибольшее количество запросов "кто имеет" из последних 100. Это должно дать вам все, что вам нужно знать, чтобы найти систему-нарушитель.
Не уверен, что это применимо, но у меня была такая же проблема с маршрутизатором Cisco, и проблема заключалась в том, что на маршруте по умолчанию у меня было указано имя интерфейса, а не IP-адрес. Таблица ARP будет заполняться до тех пор, пока не выйдет из строя маршрутизатор. Как только я указал IP, все прояснилось. Может быть, совершенно не связаны, но мало ли.
ip route 0.0.0.0 0.0.0.0 FastEthernet0/1 <-wrong
ip route 0.0.0.0 0.0.0.0 192.1668.99.254 <-right