¿Por qué se necesitan los puertos 30000 a 60000 al navegar por la red?

¿Por qué se necesitan los puertos 30000 a 60000 al navegar por la red?

¿Por qué estas reglas de iptables me impiden navegar por la red?

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

Con iptables -Fél puedes borrar las reglas de iptables en caso de que no puedas navegar por la red después de probar esas reglas.

Estoy usando Ubuntu 12.04 pero también veo esto en mi servidor Debian.

Respuesta1

El navegador web necesita un puerto para cada solicitud HTTP. Esos puertos (rara vez) los elige el navegador, sino el kernel. El kernel no mira las reglas de ipfilter, solo intenta usar un puerto libre. Y la mayoría de las veces se utilizan los puertos entre 30000 y 60000.

Para ver qué rango de puertos está intentando utilizar su kernel:

cat /proc/sys/net/ipv4/ip_local_port_range

Puedes cambiar esos valores con:

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

o edite el /etc/sysctl.confarchivo para mantener la configuración durante los reinicios.

Editar: como sugiere @TomWijsman, los valores predeterminados son:

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

información relacionada