web-dev-qa-db-ja.com

Debian 7 IPv6リンクローカルアドレスはどのように設定されますか?

Dhclientがeth0で実行されると、DHCPサーバーからIPv4アドレスを取得し、eth0に接続されたScope:Link IPv6アドレスを取得するようです。

inet6 addr: fe80::a00:27ff:fed0:4d41/64 Scope:Link

しかし、dhclient-scriptからは、そのアドレスがどのように追加されているのかわかりません。静的IPアドレスを持つ別のインターフェイスで、リンクローカルIPv6アドレスを追加したいのですが、Macを知らずにそれを行うための一般的なコマンドがあるかどうか疑問に思っていました。

編集:
「ip link set dev ethX up」または「ifconfig ethX up」を実行すると、カーネルがリンクローカルアドレスを割り当てるようです。しかし、私の場合、DHCPを使用しているインターフェースにケーブルが接続されていて、静的にセットアップしていたインターフェースにケーブルが接続されていませんでした。月曜日まで確認できませんが、リンクがない場合、カーネルがインターフェイスにリンクローカルアドレスを割り当てないと思います。

12
Aaron

リンクローカルアドレスは、デバイスのMACアドレスから取得されます。それらは、インターフェースを始動する一環として自動生成されます。自動構成には、アドレスがネットワーク上で一意であることを確認するための検出プロセスが含まれています。

ルータアドバタイズメントが使用可能な場合、同様のプロセスを使用してルーティング可能なアドレスを自動設定します。これらのアドレスは、プライバシーを確​​保するために定期的に再生成される場合があります。

RFC 4862 は、従うプロセスを指定します。

7
BillThor

それを見つけた!このコマンドでは不十分です:

ifconfig eth0 up

代わりに私はしなければなりません:

ifconfig eth0 up
sysctl -w net.ipv6.conf.eth0.disable_ipv6=0

後者のみがeth0のIPv6リンクローカルアドレスを復元します。

言い換えると、私のディストリビューションには、動的に変更されるコードがどこかに隠されているようですnet.ipv6.conf.eth0.disable_ipv6ネットワークをアップまたはダウンするように要求されるたびに。あなたのマイレージは異なる場合があります。

私はただのおかげでこれの底に着きました:

sysctl -a | grep ipv6
6
MarcH