
У меня есть машина под управлением Linux с локальным IP-адресом 192.168.1.2, подключенная к маршрутизатору с публичным IP-адресом 8.8.8.8. Теперь маршрутизатор 8.8.8.8 имеет DMZ до 192.168.1.2.
В результате спамеры, хакеры и взломщики выводят из строя сеть 192.168.1.2, работающую по протоколу H.323 или протоколу SIP.
Как я могу добавить белый список публичных IP-адресов в маршрутизатор или за маршрутизатором, чтобы предотвратить такие атаки? (Linux-компьютер не является программным обеспечением с открытым исходным кодом, у меня нет доступа, чтобы разместить на нем iptables)
решение1
Если на вашем маршрутизаторе вы можете запустить iptables, по умолчанию отбрасывайте все входящие пакеты на внешнем интерфейсе, а затем добавьте исключения:
Простой пример того, что вы описываете, предполагая, что eth1 — это внешнее устройство:
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -j DROP
iptables -I FORWARD -i eth1 -s 123.123.123.123 -j ACCEPT
iptables -I FORWARD -i eth1 -s 123.124.0.0/16 -j ACCEPT
Строки означают следующее:
- Разрешить трафик, за который уже есть гарантия, например, ответы на ваши собственные запросы
- Бросай все
- Разрешить IP
123.123.123.123
- Разрешить всю подсеть
123.124.xxx.xxx
Обратите внимание на переключение на -I
вместо -A
на строках 3 и 4. Это означает, что правило следует поместить в начало списка, а не в конец.
Если вам нужно запустить это на самой машине Linux, то же самое должно сработать, но вам нужно заменить FORWARD
на INPUT
, и вы можете пропустить входной интерфейс. Кроме того, вы, вероятно, захотите добавить ACCEPT
правило для , 192.168.1.0/24
поскольку ваша локальная сеть, скорее всего, заслуживает доверия.
Для получения более подробной информации см.этот урокилируководство