LINUX.ORG.RU
ФорумAdmin

NAT, port forwarding, не работает


0

0

Есть два компьютера со статическими IPv4-адресами:
1) компьютер с iptables, интерфейсы eth0 (локальная сеть) и eth1 (интернет)
2) компьютер с apache, интерфейс eth0 (локальная сеть)
${apache_eth0} соединен с ${iptables_eth0} локальной сетью

Как сделать так, чтобы компьютер ${apache_eth0}:80 был доступен из интернета по адресу ${iptables_eth1}:80 ?

Сейчас /var/lib/iptables/rules-save выглядит так (и не работает):

# Generated by iptables-save v1.4.0 on Thu Sep 25 00:04:02 2008
*nat
:PREROUTING ACCEPT
:POSTROUTING ACCEPT
:OUTPUT ACCEPT
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination ${apache_eth0}:80
-A POSTROUTING -o eth1 -j SNAT --to-source ${iptables_eth1}
COMMIT
# Completed on Thu Sep 25 00:04:02 2008
# Generated by iptables-save v1.4.0 on Thu Sep 25 00:04:02 2008
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A FORWARD -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Thu Sep 25 00:04:02 2008
anonymous

в догонку: 
строчка в /etc/sysctl.conf
net.ipv4.ip_forward = 1
раскомментирована,
после конфигурирования перезагружал компьютер iptables

anonymous
()

уберить в правилах -i eth1 и -o eth1, а в первом правиле добавьте -d ${iptables_eth1}

borisych ★★★★★
()

добавь в правила FORWARD и PREROUTING указатель на адрес -d

а вот это лишнее:
-A POSTROUTING -o eth1 -j SNAT --to-source ${iptables_eth1}

а потом покажи iptables -L -v -n после попыток соединения

chocholl ★★
()
Ответ на: комментарий от Kiteman

%) cat /proc/sys/net/ipv4/conf/default/forwarding 1

anonymous
()
Ответ на: комментарий от chocholl

Все настроилось, всем спасибо!

anonymous
()

это на одном и том же серваке? если да но нафига форвардить? просто на апаче разрешить смотреть обе сети... и разрешить 80 порт на файрволе... если нет то схема читай http://www.opennet.ru/base/net/dnat_linux.txt.html

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.