$ 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
Warum gibt es zwei Datensätze von Port 22 ( :::22
und 0.0.0.0:22
) und warum verwendet einer das Protokoll als tcp
und der andere alstcp6
Dies ist unter Ubuntu 12.04.4
Antworten:
Standardmäßig
sshd
werden IPv4 und IPv6 verwendet. Sie können das Protokoll, das sshd verwendet, über dieAddressFamily
Direktive in konfigurieren/etc/ssh/sshd_config
Für ipv4 & ipv6 (Standard)
Nur für IPv4
Nur für IPv6
Nachdem Sie Änderungen vorgenommen haben, um
sshd_config
neu zu starten,sshd
damit die Änderungen wirksam werden.quelle
Eigentlich ist es etwas interessanter
Selbst wenn Sie IPv6 vollständig deaktivieren, werden einige Sockets aus seltsamen Kernelgründen grundsätzlich als "TCP6 / UDP6" identifiziert.
Ich habe es bemerkt, nachdem ich netstat auf einem Android-Telefon ausgeführt habe, das mit einem 3G-Netzwerk verbunden war, ohne die IPv6-Unterstützung zu beeinträchtigen (in den APN-Einstellungen deaktiviert und vom Netzbetreiber ausdrücklich nicht unterstützt).
Nachdem ich gesehen hatte, dass die TCP6-Verbindungen von WhatsApp irgendwie bestehen bleiben, begann ich zu recherchieren und fand diesen Link: https://blog.codecentric.de/de/2014/04/note-netstat/
quelle
Es ist möglich, nur
::
IPv4 und IPv6 zu binden und zu sprechen. Ich habe mich gefragt, warum einige Anwendungen, einschließlich openssh, dies nicht nutzen.Dieser Abschnitt über IPv6 im FreeBSD-Entwicklerhandbuch enthält einige interessante Kommentare, die relevant sein können:
Wir können auch spekulieren, dass dieses Standardverhalten definiert wurde, als eine signifikante Anzahl von Systemen keine IPv6-Unterstützung hatte.
quelle