К машине подключены 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?
Первая висит на 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
ну а далее фильтрация как обычно
а точнее такiptables -A PREROUTING -d /ТВОЙ IP/ --dport 2020 -j DNAT --to-distination 172.16.0.2:21
>а точнее так
>
>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 делает?..
Можно попробывать так подменить порт на твоей машине:
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. Аналогично прокидывается и в обратную сторону.
Пасибо за совет. Попробую. Правда отказываться от собственных сервисов ну никак нельзя. Если отказываться, то да, через меня по одному правиль лезут спокойно и без вопросов. Но хотелось бы, конечно, сохранить все сервисы.