политика по умолчанию для FORWARD ACCEPT
хочу пробросить из локальной сети 192.168.1.1:25 (через eth0)
сеть 10.159.0.0/16 на ppp0, это локальная сеть провайдера
Задача состоит чтобы из локалки провайдера достучаться до моего мэйл сервера.
iptables -t nat -A PREROUTING -p tcp -d 10.159.31.234 --dport 25 -j DNAT --to-destination 192.168.1.1:25
почему то не работает, куда копать не понятно.
Ядро 2.6.5.17, необходимые опции ядра вроде включены, модуль ip_nat загружен.
Попробуйте явно указать ppp0 интерфейс.
На всякий случай что в /proc/sys/net/ipv4/ip_forward.
Посмотрите что выдает iptables-save.
>Попробуйте явно указать ppp0 интерфейс.пробовал, результат нулевой
/proc/sys/net/ipv4/ip_forward включено
>Посмотрите что выдает iptables-save
тут тоже гладко
может в ядре чтото не включено, в доках для старых ядер опции указаны, а для 2.6 может что то еще надо?
>[оверквотинг удален]
>
>пробовал, результат нулевой
>
>/proc/sys/net/ipv4/ip_forward включено
>
>>Посмотрите что выдает iptables-save
>
>тут тоже гладко
>может в ядре чтото не включено, в доках для старых ядер опции
>указаны, а для 2.6 может что то еще надо?А на компе 192.168.1.1 настроен шлюз по умолчанию?
>А на компе 192.168.1.1 настроен шлюз по умолчанию?шлюз по умолчанию задан,а для ppp0
route add -net 10.159.0.0 netmask 255.255.0.0 ppp0
давай вывод iptables-save а то так гадать можно бесконечно
>давай вывод iptables-save а то так гадать можно бесконечноизменил ppp1(теперь это локалка провайдера) и ppp0(это инет)
asterisk:~# iptables-save
# Generated by iptables-save v1.3.6 on Thu Nov 1 14:44:55 2007
*nat
:PREROUTING ACCEPT [1011070:324922486]
:POSTROUTING ACCEPT [18671:1542669]
:OUTPUT ACCEPT [17938:1506202]
-A PREROUTING -d 10.159.54.234 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.1.1:25
COMMIT
# Completed on Thu Nov 1 14:44:55 2007
# Generated by iptables-save v1.3.6 on Thu Nov 1 14:44:55 2007
*filter
:INPUT DROP [39145:4283810]
:FORWARD ACCEPT [15117:726324]
:OUTPUT DROP [196:39544]
-A INPUT -i ppp1 -p icmp -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.1.2 -p udp -m udp --dport 137:138 -j ACCEPT
-A INPUT -s 192.168.1.2 -p udp -m udp --sport 137:138 -j ACCEPT
-A INPUT -s 192.168.1.2 -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT -s 192.168.1.2 -p tcp -m tcp --dport 445 -j ACCEPT
-A INPUT -s 10.159.21.121 -i ppp1 -p udp -m udp --dport 137:138 -j ACCEPT
-A INPUT -s 10.159.21.121 -i ppp1 -p udp -m udp --sport 137:138 -j ACCEPT
-A INPUT -s 10.159.21.121 -i ppp1 -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT -s 10.159.21.121 -i ppp1 -p tcp -m tcp --dport 445 -j ACCEPT
-A INPUT -s 10.159.21.121 -i ppp1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 10.159.13.245 -i ppp1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 10.159.21.121 -i ppp1 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -s 10.159.13.245 -i ppp1 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -s 10.159.1.41 -i ppp1 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -s 192.168.1.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -p udp -m udp --dport 5004:5082 -j ACCEPT
-A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -o ppp1 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -s 192.168.1.0/255.255.255.0 -j ACCEPT
-A FORWARD -d 192.168.1.0/255.255.255.0 -j ACCEPT
-A OUTPUT -o ppp1 -p icmp -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Thu Nov 1 14:44:55 2007
Допустим пакеты доходят до 192.168.1.1:25. Как он без SNAT на шлюзе может отвечать на них? Нужно обратное преобразование.
P.S. при политиках по умолчанию ACCEPT чего Вы пытаетесь добиться своими правилами?
>P.S. при политиках по умолчанию ACCEPT чего Вы пытаетесь добиться своими правилами*filter
:INPUT DROP [39145:4283810]
:FORWARD ACCEPT [15117:726324]
:OUTPUT DROP [196:39544]
фильтрация работает прекрасно, не жалуюсь, ACCEPT только для FORWARD или я чего то не понимаю??
про SNAT можете подробно , чтобы я не плодил кучу левых постов :(
>>P.S. при политиках по умолчанию ACCEPT чего Вы пытаетесь добиться своими правилами
>
>*filter
>:INPUT DROP [39145:4283810]
>:FORWARD ACCEPT [15117:726324]
>:OUTPUT DROP [196:39544]
>фильтрация работает прекрасно, не жалуюсь, ACCEPT только для FORWARD или я чего
>то не понимаю??Это я с бадуна не всё посмотрел :)
>про SNAT можете подробно , чтобы я не плодил кучу левых постов
>:(Могу, по памяти примерно можно так, проверь по мануалу:
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.1 --sport 25 -j SNAT --to-source 10.159.31.234Удачи
--to-source 10.159.31.234:25
Спасибо! Все работает как надо!