karubabuの日記

タイトルに解決って付いているものがあるけれど、別に付いていない物は解決していないというわけではないです。つまるところ記事を書いた後に解決してちょっと嬉しかったので付けました。

ipv6一時アドレスを送信元アドレスとして使ってくれない

1ヶ月くらい前からやたら綺麗なv6addrが出てくるな🤗と思ったら一時アドレスを使ってくれていなかった
これに意味があるのかあまり調べていなくて正直謎みたいなところはあるのだけれど、長いアドレスだとv6っぽくてかっこいい(?)のでこれを送信元とするように変更した
何が原因だったのかはよく分からないけれどnetctlからsystemd-networkdに移行して適当に設定を弄ったら使ってくれるようになった

おきたこと

1ヶ月超くらい前からip aすると

inet6 ****:****:****:1::1/128 scope global dynamic noprefixroute 
       valid_lft 1660sec preferred_lft 1660sec

のようなアドレスが送信元として使用されてしまうようになった
(隠すところここだけでええんか🤔)
前は/64なアドレスを使っていたしもっとなんか乱雑じゃなかったっけ???
と思いながら調べると IPv6 - ArchWikiこんなのがあった
なんかの拍子にmacaddrを隠す設定が使われなくなったということなのかしら

なにをした

systemd-networkdへの移行

なんだか上記のリンクにnetctlがないし折角だからsystemd-networkdに移行することにした
前々からnetctl経由でwpa_supplicantを使用していたのでそのあたりは困ることもなく
systemd-networkd - ArchWikiを見てsystemd-networkd用のnetworkファイルを作成するだけで出来た
networkファイルはこんなかんじになるはず

[Match]
Name=wlp0s*

[Network]
DHCP=ipv4

後は適当にnetctlを止めて無効化してsystemd-networkdを有効化する

プライバシー拡張の有効化

さっきのnetworkファイルのNetworkセクションに IPv6PrivacyExtensions=kernelを追加して再起動
この再起動、systemd-networkdだけ再起動したけれどだめだったのでパヨヨンごとやらないとだめそう わからん
これで多分見慣れた小難しいアドレスが出る

おわり

ip addr change ****:****:*****:1::1/128 dev wlp0s preferred_lft 0
ip addr delete ****:****:*****:1::1/128 dev wlp0s
とかもやってみたけれどDHCPv6が走る度にリセットされてしまうのでだめだった

相変わらずだけど原因は分からないしなんで直ったのかも今一つ分からないみたいなところあってこわいね