[[SOLVED] iptables настройка dns и icmp]

Всем привет
Начал глубокое изучение iptables, прочитал замечательную статью с опеннет и вроде бы все понял
http://www.opennet.ru/docs/RUS/iptables/
Начал писать свой скрипт и чтобы пойти граммотным путем начал с полной блокировки всех пакетов и такой же политики по умолчанию

ebegin "Delete all chains and rules";
${IPTABLES} -X;
${IPTABLES} -F;
${IPTABLES} -P INPUT DROP;
${IPTABLES} -P FORWARD DROP;
${IPTABLES} -P OUTPUT DROP;

тут всё понятно, всё блокируется
далее решил открыть возмоность отправки icmp сообщений (ЛЮБЫХ)

${IPTABLES} -A INPUT -p icmp -j ACCEPT;
...
${IPTABLES} -A OUTPUT -p icmp -j ACCEPT

пинговка не идет, нужны днс

# 1. Входящий трафик для DNS
${IPTABLES} -A INPUT -p tcp --dport 53 -j ACCEPT;
${IPTABLES} -A INPUT -p udp --dport 53 -j ACCEPT;
....
# 1. Исходящий трафик для DNS
${IPTABLES} -A OUTPUT -p udp --dport 53 -j ACCEPT
${IPTABLES} -A OUTPUT -p tcp --dport 53 -j ACCEPT

опять не идет разрешение имени

Итог:

iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            multiport dports http,https

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            multiport dports http,https
ACCEPT     icmp --  anywhere             anywhere

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

19	6.975630	xxx	yyy	DNS	Standard query response A 77.88.21.8 A 93.158.134.8 A 213.180.204.8

ЗЫ: пожалуйста не кидайте готовые решения (я про громадные готовые скрипты), просто дайте ответ на мой вопрос

Заранее благодарен за помощь всем откликнувшимся

без имени по ip адресу пинг

без имени по ip адресу пинг идет....
забыл добавить, может это важно (как знать)
1) у меня два сетевых интерфейса
2) интернет соединение идет не через vpn

Вставьте в конец правил LOG и

Вставьте в конец правил LOG и увидите...

null56 написал(а): Всем

null56 написал(а):
Всем привет
Начал глубокое изучение iptables, прочитал замечательную статью с опеннет и вроде бы все понял

Судя по Вашему вопросу - ничего не поняли.

null56 написал(а):
Вопрос: что я забыл сделать для того, чтобы получить возможность пинговать по именам?

-A INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT

Рекомендую:

emerge -av net-misc/ferm

http://ferm.foo-projects.org/

null56 написал(а): # 1.

null56 написал(а):
# 1. Входящий трафик для DNS
${IPTABLES} -A INPUT -p tcp --dport 53 -j ACCEPT;
${IPTABLES} -A INPUT -p udp --dport 53 -j ACCEPT;
....
# 1. Исходящий трафик для DNS
${IPTABLES} -A OUTPUT -p udp --dport 53 -j ACCEPT
${IPTABLES} -A OUTPUT -p tcp --dport 53 -j ACCEPT

Запрос на разрешение имён не обязательно исходит с 53 порта и поэтому входящий трафик режеться. Используйте, как вам уже посоветовали, state ESTABLISHED,RELATED.

pva снифер работает после

pva, снифер работает после iptables?

извиняюсь, прозевал

извиняюсь, прозевал вспышку....
снифер мне все правильно показывал... на исходящие dns запросы у меня был dstport = 53 ВСЕГДА!!! НО src менялся
а вот на вход, у меня как раз всё наоборот, src = 53, а на dst тот, который был src при отправке, то есть любой > 1024
Верно было замечено, статью не очень внимательно прочитал.... чтобы не открывать всевозможные порты > 1024 нужно пользоватьеся трассировкой соединений

буду пробовать

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".