RFC4862 パブリック(MACベース)IPv6アドレスを取得せずに RFC4941 一時(プライバシー)IPv6アドレスを自動的に取得するようにLinuxカーネルを構成することは可能ですか?
Ubuntu 13.04 Linuxシステムで次のsysctl設定を使用すると、一時的なIPv6アドレスを取得しますが、パブリックMACベースのIPv6アドレスも取得します。
_net.ipv6.conf.eth0.autoconf=1
net.ipv6.conf.eth0.use_tempaddr=2
_
MACベースのIPv6アドレスは必要ありません。一時的なプライバシーアドレスが欲しいだけです。 _use_tempaddr=2
_が一時アドレスをpreferと言っていることはわかりましたが、アプリケーションはMACベースのアドレスをbind()
することができますまたは、_IPV6_PREFER_SRC_PUBLIC
_ sockopt( RFC5014 を参照)を使用して、この設定を上書きします。 Adobe Flashのようなアプリケーションでは、WebサイトがMACベースのIPを使用してFlashアプリケーションを自宅に電話できるようになり、マーケター(または政府)がどこに行っても追跡されないようにすることがはるかに難しくなると予測しています。
次のsysctl設定を使用します。
_net.ipv6.conf.eth0.autoconf=0
net.ipv6.conf.eth0.use_tempaddr=2
_
自動的に構成されたIPv6アドレスが取得されません。無し。
MACベースのIPv6アドレスを取得せずに一時的なIPv6アドレスを取得するにはどうすればよいですか?
申し訳ありません。一時アドレスが必要な場合は、ステートレスアドレス自動構成(既にご存知のとおり)またはDHCPv6のいずれかを使用する必要があります。これは DHCPv6サーバーから一時アドレスを要求する に構成できます。あなたの場合、DHCPv6はおそらくあなたが行きたい方法であり、それはほとんどの主要なISPが展開しているものです。
最近のカーネル(または最近のNetworkManagerバージョン)では、 RFC 7217 アドレス生成モードを有効にできます。これにより、シークレットシードに基づいて安定したアドレスが提供されます。
NetworkManager 1.2はautoconfを処理し、独自にアドレスを割り当てます。
$ nmcli con modify "Ethernet" ipv6.addr-gen-mode stable-privacy
これは、NetworkManager.conf
を介してすべての新しい接続に設定できます。
古いNMバージョンおよび非NMシステムは、カーネルに依存してアドレスを割り当てます。新しいaddrgenmodeは、sysctlを介してアクティブ化できます。
net.ipv6.conf.default.stable_secret = 1d8b:4da9:888k:5a65:7aaa:7o2d:ce60:ec4e
もちろん、代わりに独自のキーを生成する必要があります。
$ head -c 16 /dev/urandom | xxd -p | sed "s/..../:&/g; s/://"
ip -d link
を使用して、「addrgenmodestable_secret」が表示されていることを確認します。