サイトアイコン ex1-lab

Zabbix IPv6を無効にしたら、warnログが止まらない場合対処法

ZABBIX_logo

ZABBIX_logo

Zabbixで、IPv6を無効にしたら、下記のログが障害検知され止まらなくなりました。

下記のログは NetworkManager のログメッセージであり、Zabbixはこのログを単に収集しているだけです。
問題の原因は IPv6が無効化されたことで、NetworkManagerがIPv6リンクローカルアドレスの取得に失敗している。
そのため、リトライを繰り返し、その都度ログを出力しています。

Aug  7 15:03:20 MAIL01-RL8 NetworkManager[811]: <warn>  [175454xxxx.1xxx] ipv6ll[e642018exxxxxxxx,ifindex=2]: changed: no IPv6 link local address to retry after Duplicate Address Detection failures (back off)

対処方法は、2通りあります。
NetworkManager側でIPv6を無効する方法と、NetworkManager のログレベルを下げる方法になります
ただし、NetworkManager側でIPv6を無効します方法はインターフェイスをdown,upを必要がありSSHコンソールで接続できなくなります。
物理端末またはVMのコンソール画面での操作が必要になりますので注意が必要です。

サーバーの再起動や筆者は本番稼働のサーバーでの運用で再起動はできないのでNetworkManager のログレベルを下げる方法での対処となりました。

NetworkManager側でIPv6を無効にする

NetworkManagerがIPv6を使おうとしてログが出るため、NetworkManager側でも明示的にIPv6を無効化します。

nmcli コマンドで現在の接続名を確認

$ sudo nmcli connection show
# 出力例
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  7d8f1ad4-xxxx-yyyy-zzzz-aaaaaaaaaaaa  ethernet  eth0

接続ごとにIPv6を無効化

$ sudo nmcli connection modify "Wired connection 1" ipv6.method "ignore"

設定を適用します。ただし、インターフェイスをdownを実行するとネットワークが切断され、その後接続できなるので注意が必要です
物理端末またはVMのコンソール画面での操作ができない場合はこの手順はお勧めできません

$ sudo nmcli connection down "Wired connection 1"
$ sudo nmcli connection up "Wired connection 1"

NetworkManager のログレベルを下げる(警告レベルを抑制)

再起動やネットワーク断を避けるなら、ログレベルをだけ抑えてから、syslog などで該当ログのフィルタリングする方法となります。

NetworkManagerのログレベルをエラー以上とします

$ sudo vim /etc/NetworkManager/NetworkManager.conf
[logging]
level=ERROR
domains=ALL

NetworkManager の再起動します

$ sudo systemctl reload NetworkManager

IPv6に関連するログをrsyslog でフィルタリングして保存しないようにします。
/etc/rsyslog.conf または /etc/rsyslog.d/99-ignore-ipv6.conf に以下を追加

$ sudo vim /etc/rsyslog.d/99-ignore-ipv6.conf
:msg, contains, "ipv6ll" stop

rsyslog を再起動すると、IPv6 に関するログがフィルタリングされ出力が抑制されます。

$ sudo systemctl restart rsyslog
モバイルバージョンを終了