Що робити, якщо правильна відповідь 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)
#
І справді, зв’язки проходять через!