2017年8月10日木曜日

macOS server で IPv6 が使えないとき

何年にもわたって macOS server で IPv6 が使えない理由がわからなかったのですが、ついにわかりました。

全体設定に相当するところでの "Access" の "Default Network Access" を "all networks" 以外にしていると IPv6 が止められてしまいます。

mac に IPv6 アドレスを与えるためには "all networks" にセットする必要がある

この設定が、OS全体のIPv6 protocol stackを止めるとは想像出来ませんでした。

IPアドレス・フィルタリングみたいなことをしているのか、と思っていたらなんとIPv6をOSレベルで止めてしまうのでした。

"Overview"にあるreachableのところで各サービスのインターネットからの到達性を調べていますが、どうもこれがscanをした結果IPv6を止めるようです。なので設定を変えた直後に止まらず少しタイムラグがあります。(あるいは再起動後)それもこの因果関係を発見しづらくしています。

DNS サーバーが IPv6 で query を受け付けるには "all networks" にセットする必要がある

さらに、DNS サーバーに IPv6 で問い合わせるには DNS の設定で "all networks" になっている必要がありました。

ちなみに、 named.conf はちゃんと

  listen-on-v6 {
                "any"; 
        };

となっています。(最近の macOS server では default でこの設定になっているようです)

これもなかなかわかりませんでした。以前のバージョンでは IPv6 アドレスでアクセスすることが出来たので。上記の問題がわかったので「もしや」と思ったところ、そのとおりでした。

0 件のコメント:

コメントを投稿