Я пытаюсь заблокировать все IP-адреса, кроме Google.se. Не работает (сайт не отображается)

Вот что я написал:

#/bin/sh
echo "Flushing IPTables..."
sleep 1
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
echo "Done!"

echo "Setting Firewall..."
sleep 1
iptables -A INPUT -p tcp -m iprange --src-range 0.0.0.0-255.255.255.255 -j DROP
iptables -A OUTPUT -p tcp -m iprange --src-range 0.0.0.0-255.255.255.255 -j DROP

iptables -A FORWARD -i wlan0 -d www.google.se -p tcp --dport 80 --sport 1024:65355   -j ACCEPT
echo "Done!"

Благодарю.

1 ответ1

2

Я вижу некоторые проблемы с вашим брандмауэром, в основном вы, кажется, отбрасываете вещи на входе и выходе, но игнорируете пересылку. Таким образом, все на локальной машине будет заблокировано, но ничего на машинах за брандмауэром.

Вам было неясно, хотите ли вы блокировать трафик, входящий / выходящий из устройства, на котором работают правила брандмауэра, или вы хотите заблокировать что-либо за брандмауэром. Точно так же вы не посоветовали, хотите ли вы блокировать входящий или исходящий трафик (любой из них будет иметь тот же очевидный эффект при просмотре веб-страниц, но другие последствия для безопасности)

Если вы хотите заблокировать пересылаемые объекты (как подразумевается в последней строке скрипта), и вас не беспокоит доступ из фактического блока, выполняющего брандмауэр (и значения по умолчанию установлены в ACCEPT, как в вашем примере):

iptables -A FORWARD -j DROP
iptables -I FORWARD -i wlan0 -d www.google.se -p tcp --dport 80 -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Должно работать, при условии, что клиенты используют локальный DNS-сервер и могут разрешить www.google.se - И ВАЖНО (но, вероятно, неверное предположение), Сервер имен всегда разрешает www.google.se для одного и того же IP-адреса.

Первая строка гласит: «Если трафик проходит через это поле, и я не знаю об этом, не пропускайте трафик». Во второй строке, которая вставлена (прочитайте перед строкой выше), говорится о разрешении исходящих запросов на www.google.se. В третьей строке говорится: «Если мы успешно установили соединение с IP, мы можем разрешить ему общаться с нами».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .