[[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 написал(а): Всем
Судя по Вашему вопросу - ничего не поняли.
-A INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
Рекомендую:
http://ferm.foo-projects.org/
null56 написал(а): # 1.
Запрос на разрешение имён не обязательно исходит с 53 порта и поэтому входящий трафик режеться. Используйте, как вам уже посоветовали, state ESTABLISHED,RELATED.
pva снифер работает после
pva, снифер работает после iptables?
извиняюсь, прозевал
извиняюсь, прозевал вспышку....
снифер мне все правильно показывал... на исходящие dns запросы у меня был dstport = 53 ВСЕГДА!!! НО src менялся
а вот на вход, у меня как раз всё наоборот, src = 53, а на dst тот, который был src при отправке, то есть любой > 1024
Верно было замечено, статью не очень внимательно прочитал.... чтобы не открывать всевозможные порты > 1024 нужно пользоватьеся трассировкой соединений
буду пробовать