Что, если правильный ответ с route_localnet
не работает? ..
Если ваше ядро не содержит патч дляroute_localnet
, то ... обновите ядро!
Или есть другие способы перенаправить трафик, поступающий на один интерфейс, на другой порт на другом интерфейсе (в частности, на localhost), запустив процесс, который будет прослушивать внешний интерфейс и пересылать трафик.
netcat
( nc
), xinetd
и ssh
(и, возможно, больше) являются примерами программ, способных сделать это (хотя выбор ssh
будет странным и неэффективным).
Я написал конфигурацию xinetd
для этого. Теперь этот сервис автоматически активируется:
# cat /etc/xinetd.d/z-from-outside
# default: off
# description: Forward connections to the z port.
service z-from-outside
{
disable = no
socket_type = stream
type = UNLISTED
wait = no
user = nobody
bind = vaio.ob
port = 7070
redirect = localhost 7070
}
#
( vaio.ob
имя этого хоста во внешнем сетевом интерфейсе.)
После service xinetd reload
, давайте проверим, что он слушает:
# lsof -i -P | fgrep 7070
xinetd 556 root 6u IPv4 1797906 0t0 TCP vaio.ob:7070 (LISTEN)
sshd 27438 tun_zzoom 4u IPv4 1059100 0t0 TCP localhost.localdomain:7070 (LISTEN)
#
И действительно, связи проходят!