URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 2846
[ Назад ]

Исходное сообщение
"iptables пересылка dns запросов"

Отправлено djfroggy , 08-Авг-06 12:03 
На шлюзе стоит Mandriva linux 2006, пользователи авторизуются ходят в инет через squid, samba. Мне нужно чтобы они могли забирать почту своими почтовиками (типа The BAT!), для этого нужно разрешить рекурсивные запросы с моего DNS сервера на провайдерский. Шлюз по умолчанию в настройках клинта стоит ip linux машины. В iptables разрешил FORWARD по 53 порту, до сегодняшнего дня всё работало вот с таким конфигом:

#!/bin/bash
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -F
iptables -X

echo 1 >/proc/sys/net/ipv4/ip_forward

iptables -N bad_tcp_packets
iptables -N icmp_packets

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT

iptables -A bad_tcp_packets -p TCP --tcp-flags SYN,ACK SYN,ACK -m state ! -i lo --state NEW -j DROP

iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 12 -j ACCEPT
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j REJECT --reject-with icmp-host-unreachable

iptables -A INPUT -p TCP -j bad_tcp_packets
iptables -A INPUT -p ALL -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -p ICMP -j icmp_packets

iptables -A FORWARD -i eth0 -p UDP -o eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -p TCP --sport 53 --dport 53 -o eth1 -j ACCEPT    
iptables -A FORWARD -i eth0 -p ICMP -o eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -p TCP --dport 25 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -p TCP --dport 110 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -p TCP --dport 3128 -j ACCEPT

Подскажите в чём может быть проблема?


Содержание

Сообщения в этом обсуждении
"iptables пересылка dns запросов"
Отправлено GByte , 10-Авг-06 13:53 
у тебя в локалке ДНС же есть.

тебе всего и надо разрешить от него tcp/udp port 53.


"iptables пересылка dns запросов"
Отправлено GByte , 10-Авг-06 13:54 
>у тебя в локалке ДНС же есть.
>
>тебе всего и надо разрешить от него tcp/udp port 53.


ну и конечно на клиентах указать в качестве ДНСа внутренний.


"iptables пересылка dns запросов"
Отправлено djfroggy , 11-Авг-06 05:15 
>>у тебя в локалке ДНС же есть.
>>
>>тебе всего и надо разрешить от него tcp/udp port 53.
>
>
>ну и конечно на клиентах указать в качестве ДНСа внутренний.

iptables -A FORWARD -i eth0 -p UDP -o eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -p TCP --sport 53 --dport 53 -o eth1 -j ACCEPT
ну так это правило это и делает, а на моём ДНС стоит пересылка на прововский.


"iptables пересылка dns запросов"
Отправлено GByte , 11-Авг-06 11:55 
у тебя пакеты разрешены только в одном направлении из eth0 в eth1.
те если eth0 это локалка, то запрос из локалки твой файер во вне пропустит, а ответ на него???

и ДНС у тебя не на файере?


"iptables пересылка dns запросов"
Отправлено djFroggy , 12-Авг-06 21:15 
>и ДНС у тебя не на файере?

нет ДНС не фаере.


"iptables пересылка dns запросов"
Отправлено GByte , 13-Авг-06 13:23 
>>и ДНС у тебя не на файере?
>
>нет ДНС не фаере.


ну пускай тогда внутренний ДНС наружу, только ответы на запросы пропускать разреши.