インターフェースの長い IPv6 を出力する

インターフェースの長い IPv6 を出力する

::インターフェースの長い IPv6 バージョン (つまり、 を含む短いバージョンではなく、すべてゼロ) を出力するコマンドはありますか?

例えば、ip -6 addr -I eth0 full

答え1

何かのようなもの

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

完全なアドレスを16進数で表示します。:必要な場合は区切り文字を挿入する必要があります。(なぜすべてゼロが必要でした - 必要なものはすべて、:を使用した短縮形も受け入れます::

編集

DNS PTRのプレフィックスは、次のようなものになります。

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

戻ってくることに注意してください全てこのインターフェースには IPv6 アドレスがあるため、繰り返し実行する必要があります。

また、インターフェイス上の既存の IPv6 から DNS PTR エントリを設定する必要がある場合、DNS の処理方法に何か大きな間違いがある可能性が非常に高くなります。通常は、逆の方法で行います。つまり、DNS エントリのソースが何であれ、それによってインターフェイス上のアドレスも決定されます。

答え2

逆 DNS レコードを生成するには、おそらくsipcalc次のツールの方が適しています:

$ 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.

grepレコード名自体を取得するには、次のように使用します。

$ 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.

関連情報