¿Iptables hace que ssh se detenga?

¿Iptables hace que ssh se detenga?

Tengo un servidor que ejecuta varias máquinas virtuales a través de dos puentes y quiero proteger el host mediante iptables.

Así que tengo los valores predeterminados para ENTRADA/SALIDA: soltar y ADELANTE: aceptar, y algunas reglas de ENTRADA/SALIDA para permitirme acceso ssh.

Ahora bien, el problema con esta configuración es que las sesiones ssh aparentemente se congelan cuando un comando produce algunas líneas de salida. Por ejemplo date, funciona, pero iptables -Lo topse colgará en medio de su salida. Puedo cerrar la sesión con ~., iniciar sesión nuevamente, volver a configurar iptables a los valores predeterminados y todo vuelve a funcionar.

Además, después de configurar las reglas de iptables, pasa un tiempo antes de que surja el problema. No he podido determinar el tiempo exacto, creo que ha sido entre 5 y 20 minutos.

¿Alguna idea de qué podría causar tal problema o cómo se podría diagnosticar?

Respuesta1

Intente ejecutar iptables -L -n(agregue la opción -n). La resolución de nombres puede hacer que iptables -L se cuelgue.

Respuesta2

¿Estás bloqueando ICMP por completo? Si es así, es posible que haya creado unAgujero negro PMTU.

Respuesta3

¿Tiene una regla de iptable para permitir el paso del tráfico establecido?

iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

También he visto este problema debido a un horizonte dividido en la red, pero eso no parece ser su problema debido a que el problema desaparece cuando elimina las reglas de iptable.

Respuesta4

Esto podría ser un problema de agujero negro MTU.

MTU es la unidad de transmisión máxima; qué tamaño de paquete puede soportar cada lado. Ethernet tiene por defecto 1500 bytes, pero esa no es ni mucho menos la única posibilidad.

Los comandos cortos funcionan porque están por debajo de ambos tamaños de MTU. Los más largos no lo hacen porque no lo son.

Si ambos extremos de la conexión no utilizan la misma MTU, o si la red en el medio tiene una MTU más pequeña, sus sistemas necesitarán resolver esto de alguna manera; el proceso se llama Path MTU Discovery.

La forma en que esto sucede es con mensajes ICMP. Si estás bloqueando todo ICMP, bueno, estás bloqueando cosas útiles.

Más información aquí:¿Por qué no bloquear ICMP?

También tenga en cuenta que si la red de MTU pequeña en el medio es de capa 2 (por ejemplo, los puentes que ha configurado), el descubrimiento de MTU de ruta no funcionará; los paquetes simplemente se descartarán y aparecerán como errores en el conmutador/puente y/o en las interfaces Ethernet.

información relacionada