ホームサーバーを指すドメイン名があります。 Wilyを介したすべてのUbuntuリリースでは、デフォルトで、AAAAレコードに使用できる安定したEIU-64アドレスがありました。ただし、Xenialをインストールした後、デフォルトでは安定したアドレスを取得していないようです。
joejoe@myserver:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope Host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope Host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:24:1d:d2:e3:f4 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.101/24 brd 192.168.0.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet6 2601:280:3068:2945:74ed:b303:6474:6e29/64 scope global temporary dynamic
valid_lft 6965sec preferred_lft 3363sec
inet6 2601:280:3068:2945:ac34:ea15:4340:29a4/64 scope global temporary deprecated dynamic
valid_lft 6965sec preferred_lft 0sec
inet6 2601:280:3068:2945:bdfd:6253:b07e:1308/64 scope global mngtmpaddr noprefixroute dynamic
valid_lft 6965sec preferred_lft 6965sec
inet6 fe80::dc3e:6127:bd4e:18b/64 scope link
valid_lft forever preferred_lft forever
ご覧のとおり、inet6
を含むすべてのscope global
アドレスの有効期間は限られています。 EIU-64アドレスを取得する方法はありますか、またはドメイン名レコードで使用できる安定したアドレスを取得する他の方法はありますか?
私はこれを理解しました。 /etc/NetworkManager/system-connections/
の各接続に対して、次のプロパティを設定する必要があります。
[ipv6]
addr-gen-mode=eui64
16.04のNetworkManagerは、stable-privacy
設定にデフォルトのaddr-gen-mode
を設定しているようです。 stable-privacy
が設定されている場合、ip6-privacy
が0に設定されている場合でも、毎回ランダムなアドレスが生成されます。
ここでの他の答えは少し不完全です:NetworkManagerの設定を変更しても、haveがない場合は役に立ちません(実際には問題です。以下を参照) )、およびIPv6プライバシー拡張機能を無効にすることは、実際には多少関係ありません(再度、各安定したIPv6アドレスがブートごとに変更される場合、余分なプライバシーアドレスを削除しても役に立ちません)。
このスレッド で詳しく説明されているように、有線接続を使用している場合、デフォルトの16.04の新規インストールでは、若干の見落としがあります。 NetworkManagerは自動的に「一時的な」構成を生成します。これはうまく機能しますが、一時的なものです。これは、一貫性のあるIPv6アドレスへのハッシュに使用されるGUIDが保存されないため、ブートするたびに新しいアドレスが取得されることを意味します。 NetworkManagerに移動し、有線接続で「編集」を押して変更なしで保存すると、GUIDが保存された実際のNM構成が生成されるため、ブートごとに同じIPv6アドレスが取得されます。 。
このアドレスはRFC7217アドレス(GUIDの暗号ハッシュ、プレフィックスなど)です。したがって、ブートごとに安定していますが、アドレスに直接MACアドレスを含めるのではありません。これらのEUI64アドレスのいずれかが必要な場合は、 この質問に対する他の回答 でそれを変更する方法を詳しく説明しています。
Ubuntu 16.04以前のリリースでは、常にデフォルトでEIU-64が使用されていたため、サーバーの場合は無効にする必要があります。デスクトップでプライバシーアドレスを使用できてうれしいです。
したがって、次のようなものが必要です。
sysctl -w net.ipv6.conf.all.use_tempaddr=0
sysctl -w net.ipv6.conf.default.use_tempaddr=0
sysctl -w net.ipv6.conf.default.use_tempaddr=0
sysctl -w net.ipv6.conf.<devname>.use_tempaddr=0
その後、ifdown/ifup。結果は、MAC/IPv6の関係に注意してください。
$ ifconfig enp3s0 | egrep 'HWaddr|Global'
enp3s0 Link encap:Ethernet HWaddr 74:d0:2b:90:8b:90
inet6 addr: 2501:300:d008:61c8:76d0:2bff:fe90:8b90/64 Scope:Global
特定のインターフェイスを有効にする必要がある場合は、特定のインターフェイスに名前を付けることができます。リストは次の方法で表示できます。
$ sysctl -a | grep tempaddr
実稼働サービスにはネットワークマネージャーはお勧めしません。たとえば、/ etc/sysctl.confのように、他のプレーヤーではうまく再生されません。これを行うには、静的アドレスまたは自動構成されたアドレスのエントリが/ etc/networking/interfacesに必要です。私はちょうど使用しています:
auto enp3s0
iface enp3s0 inet dhcp
iface enp3s0 inet6 auto
pre-up modprobe ipv6
もちろん好みに合わせて調整してください。