Iptables проброс портов
Понадобилось мне пробросить порт на другую машину с сервачка.. Решение нашел достаточно быстро, однако оно работало как-то через раз..
Прежде всего расскажу, об ip адресах и интерфейсах:
eth0 = 256.150.202.108 = внешний ip сервера (ошибка в ip адресе допущена специально, чтобы никого не обидеть)
eth1 = 192.168.2.1 = внутренний ip сервера
192.168.2.103 = адрес компьютера куда будет пробрасываться порт с сервера
256.150.202.108:8080 = порт куда будут обращаться
192.168.2.103:80 = порт куда должны попасть
Т.е. мы заходим по адресу 256.150.202.108:8080, а попадаем сюда: 192.168.2.103:80. Графически это выглядит вот так:
Вначале я сделал такие правила:
1 2 3 4 5 6 7 8 |
# Расшариваем инет iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 256.150.202.108 # проброс портов на внутреннюю машину iptables -t nat -A PREROUTING -p tcp --dst 256.150.202.108 --dport 8080 -j DNAT --to-destination 192.168.2.103:80 iptables -t nat -A POSTROUTING -p tcp --dst 192.168.2.103 --dport 80 -j SNAT --to-source 256.150.202.108:8080 |
Однако поведение было довольно странное - отправляю запрос, все ок - проброс сработал. Пробую повторить - ничего не работает, до перезагрузки iptables..Т.е. работает, но только один раз..
В итоге, убил на это два дня, пока методом подбора, не модифицировал правила вот так:
1 2 3 4 5 6 7 8 9 |
# Расшариваем инет iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 256.150.202.108 # проброс портов на внутреннюю машину iptables -t nat -A PREROUTING -p tcp --dst 256.150.202.108 --dport 8080 -j DNAT --to-destination 192.168.2.103:80 iptables -t nat -A POSTROUTING -p tcp --dst 192.168.2.103 --dport 80 -j SNAT --to-source 192.168.2.1 iptables -t nat -A OUTPUT -p tcp --dst 256.150.202.108 --dport 8080 -j DNAT --to-destination 192.168.2.103:80 |
После этого все начало работать так как и ожидалось. Честно сказать, в чем была проблема я до конца и не понял, все же мои познания в iptables, оставляют желать лучшего. Оставлю этот вопрос "на потом". Если кто-то понимает причину, напишите пожалуйста в комментариях..
Author: | Tags: /
| Rating:
2 comments.
Write a comment