이러한 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