Есть задача, на компьютере(OS Linux Gentoo) подключеном к интернету с публичным IP адресом 82.118.94.14, на внутреннем интерфейсе dummy0 с IP 10.0.0.1 запущен сервер, который слушает на UDP порту 11235.
Сервер может работать только с приватными диапазонами IP адресов, тоесть с публичный IP адресов он отпинывает все попытки подключится. Необходимо создать правило для nat с помощью iptables, которое бы создавал как бы обратный nat для этого сервиса. Тоесть необходимо всех пользователей подключающихся по порту 11235 на адрес 82.118.94.14 прикидывать локальный адрес виртуального интерфейса dummy0 10.0.0.1 да еще и менять публичный IP адрес внешнего клиента на какой-нибудь приватный IP адрес, например на 10.0.0.1 ну или на любой другой из диапазона 10.0.0.1-254.
На данный момент я сделал правила для проброса порта внешнего интерфейса на порт на внутренний интерфейс:
Код: Выделить всё
iptables -t nat -A PREROUTING -p udp -i eth0 -d 82.118.94.14 --dport 11235 -j DNAT --to 10.0.0.1:11235Далее я пытался заменить Source IP, но это правило не срабатывает:
я пробовал и так:
Код: Выделить всё
iptables -t nat -A POSTROUTING -p udp -j SNAT --to-source 10.0.0.1и так:
Код: Выделить всё
iptables -t nat -A POSTROUTING -p udp -o eth0 -j SNAT --to-source 10.0.0.1и так:
Код: Выделить всё
iptables -t nat -A POSTROUTING -p udp -o dummy -j SNAT --to-source 10.0.0.1не получается