platform-linux: do-add-ip6-address[2: fe80::1c00:1cff:fe00:xxx]: failure 13 (Permission denied)のエラーについて
/var/log/messagesに下記のエラーが上がっていると、Zabbixが検知しました。NetworkManagerのステータスを確認すると同様の警告が表示されています
・/var/log/messages <warn> [1762064682.2475] platform-linux: do-add-ip6-address[2: fe80::1c00:1cff:fe00:xxx]: failure 13 (Permission denied)
このメッセージですが、「NetworkManagerがIPv6アドレス(リンクローカルアドレス fe80::…)を設定しようとしたが、OS(カーネル)からPermission denied(権限拒否)を受けた」という意味です。
IPv6周りを無効化した際の設定変更が原因で起きやすい事象です
sysctlの設定の確認
まずは、sysctlなどでIPv6が完全に無効化されているか確認します
$ sudo vim /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
「1」になっている場合は、IPv6は無効になっています。この設定の意味は以下となります
- net.ipv6.conf.all.disable_ipv6
すでに存在する全インターフェース に対してIPv6を有効/無効にします。0だとIPv6を有効で、1だと無効です - net.ipv6.conf.default.disable_ipv6
これから新しく作成されるネットワークインターフェース に対するデフォルト設定です。0だとIPv6を有効で、1だと無効です
以前に、IPv6のICMP(Ping)でソースルーティング(Source Routing)を含む不正なアクセスがあり、その関係でIPv6の設定を変更しました。
Linuxカーネルは、ソースルーティング(Source Routing)をデフォルトで拒否する設定なので、IPv6を無効にする必要がなかったのですが、無効化にして解除を忘れていたようです
sysctl のIPv6を有効にする
別サーバーでIPv6でのSYNフラッド攻撃を受けていたので、このサーバーでもIPv6を無効化にしてそのままだったようです。
Apache等のIPv6を無効化しているので、NetworkManagerではIPv6にアクセスを許可出来る設定に変更します
# IPv6の設定を有効にします $ sudo vim /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 # 設定を反映します $ sudo sysctl -p
NetworkManagerを再起動します。再起動後にログの出力が停止していれば問題ありません
$ sudo systemctl restart NetworkManager
Apache、NginxでIPv6を無効化した場合は、「IPv6を無効にする[OS,Apache,nginx]」を参考にして下さい」

