เกิดอะไรขึ้นถ้าคำตอบที่ถูกต้อง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
เป็นชื่อของโฮสต์นี้บนอินเตอร์เฟสเครือข่ายภายนอก)
หลังจาก a 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)
#
และแน่นอนว่าการเชื่อมต่อต้องผ่าน!