Lange IPv6 einer Schnittstelle ausdrucken

Lange IPv6 einer Schnittstelle ausdrucken

::Gibt es einen Befehl, um die lange IPv6-Version (also mit lauter Nullen statt der Kurzversion mit ) einer Schnittstelle auszudrucken ?

Zum Beispiel,ip -6 addr -I eth0 full

Antwort1

Etwas wie

grep eth0 /proc/net/if_inet6 | cut -d' ' -f1

gibt Ihnen die vollständige Adresse in Hexadezimalzahlen. Sie müssen noch die :Trennzeichen einfügen, wenn Sie sie möchten. (Sie haben nicht gesagtWarumSie brauchten nur Nullen – alles, was braucht, :akzeptiert auch Kurzformen mit ::).

Bearbeiten

Für das Präfix eines DNS-PTR etwa

grep eth0 /proc/net/if_inet6 | cut -d' ' -f1 | rev | sed 's/./&./g'

Beachten Sie, dass es zurückkehrtalleIPv6-Adressen für diese Schnittstelle, Sie müssen also iterieren.

Wenn Sie DNS-PTR-Einträge von vorhandenen IPv6-Schnittstellen festlegen müssen, ist höchstwahrscheinlich etwas an der Art und Weise, wie Sie DNS handhaben, falsch. Normalerweise machen Sie es andersherum: Was auch immer die Quelle Ihrer DNS-Einträge ist, diese sollte auch die Adresse(n) Ihrer Schnittstelle(n) bestimmen.

Antwort2

Zum Generieren von Reverse-DNS-Einträgen gibt es vielleicht sipcalcein besseres Tool:

$ sipcalc -r 2001:db8::1
-[ipv6 : 2001:db8::1] - 0

[IPV6 DNS]
Reverse DNS (ip6.arpa)  -
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

Verwenden Sie einfach grep, um den Datensatznamen selbst abzurufen:

$ sipcalc -r 2001:db8::1 | fgrep .ip6.arpa
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

verwandte Informationen