我的問題是一般的理解,而不是解決我有一個問題。iptables塊輸入端口80
我設法運行iptables -A OUTPUT -p tcp --dport 80 -j REJECT
並阻止http請求。當我跑curl http://b.scorecardresearch.com/beacon.js
我有curl: (7) Failed to connect to b.scorecardresearch.com port 80: Connection refused
然後我刪除輸出規則,並建立了一個輸入規則iptables -A INPUT -p tcp --dport 80 -j REJECT
。然後我可以訪問curl http://b.scorecardresearch.com/beacon.js
而沒有任何問題。
我明白爲什麼傳出的請求沒有被阻塞,但是當我發出一個http請求時,響應不會在同一個端口(80)上返回並且應該被端口80的INPUT REJECT阻塞?
那麼,爲什麼當我在端口22上爲ssh創建一個TCP連接時,傳出和傳入數據包將在同一端口上傳輸(22 )而不是隨機端口? – yanivps
不,這是相同的,數據包被傳輸到端口22,但是在您的計算機上的客戶端端口上接收,這是爲您創建連接的原因。 –