Назад | Перейти на главную страницу

как я могу заблокировать весь трафик, который поступает на IP-адрес и с него, используя iptables

Я пытаюсь заблокировать весь трафик, который идет и идет на внутренний IP-адрес (этот сервер действует как маршрутизатор для сети). до сих пор я пробовал следующее: iptables -A INPUT -s 192.168.1.111 -j DROP & iptables -A OUTPUT -d 192.168.1.111 -j DROP, где 192.168.1.111 - это IP-адрес, с которого я пытаюсь заблокировать трафик. Локальная сеть подключается к br0. Вот моя текущая настройка iptables (я удалил переадресацию портов и т. Д., Чтобы упростить выполнение):

# Generated by iptables-save v1.4.8 on Sat Feb 16 21:21:16 2013
*nat
:PREROUTING ACCEPT [184556:41149689]
:POSTROUTING ACCEPT [13698:835740]
:OUTPUT ACCEPT [77252:6378101]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Feb 16 21:21:16 2013
# Generated by iptables-save v1.4.8 on Sat Feb 16 21:21:16 2013
*filter
:INPUT DROP [10054:2687428]
:FORWARD ACCEPT [1377:76856]
:OUTPUT ACCEPT [0:0]
-A INPUT -s 192.168.1.0/24 -i br0 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A FORWARD -i eth0 -o Br0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i br0 -o eth0 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -j ACCEPT
-A OUTPUT -s 127.0.0.1/32 -j ACCEPT
COMMIT
# Completed on Sat Feb 16 21:21:16 2013

Как я могу заблокировать весь трафик на IP-адрес и обратно с этой текущей настройкой? Я не лучший в мире с iptables, так что любая помощь будет очень благодарна, спасибо!

В INPUT и OUTPUT Цепочки iptables применяются к трафику, направляемому на локальный сервер. Любой пакет, маршрутизируемый через брандмауэр, обрабатывается FORWARD цепь. Итак, в этом случае вам нужно предотвратить пересылку пакетов маршрутизатором linux внутреннему клиенту с помощью FORWARD цепь.

Я бы посоветовал вам начать с политики DROP по умолчанию для цепочки FORWARD. Поскольку ваша текущая настройка показывает, что по умолчанию ваша политика FORWARD - ACCEPT, что не является самой безопасной настройкой. Итак, начните с политики отбрасывания для пересылки с -

  iptables -P FORWARD DROP

Затем разрешите пересылку пакетов внутренним клиентам с помощью -

  iptables -A FORWARD -s source-net/subnet -d destination-net/subnet -j ACCEPT
  iptables -A FORWARD -m state –state NEW,ESTABLISHED -s source-net/subnet -j ACCPET
  iptables -A FORWARD -m state –state ESTABLISHED -j ACCEPT

Если внутренний клиент находится в разрешенной подсети, установите правило для явного отбрасывания пакетов, предназначенных этому клиенту -

   iptables -I FORWARD -s 0/0 -d 192.168.1.111 -j DROP
   iptables -I FORWARD -s 192.168.1.111 -d 0/0 -j DROP

Ошибка, которую вы сделали, заключалась в том, что вы добавили (-A) правила блокировки для 192.168.1.111 вместо того, чтобы вставлять его (-I), потому что, если вы обратите внимание, некоторые правила в INPUT / OUTPUT разрешили трафик из сегмента 192.168.1.X . Так сделай это:

iptables -I INPUT -s 192.168.1.111 -j DROP
iptables -I OUTPUT -d 192.168.1.111 -j DROP

Если 192.168.1.111 использует тот же сервер в качестве маршрутизатора, чем добавить правило similra в цепочку FORWARD

iptables -I ВПЕРЕД -d 192.168.1.111 -j ОТКАЗ