인터넷을 검색할 때 포트 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

웹 브라우저에는 각 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

관련 정보