プロジェクト

全般

プロフィール

バグ #1061

完了
NO NO

atri から IPv6 接続ができない

バグ #1061: atri から IPv6 接続ができない

nop_thread さんが4日前に追加. 3日前に更新.

ステータス:
完了待機
優先度:
通常
担当者:
開始日:
2026/05/27
期日:
進捗率:

100%

一時中断:
いいえ
pinned:
いいえ
リマインド予定日:
2026/08/08
前回確認日:
2026/05/29
管理外残件あり:
はい

説明

状況:

  • IPv4, 宅内: OK (nagisa, forge)
  • IPv6, 宅内: NG (repotato)
    • 宅内とはいえ、別の VLAN にあって global IPv6 アドレスで接続を試みたもの。
  • IPv4, Internet: OK
  • IPv6, Internet: NG (honoka)

別の VLAN の global IPv6 addr 宛の接続をルータがどう流すのかよくわかっていないが、とりあえず IPv6 経由の SSH がおかしいと言って良さそう。
ルータを通る必要があるかはわからない。

NO nop_thread さんが4日前に更新 · 編集済み 操作 #1

  • プライベートいいえ から はい に変更
  • クライアント側での journalctl -efdmesg -w も、関係ありそうなタイミングや内容でメッセージを出していない。
  • ssh $SERVER -vvv ではタイムアウト直前のログは debug3: set_sock_tos: set socket 3 IPV6_TCLASS 0xb8 だった。
  • SSH client config で IPQoS 0 すると、長い長い待ち時間 (2分以上) ののち SSH でログインできた。

NO nop_thread さんが4日前に更新 操作 #5

nop_thread さんは #note-1 で書きました:

  • SSH client config で IPQoS 0 すると、長い長い待ち時間 (2分以上) ののち SSH でログインできた。
$ time ssh honoka exit
Job: ssh honoka exit
User: 0.01s
Kernel: 0.00s
Elapsed: 135.65s
CPU: 0%
$

NO nop_thread さんが4日前に更新 操作 #6

  • 題名IPv6 での SSH 接続ができない から IPv6 での SSH 接続ができない? に変更
  • 説明 を更新 (差分)

NO nop_thread さんが4日前に更新 操作 #7

  • ステータス新規 から 進行中 に変更
  • 前回確認日2026/05/27 にセット

NO nop_thread さんが4日前に更新 操作 #9

atri (クライアント側) の再起動とルータの再起動、どちらも試したが状況に変化なし。

NO nop_thread さんが4日前に更新 操作 #10

nop_thread さんは #note-5 で書きました:

nop_thread さんは #note-1 で書きました:

  • SSH client config で IPQoS 0 すると、長い長い待ち時間 (2分以上) ののち SSH でログインできた。
$ time ssh honoka exit
Job: ssh honoka exit
User: 0.01s
Kernel: 0.00s
Elapsed: 135.65s
CPU: 0%
$

IPv6 でも繋がる場合があると思っていたが、どうやらそうではなかった。
以下 ssh -vvv のログ抜粋。

debug2: resolving "<HOST>" port <PORT>
debug3: resolve_host: lookup <HOST>:<PORT>
debug3: channel_clear_timeouts: clearing
debug3: ssh_connect_direct: entering
debug1: Connecting to <HOST> [<IPv6Addr>] port <PORT>.
debug3: set_sock_tos: set socket 3 IPV6_TCLASS 0x00
debug1: connect to address <IPv6Addr> port <PORT>: Connection timed out
debug1: Connecting to <HOST> [<IPv4Addr>] port <PORT>.
debug3: set_sock_tos: set socket 3 IP_TOS 0x00
debug1: Connection established.

内容を見るに、約2分かかっていたのは単に IPv6 での接続試行が約2分でタイムアウトしていたせいであって、 IPv6 接続自体は失敗している。
その後 IPv4 で再試行 (できる場合は) されて接続が成功していたというのが「接続できることもある」に見えていたということだった。

NO nop_thread さんが4日前に更新 操作 #11

portage が ftp.iij.ad.jp に接続するときにも IPv6 でタイムアウトして IPv4 で成功しているのを見てしまった。
もしかして SSH とか関係なく IPv6 接続ができなくなっている?
(そのくらい最初に確認しておくべきだった……)

NO nop_thread さんが4日前に更新 操作 #12

  • 題名IPv6 での SSH 接続ができない? から atri から IPv6 接続ができない に変更

nop_thread さんは #note-11 で書きました:

portage が ftp.iij.ad.jp に接続するときにも IPv6 でタイムアウトして IPv4 で成功しているのを見てしまった。
もしかして SSH とか関係なく IPv6 接続ができなくなっている?
(そのくらい最初に確認しておくべきだった……)

複数の IPv6 test サイトで NG になることを確認した。

NO nop_thread さんが4日前に更新 操作 #13

ip a を確認すると IPv6 アドレス (らしきもの) がグローバルなもの含めちゃんと降ってきているが。
ip -6 route を見てもルータの同 VLAN 向けの /64 prefix のエントリは存在しているものの、 default route は fe80:: 始まりの見覚えのないアドレスになっている。
これが原因か?

NO nop_thread さんが4日前に更新 · 編集済み 操作 #16

nop_thread さんは #note-15 で書きました:

よく見たら同じサブネット ((略)::/64) のアドレスが2つ降ってきてないか?

$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
3: {{ifname}}: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9216 state UP qlen 1000
    inet6 {{IPv6GlobalAddr1}}/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 14385sec preferred_lft 12585sec
    inet6 {{IPv6GlobalAddr2}}/64 scope global temporary dynamic
       valid_lft 14385sec preferred_lft 12585sec
    inet6 {{IPv6LinkLocal}}/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

そういえば /etc/systemd/networkd/motherboard-ether.networkIPv6PrivacyExtensions=true したのだった。
2つあること自体にはたぶん問題がない? (ほんまか??)

NO nop_thread さんが4日前に更新 · 編集済み 操作 #17

nop_thread さんは #note-15 で書きました:

よく見たら同じサブネット ((略)::/64) のアドレスが2つ降ってきてないか?

どちらのアドレスも宅内サーバ (IPv6 疎通確認済) から ping -6 が返ってこない。
ルータからの ping6 では両方とも問題なく応答があった。

NO nop_thread さんが3日前に更新 操作 #18

  • 前回確認日2026/05/27 から 2026/05/28 に変更

nop_thread さんは #note-16 で書きました:

そういえば /etc/systemd/networkd/motherboard-ether.networkIPv6PrivacyExtensions=true したのだった。
2つあること自体にはたぶん問題がない? (ほんまか??)

IPv6PrivacyExtensions=true をやめて再起動しても問題は解消しなかった。
sysctl net.ipv6.conf.enp18s0.use_tempaddr も0であることを確認した。
この状態でも ip -6 route に default route が2つあるのは変わらない。

$ ip -6 route
<GLOBAL>::/64 dev enp18s0 proto ra metric 1024 expires 14135sec pref medium
fe80::/64 dev enp18s0 proto kernel metric 256 pref medium
multicast ff00::/8 dev enp18s0 proto kernel metric 256 pref medium
default nhid 2944497363 via fe80::<SNIP1> dev enp18s0 proto ra metric 1024 expires 1535sec pref medium
default nhid 3087672184 via fe80::<SNIP2> dev enp18s0 proto ra metric 1024 expires 1535sec pref medium

NO nop_thread さんが3日前に更新 操作 #19

同じ VLAN と subnet にいる arco からは ipv6 test が通っているので、ルータやスイッチではなく atri 側の問題の可能性が高い。

NO nop_thread さんが3日前に更新 操作 #20

  • プライベートはい から いいえ に変更

NO nop_thread さんが3日前に更新 操作 #21

default route になっている2つのうち、少なくとも一方が arco のデフォルトゲートウェイとして使われていることを確認した。
で、もうひとつはどこから来たのか……。

NO nop_thread さんが3日前に更新 操作 #23

ip -6 route del default via fe80::<SNIP2> して default route を1つにしたら ipv6 test が通るようになった。
てことは kernel か systemd-networkd で何かやらかしている?
問題発生前後で設定を変更した覚えはないが…… (privacy extension の設定はもう少し前だし、もう戻したし)。

NO nop_thread さんが3日前に更新 操作 #24

nop_thread さんは #note-23 で書きました:

ip -6 route del default via fe80::<SNIP2> して default route を1つにしたら ipv6 test が通るようになった。
てことは kernel か systemd-networkd で何かやらかしている?

default route を1つ削除しても2つ削除しても、時間経過 (5〜10分くらいの例を観測したが、一定ではなさそうだし範囲は不明) で2つとも復活してしまう。

NO nop_thread さんが3日前に更新 操作 #25

2つの IP アドレスのうち一方が chima (YAMAHA ルータ) でもう一方が charon (MikroTik スイッチ) であることがわかった。
てことはやっぱりネットワーク機器ですか?

arco がデフォルトゲートウェイとして参照していたのは charon の方だった。
それはそれでよくわからない。こういうのって最寄りノードとかではなくルータを指定するものではなかったのか?

NO nop_thread さんが3日前に更新 操作 #26

nop_thread さんは #note-25 で書きました:

arco がデフォルトゲートウェイとして参照していたのは charon の方だった。
それはそれでよくわからない。こういうのって最寄りノードとかではなくルータを指定するものではなかったのか?

正常に通信できる nagisa の方で確認してみると、やっぱり vlan301 には default route が2つ (ルータとスイッチ) あったが、 vlan305 には1つ (スイッチ) だけだった。
最初の VLAN だけ異常になるの、 RTX830 を使っていた頃にもあった気がするな……。

NO nop_thread さんが3日前に更新 操作 #27

nop_thread さんは #note-26 で書きました:

最初の VLAN だけ異常になるの、 RTX830 を使っていた頃にもあった気がするな……。

これ https://mastodon.cardina1.red/@lo48576/109735935579513540 か。
このときは IPv6 アドレスが複数という状況で default route への言及がないため同じ症状かはわからない。

そもそもこの時点では privacy extensions については意識していなかった気がするので、スマホを見てアドレスが2つあること自体は正常なのに勘違いして異常と思い込んでいた可能性もある。
とはいえ勘違いの有無をさておいて、うまく動いていなかったものを “修正” できたことは事実なので、同じワークアラウンドを試してみる価値はありそう。
(なお該当のワークアラウンドは RTX1300 に交換した時点で無効化していた。)

NO nop_thread さんが3日前に更新 操作 #28

  • 前回確認日2026/05/28 から 2026/05/29 に変更

nop_thread さんは #note-27 で書きました:

nop_thread さんは #note-26 で書きました:

最初の VLAN だけ異常になるの、 RTX830 を使っていた頃にもあった気がするな……。

これ https://mastodon.cardina1.red/@lo48576/109735935579513540 か。
このときは IPv6 アドレスが複数という状況で default route への言及がないため同じ症状かはわからない。

設定ファイル内の該当箇所:

# LAN1
lan type lan1 mtu=10218
# Set up default (untagged) LAN.
# This is also used as a management VLAN `mgmt`.
ip lan1 address 192.168.10.1/23
# Disable IPv6 on default (untagged) LAN `lan1`.
# Without disabling IPv6 on `lan1`, clients on lan1/1 (or any other first VLAN?
# I don't know) will receive two global IPv6 addrs for lan1 and lan1/1
# (e.g. will have `dhcp-prefix@lan2::f:xxxx/64` and
# `dhcp-prefix@lan2::1:xxxx/64` simultaneously), and this will cause flaky
# connections on RTX830. I'm not sure this is the case for RTX1300, but
# assume the situation is the same.
# For the troubleshooting log, see
# <https://mastodon.cardina1.red/@lo48576/109736278876885794>.
#ipv6 lan1 address dhcp-prefix@lan2::f:0:0:0:1/64
#ipv6 lan1 rtadv send 99 o_flag=on
#ipv6 lan1 dhcp service server
ipv6 lan1 address dhcp-prefix@lan2::7:0:0:0:1/64
ipv6 lan1 rtadv send 7 o_flag=on
ipv6 lan1 dhcp service server

よく見たらワークアラウンド部分は有効化されていた。
::7 は mgmt VLAN (VID=1) だが、一番アドレスが若いのはまさに問題が起きている ::3 の gadgets VLAN。
しかしなぁ。今更これが再発するものか?

NO nop_thread さんが3日前に更新 操作 #29

直近で何かしたことといえば ToR スイッチ (not ルータ) のアップデート。
charon の RouterOS を 7.22.x から 7.23.0 へ更新した。
若干の怪しさはあるが、 long term channel へのダウングレードは 7.21 にまで下げてしまうし、面倒なのであまり気が乗らない。
最後の手段として考えておく。

以下 7.23 の changelog (https://mikrotik.com/download/changelogs?channelFilter=stable, 2026-05-29 参照) からの抜粋:

*) ipv6 - added from-pool-policy address property that controls how address is acquired from the pool;
*) ipv6 - added without-acquire address property;
*) ipv6 - always ensure that prefix length matches the one given by the pool even if address was set to 0;
*) ipv6,ra - added option to ignore MTU and DNS servers;
*) ipv6,ra - added router-advertisement-route-distance setting;
*) ipv6,ra - allow receiving DNS servers over multiple interfaces;
*) ipv6,ra - clamp valid-lifetime to minimum of 2h on deprecation;
*) ipv6,ra - extend processed RA logging;
*) ipv6,ra - fixed advertised DNS parameter logging;
*) ipv6,ra - fixed changing default "all" interface configuration;
*) ipv6,ra - fixed DNS and pref64 property unset;
*) ipv6,ra - fixed sending only DNS or MTU when prefix is set to "none";
*) ipv6,ra - improved service stability;
*) ipv6,ra - warn when interface is under the bridge;

NO nop_thread さんが3日前に更新 操作 #30

ip -6 neigh の出力は次のようになっていた。

$ ip -6 neigh
fe80::<ROUTER> dev enp18s0 lladdr ac:44:f2:b9:03:4b router STALE
<GLOBAL_PREFIX>::1 dev enp18s0 lladdr ac:44:f2:b9:03:4b router STALE
fe80::<SWITCH> dev enp18s0 lladdr 48:a9:8a:b4:c4:f1 router REACHABLE

よく考えると switch が router として出てくるのは明らかにおかしいので、 charon (スイッチ) が何らかの正しくない広告か何かをしている可能性が高くなってきた。
RouterOS をロールバックしてみるのが良さそうだ。

NO nop_thread さんが3日前に更新 操作 #31

  • 開始日2026/05/27 にセット
  • 進捗率0 から 100 に変更

nop_thread さんは #note-30 で書きました:

RouterOS をロールバックしてみるのが良さそうだ。

……というわけで、このコメントを書いた時点で実は既に long term channel の RouterOS 7.21.4 にダウングレード済だった。
charon が再起動した直後には ip -6 route は以下のようになっていた。

$ ip -6 route
<GLOBAL_PREFIX>::/64 dev enp18s0 proto ra metric 1024 expires 14244sec pref medium
fe80::/64 dev enp18s0 proto kernel metric 256 pref medium
multicast ff00::/8 dev enp18s0 proto kernel metric 256 pref medium
default nhid 3087672184 via fe80::<ROUTER> dev enp18s0 proto ra metric 1024 expires 1644sec pref medium

neighbor の情報は以下のとおり。

$ ip -6 neigh
fe80::<ROUTER> dev enp18s0 lladdr ac:44:f2:b9:03:4b router REACHABLE
<GLOBAL_PREFIX>::1 dev enp18s0 lladdr ac:44:f2:b9:03:4b router DELAY

スイッチの存在が見えなくなった。
30分経過してもこの状態が続いているので、状況は安定している。
本来こうあるべきなので、やはり RouterOS 7.23 (あるいはその直前の 7.22.x バージョン?) で新規に発生した問題ということで結論して良いだろう。

NO nop_thread さんが3日前に更新 操作 #32

nop_thread さんは #note-26 で書きました:

nop_thread さんは #note-25 で書きました:

arco がデフォルトゲートウェイとして参照していたのは charon の方だった。
それはそれでよくわからない。こういうのって最寄りノードとかではなくルータを指定するものではなかったのか?

正常に通信できる nagisa の方で確認してみると、やっぱり vlan301 には default route が2つ (ルータとスイッチ) あったが、 vlan305 には1つ (スイッチ) だけだった。

nagisa の方を確認してみたところ、 default route は vlan301 にひとつ (ルータ) だけになっており、スイッチもなければ vlan305 側での指定もなかった。
症状の説明としては「すべての VLAN で charon (スイッチ) が default gateway として追加されていた」というのが適当か。

NO nop_thread さんが3日前に更新 操作 #33

  • ステータス進行中 から 完了待機 に変更
  • リマインド予定日2026/08/08 にセット
  • 管理外残件ありはい にセット

とりあえず問題が修正されるまでは RouterOS を long term channel で運用するということで解決とする。
しばらくは RouterOS の changelog を注視していく。

RouterOS のバグ修正を確認して再び stable channel を使えるようになったら終了としてクローズする。

他の形式にエクスポート: PDF Atom