The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"iptables vs dns (win nslookup интересное поведение)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / Linux)
Изначальное сообщение [ Отслеживать ]

"iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от FragMaster on 18-Ноя-11, 22:12 
Centos 5.4 + iptables+ bind9
Есть проблемы в работе ДНС при включенном iptables.
Если iptables выключен, то на win машине:

C:\Documents and Settings\Администратор>nslookup
Default Server: mail.domain.ru
Address: 192.168.100.1

> mail.domain.ru

Server: mail.domain.ru
Address: 192.168.100.1

Name: mail.domain.ru
Address: 192.168.100.1

Если iptables поднят:

C:\Documents and Settings\Администратор>nslookup
Default Server: mail.domain.ru
Address: 192.168.100.1

> mail.domain.ru

Server: mail.domain.ru
Address: 192.168.100.1

DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to mail.domain.ru timed-out
> exit

Bind настроен на прямое и обратное отображение:
mail.domain.ru 192.168.100.1
ftp://ftp.domain.ru 192.168.100.1

Настройки iptables (eth0 192.168.100.1 - LAN, eth1 192.168.255.10 - INET)
[root@gate etc]# iptables-save
# Generated by iptables-save v1.3.5 on Fri Nov 18 19:49:56 2011
*nat
:PREROUTING ACCEPT [5:284]
:POSTROUTING ACCEPT [1:108]
:OUTPUT ACCEPT [1:108]
-A POSTROUTING -o eth1 -j SNAT --to-source 192.168.255.10
COMMIT
# Completed on Fri Nov 18 19:49:56 2011
# Generated by iptables-save v1.3.5 on Fri Nov 18 19:49:56 2011
*mangle
:PREROUTING ACCEPT [21:1658]
:INPUT ACCEPT [17:1452]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [16:1620]
:POSTROUTING ACCEPT [16:1620]
COMMIT
# Completed on Fri Nov 18 19:49:56 2011
# Generated by iptables-save v1.3.5 on Fri Nov 18 19:49:56 2011
*filter
:INPUT DROP [4:312]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -s 192.168.100.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -s 192.168.100.1 -i lo -j ACCEPT
-A INPUT -s 192.168.255.10 -i lo -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
-A INPUT -d 192.168.255.10 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -j tcp_packets
-A INPUT -i eth1 -p udp -j udp_packets
-A INPUT -i eth1 -p icmp -j icmp_packets
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -s 192.168.100.0/255.255.255.0 -p gre -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p icmp -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 4666 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 4667 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 10000 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 500 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 4500 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 1119 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 1999 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 6112:6119 -j ACC
EPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 6112:6119 -j ACC
EPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 9.16.142.1 -j ACCEPT
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.100.1 -j ACCEPT
-A OUTPUT -s 192.168.255.10 -j ACCEPT
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A tcp_packets -p tcp -m tcp --dport 21 -j allowed
-A tcp_packets -p tcp -m tcp --dport 20 -j allowed
-A tcp_packets -p tcp -m tcp --dport 25 -j allowed
-A tcp_packets -p tcp -m tcp --dport 995 -j allowed
-A tcp_packets -p tcp -m tcp --dport 2222 -j allowed
-A tcp_packets -p tcp -m tcp --dport 8080 -j allowed
-A udp_packets -p udp -m udp --dport 8080 -j ACCEPT
-A udp_packets -p udp -m udp --dport 20 -j ACCEPT
COMMIT

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от FragMaster on 19-Ноя-11, 00:15 
Решено

Добавил
$IPTABLES -A INPUT -p UDP --dport 53 -j ACCEPT

почему-то если дописать к этой строке ограничение вида -i eth0 или -s 192.168.100.0/24, то запускается iptables без ошибок, но правило не работает.

В связи с этим вопрос:
по идее эта строка откроет доступ и с интернет интерфейса по udp ан сервер.
Как этого избежать?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от shadow_alone (ok) on 19-Ноя-11, 01:23 
Правильно вот так:


# Accept responses to DNS queries
iptables -A INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от Дядя_Федор email on 19-Ноя-11, 15:22 
> iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT

По TCP только трансфер зоны между первичным и вторичным серверами выполняется. :) Хотя, конечно, не помешает. Если в настройках BIND позаботиться о безопасности на передачу зоны, конечно.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от shadow_alone (ok) on 19-Ноя-11, 17:49 
>  По TCP только трансфер зоны между первичным и вторичным серверами выполняется.
> :) Хотя, конечно, не помешает. Если в настройках BIND позаботиться о
> безопасности на передачу зоны, конечно.

Совершенно согласен. Однако я отписал универсальное решение, мало ли что, вдруг автору потом взбредет в голову делать трансфер.
А по поводу трансфера, по-моему надо конкретно указать allow-transfer, что бы можно было это проделать, иначе не даст просто.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от FragMaster on 19-Ноя-11, 20:04 
> Правильно вот так:
>
 
> # Accept responses to DNS queries
> iptables -A INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j
> ACCEPT
> iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
> iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
>

Попробую...

У меня днс открыт только для lo и localnet

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от Дядя_Федор email on 20-Ноя-11, 00:14 
>> iptables -A INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j
>> ACCEPT
>> iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
>> iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
>>
> Попробую...
> У меня днс открыт только для lo и localnet

Он у Вас также ДОЛЖЕН быть открыт для ответов, которые Ваш ДНС-сервер посылает ВВЕРХ! При поступлении рекурсивных запросов от клиентов сети - того самого localnet. Это правило как раз и описано первым. А вообще - лучше уж внести вот такое правило:
IPTABLES -A INPUT -i eth0(или какой он там у Вас? Речь о ВНЕШНЕМ интерфейсе) -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
Под это правило прекрасно попадет самое первое. Или Вы своему серверу не доверяете? :) Не стоит его лишать возможности "общаться" с внешним миром.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от Дядя_Федор email on 20-Ноя-11, 00:16 
> IPTABLES -A INPUT -i eth0(или какой он там у Вас? Речь о
> ВНЕШНЕМ интерфейсе) -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

Прошу прощения - не доглядел. Вроде есть у Вас выше это правило.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "iptables vs dns (win nslookup интересное поведение)"  +/
Сообщение от FragMaster on 01-Фев-12, 10:04 
Взлетело после того как добавил

$IPTABLES -A INPUT -p UDP --dport 53 -j ACCEPT

Сейчас iptables-save выглядит так:

*filter
:INPUT DROP [20:988]
:FORWARD DROP [1:113]
:OUTPUT DROP [1:67]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -s 192.168.100.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -s 192.168.100.1 -i lo -j ACCEPT
-A INPUT -s 192.168.255.10 -i lo -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
-A INPUT -d 192.168.255.10 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -j tcp_packets
-A INPUT -i eth1 -p udp -j udp_packets
-A INPUT -i eth1 -p icmp -j icmp_packets
-A FORWARD -d 192.168.100.2 -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p gre -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p icmp -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 4666 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 4667 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 10000 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 500 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 4500 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 1119 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 1999 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p tcp -m tcp --dport 6112:6119 -j ACCEPT
-A FORWARD -s 192.168.100.0/255.255.255.0 -p udp -m udp --dport 6112:6119 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 9.16.142.1 -j ACCEPT
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.100.1 -j ACCEPT
-A OUTPUT -s 192.168.255.10 -j ACCEPT
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A tcp_packets -p tcp -m tcp --dport 21 -j allowed
-A tcp_packets -p tcp -m tcp --dport 20 -j allowed
-A tcp_packets -p tcp -m tcp --dport 25 -j allowed
-A tcp_packets -p tcp -m tcp --dport 995 -j allowed
-A tcp_packets -i eth1 -p tcp -m state --state NEW -m tcp --dport 2222 -m recent --update --seconds 20 --name DEFAULT --rsource -j DROP
-A tcp_packets -i eth1 -p tcp -m state --state NEW -m tcp --dport 2222 -m recent --set --name DEFAULT --rsource -j ACCEPT
-A tcp_packets -p tcp -m tcp --dport 8080 -j allowed
-A udp_packets -p udp -m udp --dport 8080 -j ACCEPT
-A udp_packets -p udp -m udp --dport 20 -j ACCEPT

*mangle
:PREROUTING ACCEPT [95867249:62829537320]
:INPUT ACCEPT [93601603:62320581881]
:FORWARD ACCEPT [2265475:508939918]
:OUTPUT ACCEPT [97824942:76206443864]
:POSTROUTING ACCEPT [99120443:76669376773]
COMMIT

*nat
:PREROUTING ACCEPT [2387791:126826150]
:POSTROUTING ACCEPT [533651:38000456]
:OUTPUT ACCEPT [779358:57865151]
-A PREROUTING -d 192.168.255.10 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.100.2:443
-A POSTROUTING -o eth1 -j SNAT --to-source 192.168.255.10
COMMIT

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру