Iptables
當 Iptables 僅允許埠 22 時,本地埠轉發不起作用
我正在嘗試使用 SSH 隧道進行本地埠轉發。
機器1: iptables的規則是:
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
機器 2: ssh 伺服器 (sshd) 接受來自埠 22 的流量。
SSH 命令:
ssh lub2@10.0.2.6 -L 8080:209.188.89.221:80
其中:209.188.89.221 是一個隨機的 HTTP 網頁,10.0.2.6 是機器 2 的 IP(而 lub2 是使用者名)
這樣我應該能夠使用http://127.0.0.1:8080作為 URL(來自機器 1)訪問網頁(209.188.89.221) ,但是它載入並且沒有結果。
簡而言之,如果我打開機器 1 上的所有埠,則埠轉發工作,但是當我只打開 22(並且所有其他埠關閉)時,它不會。你有解釋嗎?
乾杯
您的
OUTPUT
鏈將數據包丟棄到除 80 之外的所有埠。當您在 載入網頁時,其目標是埠 8080,鏈http://127.0.0.1:8080
中不允許使用該埠。OUTPUT
您可以
localhost
使用以下線路允許來自/到的所有流量:iptables -I INPUT 1 -i lo -j ACCEPT iptables -I OUTPUT 1 -o lo -j ACCEPT
這不會影響您電腦的外部安全性。