Всем привет. Я знаю что вопрос поднимался тут уже неоднократно, но почему-то не получается. У нас есть в локальной сети веб-сайт нужно сделать так чтоб могли туда заходить из интернета, стоит роутер на Ubuntu сервере 10.04. eth0 смотрит во внешку, eth1 в локалку. ип локального компьютера на который должно идти подключение 172.16.0.4 на 80 порт.
По идее можно написать на роутере
iptables -t nat -I PREROUTING --dst 172.16.0.4 -p tcp -m tcp --dport 80 -j DNAT --to-destination 217.х.х.х:4999
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.16.0.4
но по ип 217.х.х.х:4999 никуда не захожу, подскажите пожалуйста в чём ошибка или недонастроил что?
Вы уже определитесь, у вас eth0 или eth1 во внешку смотрит.
А то говорите одно, а в правилах пишете другое.
Вам надо три правила, на самом деле.
-t nat -A PREROUTING -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-t nat -A PREROUTING -i внешний интерфейс -p tcp -m tcp --dport порт перенаправления -j DNAT --to-destination адрес сервера:порт сервиса
-t filter -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-t filter -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
(Ладно, ладно, это четыре...)
В обоих таблицах первое правило должно быть первым, второе - где угодно до блокировок.