Драсьте!
Попытался поднять порт-маппинг:$iptables -t nat -I PREROUTING 1 -i $gnd_if -p tcp -s ${remote_ip[$i]} -d $gnd_ip --dport ${remote_port[$i]} -j DNAT --to-destination ${local_ip[$i]}:${local_port[$i]}
$iptables -t nat -I POSTROUTING 1 -o $gnd_if -p tcp -s ${local_ip[$i]} -d $int_ip --sport ${local_port[$i]} -j SNAT --to-source $gnd_ip:${remote_port[$i]}
remote_ip - ip удалённого хоста, с которого коннектимся (83.166.112.41)
local_ip - хост во внутренней сети, на который надо редиректить (10.0.0.2)
remote_port - порт на сервере, к которому соединяется удалённый хост (23)
local_port - порт на машине в локальной сети, на который редиректим (23)
gnd_if - внешний ифейс сервера
gnd_ip - ИП на ^ сетевухе
int_if - внутренний ифейс сервера
int_ip - ИП ^ сетевухи
Фаервол пуст.
tcpdump на внутренней сетевухе показывает:
13:55:10.169058 IP 83.166.112.41.1775 > 10.0.0.2.23: S 3349012975:3349012975(0) win 5840 <mss 1412,sackOK,timestamp 1295425638 0,nop,wscale 0>
13:55:13.180982 IP 83.166.112.41.1775 > 10.0.0.2.23: S 3349012975:3349012975(0) win 5840 <mss 1412,sackOK,timestamp 1295428639 0,nop,wscale 0>
13:55:19.174836 IP 83.166.112.41.1775 > 10.0.0.2.23: S 3349012975:3349012975(0) win 5840 <mss 1412,sackOK,timestamp 1295434639 0,nop,wscale 0>
Т.е. пакеты приходят и iptables их переправляет во внутреннюю сеть, а ответов от клиента (10.0.0.2) не видно.
Вопрос 1: не должен ли он подменять в пакетах ip источника?
Слушаем на клиенте (10.0.0.2) с помощью Ethereal - никакие пакеты на 23 порт не приходят. Если с сервера запустить, допустим, пинг, то пакеты приходят и в Ethereal видны.
Вопрос 2: где я накосячил и/или что забыл, что оно не работает? Подскажите, плиз.