Поставил сервак на debian lenny настроил сеть, squid раздает веб юзерам, но не могу настроить NAT для доступа пользователей к внешним почтовым серверам, хотя делал это не раз на разных серваках.
Теперь в деталях.
eth0 смотрит в локалку 192.168.0.0/24 и имеет сетевой адрес 192.168.0.1 является гейтом для всех компов в сети. eth1 получает напрямйю инет от провайдера с адресом 79.*.*.* и маской 255.255.255.252
правила делал разные, смысл примерно такой
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
пробовал менять маскарад на SNAT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-destination 79.*.*.*пробовал указывать и конкретных источников и протоколы ничего не помогает, посоветуйте, как решить проблему, мож я что не учел помимо iptables
>мож я что не учел помимо iptablesВ iptables не учёл разрешающее правило в FORWARD. Вне iptables -- включение ip_forward. М буть, в этом всём -- последовательность правил и ненулевую вероятность опечатьк...
>[оверквотинг удален]
>для всех компов в сети. eth1 получает напрямйю инет от провайдера
>с адресом 79.*.*.* и маской 255.255.255.252
>правила делал разные, смысл примерно такой
>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
>пробовал менять маскарад на SNAT
>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-destination
>79.*.*.*
>
>пробовал указывать и конкретных источников и протоколы ничего не помогает, посоветуйте, как
>решить проблему, мож я что не учел помимо iptablesecho 1 > /proc/sys/net/ipv4/ip_forward
так же у клиента должен быть прописан шлюз и DNS
если это сделано, то загружены ли модули и iptables-save показывайте
>[оверквотинг удален]
>>79.*.*.*
>>
>>пробовал указывать и конкретных источников и протоколы ничего не помогает, посоветуйте, как
>>решить проблему, мож я что не учел помимо iptables
>
>echo 1 > /proc/sys/net/ipv4/ip_forward
>
>так же у клиента должен быть прописан шлюз и DNS
>
>если это сделано, то загружены ли модули и iptables-save показывайтев течении 10 минут выложу, на клиентах все прописано, проблему с днс тестил пингом по ip
>[оверквотинг удален]
>>>решить проблему, мож я что не учел помимо iptables
>>
>>echo 1 > /proc/sys/net/ipv4/ip_forward
>>
>>так же у клиента должен быть прописан шлюз и DNS
>>
>>если это сделано, то загружены ли модули и iptables-save показывайте
>
> в течении 10 минут выложу, на клиентах все прописано, проблему с
>днс тестил пингом по ipпосле echo 1 > /proc/sys/net/ipv4/ip_forward в файлике появилась единичка
результат iptables-save# Generated by iptables-save v1.4.2 on Tue Jun 30 02:04:42 2009
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [2:136]
-A POSTROUTING -j MASQUERADE
-A POSTROUTING -o eth1 -j SNAT --to-source 79.122.149.138
COMMIT
# Completed on Tue Jun 30 02:04:42 2009
# Generated by iptables-save v1.4.2 on Tue Jun 30 02:04:42 2009
*filter
:INPUT DROP [1:68]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [2:136]
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Jun 30 02:04:42 2009сам скрипт в том виде как он есть сейчас
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPTiptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -F -t natiptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -s 0/0 -d 0/0 -j ACCEPT
iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPTiptables -A POSTROUTING -t nat -s 192.168.0.55 -p ALL -j MASQUERADE
iptables -A POSTROUTING -t nat -o eth1 -j SNAT --to-source 79.122.149.138
iptables -t nat -I POSTROUTING -p ALL -j MASQUERADE#iptables -A FORWARD -s 192.168.0.55 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.55 -j ACCEPT
#iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -t nat -A POSTROUTING -s 192.168.0.55 -o eth1 -j SNAT --to 79.122.149.138
уберите
iptables -t nat -I POSTROUTING -p ALL -j MASQUERADE
Ничего не помогло, вот так выглядит скрипт сейчас
iptables -A INPUT -i eth0 -s 0/0 -d 0/0 -j ACCEPT
iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPTiptables -A POSTROUTING -t nat -p TCP --dport 10:79 -o ppp0 -j SNAT --to-source
iptables -A POSTROUTING -t nat -p TCP --dport 81:500 -o ppp0 -j SNAT --to-source
iptables -A POSTROUTING -t nat -p ICMP -o ppp0 -j SNAT --to-source 87.103.*.*
iptables -A POSTROUTING -t nat -o ppp0 -j SNAT --to-source 87.103.*.*#default policy
iptables -P FORWARD ACCEPTПерешли на нового провайдера и картина такая eth0 - локалка, eth1 - модем, ppp0 - pppoe соединение с провайдером.
iptables-save выглядит вот так
*nat
:PREROUTING ACCEPT [42:3098]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [4:287]
-A POSTROUTING -o ppp0 -p tcp -m tcp --dport 10:79 -j SNAT --to-source 87.103.24
-A POSTROUTING -o ppp0 -p tcp -m tcp --dport 81:500 -j SNAT --to-source 87.103.2
-A POSTROUTING -o ppp0 -p icmp -j SNAT --to-source 87.103.245.49.
-A POSTROUTING -o ppp0 -j SNAT --to-source 87.103.245.49.
COMMIT
# Completed on Thu Jul 2 02:31:41 2009
# Generated by iptables-save v1.4.2 on Thu Jul 2 02:31:41 2009
*filter
:INPUT ACCEPT [106:38115]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [102:40168]
-A INPUT -i eth0 -j ACCEPT.
-A INPUT -i lo -j ACCEPT.
COMMIT
# Completed on Thu Jul 2 02:31:41 2009
# Generated by iptables-save v1.4.2 on Thu Jul 2 02:31:41 2009
*mangle
:PREROUTING ACCEPT [594616:243676473]
:INPUT ACCEPT [567112:241740250]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [540525:272151711]
:POSTROUTING ACCEPT [540549:272156819]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:15
COMMIT
# Completed on Thu Jul 2 02:31:41 2009Помогите, пожалуйта, вроде все правильно делаю, но проблему решить не могу
Кстати, с клиентов пингуется внешний ip от провайдера, происходит ли NAT или это сервак сам отвечает без этого.......
>[оверквотинг удален]
>*nat
>:PREROUTING ACCEPT [42:3098]
>:POSTROUTING ACCEPT [0:0]
>:OUTPUT ACCEPT [4:287]
>-A POSTROUTING -o ppp0 -p tcp -m tcp --dport 10:79 -j SNAT
>--to-source 87.103.24
>-A POSTROUTING -o ppp0 -p tcp -m tcp --dport 81:500 -j SNAT
>--to-source 87.103.2
>-A POSTROUTING -o ppp0 -p icmp -j SNAT --to-source 87.103.245.49.
>-A POSTROUTING -o ppp0 -j SNAT --to-source 87.103.245.49.оставте пока только
-A POSTROUTING -o ppp0 -j SNAT --to-source 87.103.245.49когда запустите тогда и будите наворачивать.
а на шлюзе инет работает, через прокси работает?
>[оверквотинг удален]
>:POSTROUTING ACCEPT [540549:272156819]
>-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m
>tcpmss --mss 1400:15
>COMMIT
># Completed on Thu Jul 2 02:31:41 2009
>
>Помогите, пожалуйта, вроде все правильно делаю, но проблему решить не могу
>
>Кстати, с клиентов пингуется внешний ip от провайдера, происходит ли NAT или
>это сервак сам отвечает без этого.......пингуется 87.103.245.49 - это ваша машина и отвечает.
тут кое что про модули есть, может ваш случай
https://www.opennet.ru/openforum/vsluhforumID10/4246.html
Спасибо, подгрузкой модулей решил проблему