Проброс порта

Народ, я совсем запутался.
Подскажите как быть.
Надо перебросить с внешнего IP определённый порт на внутренний IP c другим портом. Как это сделать с помощью iptables я не могу понять.
Т.е. допустим у меня адрес 10.199.32.11 и порт 3002, и мне порт с этого IP надо перебросить на адрес локальный, допустим 192.168.20.10 и чтобы порт был другой, допустим 3333.

Читаю мануалы, и ничего не понимаю. Ни разу такого не делал.
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 77777 -j DNAT --to-destination 10.1.1.4:3389
Разберешься?
Надеюсь ты понимаешь что 10.x.x.x это диапазон для локалок.
“Проброс” tcp-порта 3002 с интерфейса ppp0 на адрес 192.168.20.10 порт 3333:
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 3002 -j DNAT --to-destination 192.168.20.10:3333
sht0rm
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 77777 -j DNAT --to-destination 10.1.1.4:3389
Разберешься?

Спасибо, кажется понятно. Я делал только POSTROUTING. Вместо интерфейса я могу же указать IP?

Да, конечно же я понимаю. Просто IP был дан для примера, без привязки.
Если внешний айпи постоянный, то вы можете вместо -i ppp0 указать -d 10.199.32.11 , но этого НЕ ТРЕБУЕТСЯ.
Интерфейс в линуксе называется по имени, а не по айпи, как в форточках.
Это справедливо и для правил фаерволла, и для роутов.
Скажем, назначение вида ip route default dev ppp0 вполне обыденно.
Всем спасибо за ответы. Разобрался.
 
Зарегистрироваться или войдите чтобы оставить сообщение.