$ netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
¿Por qué hay dos registros del puerto 22 ( :::22
y 0.0.0.0:22
) y por qué uno usa el protocolo como tcp
y el otro comotcp6
Esto está en Ubuntu 12.04.4
Respuestas:
Por defecto
sshd
usa ipv4 e ipv6. Puede configurar el protocolo que sshd usa a través de laAddressFamily
directiva en/etc/ssh/sshd_config
Para ipv4 e ipv6 (predeterminado)
Solo para ipv4
Solo para ipv6
Después de realizar cualquier cambio,
sshd_config
reiniciesshd
para que los cambios surtan efecto.fuente
En realidad, es un poco más interesante.
Básicamente, incluso si desactiva completamente IPv6, algunos sockets se identificarán como "TCP6 / UDP6" debido a razones curiosas del núcleo.
Lo noté después de ejecutar netstat en un teléfono Android que estaba conectado a una red 3G sin entintar el soporte de IPv6 (deshabilitado en la configuración de APN y explícitamente no admitido por el operador)
Después de ver que las conexiones TCP6 de WhatsApp de alguna manera persisten, comencé a investigar y encontré este enlace: https://blog.codecentric.de/en/2014/04/note-netstat/
fuente
Es posible enlazar solo
::
y hablar tanto IPv4 como IPv6. Me he preguntado por qué algunas aplicaciones, incluida openssh, no aprovechan esto.Esta sección sobre IPv6 en el manual para desarrolladores de FreeBSD tiene algunos comentarios interesantes que pueden ser relevantes:
También podemos especular que este comportamiento predeterminado se definió cuando un número significativo de sistemas no tenía soporte para IPv6.
fuente