¿Qué pasa si la respuesta correcta con route_localnet
no funciona? ..
Si su kernel no incluye el parche pararoute_localnet
, entonces ... ¡actualice el kernel!
O bien, hay otras formas de reenviar el tráfico que llega a una interfaz a otro puerto en otra interfaz (en particular, a localhost) ejecutando un proceso que escuche en la interfaz externa y reenvíe el tráfico.
netcat
( nc
), xinetd
y ssh
(y tal vez más) son todos ejemplos de programas capaces de hacer esto (aunque elegir ssh
sería extraño e ineficaz).
He escrito una configuración xinetd
para esto. Ahora este servicio aparece automáticamente:
# 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
es el nombre de este host en la interfaz de red externa).
Después de un service xinetd reload
, verifiquemos que está escuchando:
# 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)
#
Y de hecho, las conexiones pasan.