為什麼瀏覽網路需要30000到60000個端口

為什麼瀏覽網路需要30000到60000個端口

為什麼這些 iptables 規則阻止我瀏覽網頁?

iptables -A INPUT -i eth0 -p tcp --dport 30000:60000 -m state --state NEW,ESTABLISHED -j DROP
iptables -A OUTPUT -o eth0 -p tcp --sport 30000:60000 -m state --state ESTABLISHED -j DROP

iptables -F可以清除 iptables 規則,以防在嘗試這些規則後無法瀏覽網路。

我使用的是 Ubuntu 12.04,但我在 Debian 伺服器上也看到了這一點。

答案1

Web 瀏覽器需要為每個 HTTP 請求提供一個連接埠。這些連接埠(很少)由瀏覽器選擇,而是由核心選擇。核心不查看 ipfilter 規則,它只嘗試使用空閒連接埠。而且大多時候使用的是30000到60000之間的連接埠。

要查看您的核心嘗試使用哪個連接埠範圍:

cat /proc/sys/net/ipv4/ip_local_port_range

您可以透過以下方式變更這些值:

echo 1234 5678 >/proc/sys/net/ipv4/ip_local_port_range   # for immediate effect

或編輯該/etc/sysctl.conf檔案以在重新啟動後保留設定。

編輯:正如@TomWijsman 所建議的,預設值是:

echo 32768 61000 >/proc/sys/net/ipv4/ip_local_port_range

相關內容