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

Исходное сообщение
"port forwarding"

Отправлено vsd , 19-Мрт-06 17:00 
К машине подключены 2 городские локальные сети (крупные и многосегментные).
Первая висит на eth0 (ip eth0 172.16.8.3, шлюз 172.16.8.1)
Вторая висит на eth1 (ip eth1 172.17.25.151, шлюз 172.17.25.1)
На каждую сеть я имею только 1 IP (то есть не могу сделать полноценный маскарадинг), есть желание сделать наиболее интересные ресурсы одной сети, доступными из другой. И наоборот. Допустим, перенести из первой подсети ftp, расположенный на 172.16.0.2 и http 172.16.0.3 мне на порты, допустим, 2020-2021 для ftp и 2080 http. И, допустим, http из второй сети (ip 172.17.1.1) повесить мне на порт 4080. (Идея, думаю, понятна)
Моя ОС - Debian unstable
Подскажите правила для iptables pls. Запутался в NAT, SNAT, DNAT и т.д.
Или может есть более простое решение чем iptables?

Содержание

Сообщения в этом обсуждении
"port forwarding"
Отправлено Коршун , 21-Мрт-06 13:14 
Первая висит на eth0 (ip eth0 172.16.8.3, шлюз 172.16.8.1)
Вторая висит на eth1 (ip eth1 172.17.25.151, шлюз 172.17.25.1)


Допустим, перенести из первой подсети ftp, расположенный на 172.16.0.2 и http 172.16.0.3 мне на порты, допустим, 2020-2021 для ftp и 2080 http

это правило для файл сервера:
т.е все обращения на /твой IP/ на порт 2020 будут переадрисовываться на 172.16.0.2
iptables -A PREROUTING -d /ТВОЙ IP/ --dport 2020 -j DNAT --to-distination 172.16.0.2
ну а далее фильтрация как обычно


"port forwarding"
Отправлено Коршун , 21-Мрт-06 13:17 
а точнее так

iptables -A PREROUTING -d /ТВОЙ IP/ --dport 2020 -j DNAT --to-distination 172.16.0.2:21


"port forwarding"
Отправлено vsd , 21-Мрт-06 18:10 
>а точнее так
>
>iptables -A PREROUTING -d /ТВОЙ IP/ --dport 2020 -j DNAT --to-distination 172.16.0.2:21
>

так iptables не понравилось. скормил только так:
iptables -t nat -p tcp -A PREROUTING -d 172.17.25.151 --dport 2080 -j DNAT --to-destination 172.16.0.2:80

(вроде как по http проблем должно быть меньше для первоначального тестирования...)

Нифига. правило съел и всё. Кто подскажет, чего ещё надо ему? ибо у меня iptables сейчас вообще 100% чист - то есть это еслинственное правило. может он по умолчанию drop делает?..


"port forwarding"
Отправлено CompStar , 09-Апр-06 03:02 
Можно попробывать так подменить порт на твоей машине:
iptables -t nat -A PREROUTING -p tcp --dport 2080  -j REDIRECT --to-ports 80
Но лучше сделать это на 172.16.0.3.
А то вероятно, что придется отказаться от собственных сервисов.
Далее:
iptables -t nat -A PREROUTING -p tcp --dport 80  -s 172.17.25.25 -d 172.17.25.151 -j DNAT --to-destination 172.16.0.3
iptables -t nat -A POSTROUTING -p tcp --dport 80 -s 172.17.25.25 -d 172.16.0.3 -j SNAT --to-source 172.16.8.3


172.17.25.25 - адрес машины которой ты хочешь предоставить доступ в другую подсеть к http 172.16.0.3.


Клиенты должны конектится как к 172.17.25.151:2080. Аналогично прокидывается и в обратную сторону.


"port forwarding"
Отправлено vsd , 09-Апр-06 21:26 
Пасибо за совет. Попробую. Правда отказываться от собственных сервисов ну никак нельзя. Если отказываться, то да, через меня по одному правиль лезут спокойно и без вопросов. Но хотелось бы, конечно, сохранить все сервисы.