Привет, ребята, у меня есть следующий файл iptables для моего сервера Ubuntu 12.04. Это немного грязно, потому что я пробовал разные способы исправить это, но проблема в том, что он не позволяет запускать команды apt, такие как apt-get. Он показывает подключение к archive.ubuntu.com и время ожидания подключения. Я думаю, это как-то связано с исходящими правилами, но я не уверен. Точно такая же проблема появилась и при использовании UFW. Не могли бы вы посоветовать мне, как исправить / улучшить мою структуру iptables или, может быть, исправить работу UFW. Спасибо!
ОБНОВЛЕНО ::
Completed on Mon May 14 23:09:19 2012 # Generated by iptables-save v1.4.12 on Mon May 14 23:09:19 2012 *filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT -A INPUT -s 127.0.0.1/32 -j ACCEPT -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied" --log-level 7 -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -p tcp -m tcp --sport 53 -j ACCEPT -A INPUT -p udp -m udp --sport 53 -j ACCEPT -A INPUT -i lo -j ACCEPT COMMIT # Completed on Mon May 14 23:09:19 2012
У Вас есть избыточные правила, все OUTPUT
правила (A OUTPUT
) избыточны из-за -A OUTPUT -j ACCEPT
правило ("принимают весь исходящий трафик"). Это правило само является ненужным при установке ВЫХОДНОЙ политики на ACCEPT
вместо DROP
("принимают весь исходящий трафик, если никакое соответствие правила" по сравнению с "не игнорирует/отбрасывает весь исходящий трафик если никакое соответствие правила"). Для установки политики используйте:
:OUTPUT ACCEPT
(счетчики не необходимы и были удалены также). Так как Ваша ВЫХОДНАЯ цепочка прекрасна, взгляните на свою входную цепочку. Я не вижу очевидных проблем, строка, которая позволяет существующие соединения TCP (включая пакеты квитирования), и ответы DNS присутствуют:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Как помощь для отладки, я предлагаю, чтобы Вы использовали -v
(--verbose
) флаг для правила соответствует счетчикам. Мой фаворит для того, чтобы иметь статистику, обновляемую каждую секунду:
sudo watch -n1 iptables -vnL
Это могла быть проблема, которая не связана с iptables. Возможно, Ваши таблицы маршрутизации являются неправильными, серверы DNS недопустимы, или восходящие маршрутизаторы блокирует Ваш трафик.
Похожие страницы:
Я думаю, что самый простой способ понять это - сбросить все правила и добавлять их по одному, пока они не перестанут работать. Помните, что если вы делаете это с пульта, ваша политика DROP по умолчанию может разъединить вас, когда вы слепо сбросите / обнулите все правила.