概要:
IPv4でしかネットワークを管理されていない場合はIPv6は無効にします。特にIPv4パケットしか監視していない場合はセキュリティのためにもIPv6を無効にした方がよいです。
IPv6を無効にする手順
アプリケーションでIPv6を無効にする
snmpなどアプリケーションでIPv6を利用している場合があります。それらのアプリケーションでIPv6を無効にしておかないとOSでIPv6を無効にした後にエラーになります。
SNMPからIPv6を外す
- snmp設定を変更修正前:agentAddress udp:161,udp6:[::1]:161
sudo vi /etc/snmp/snmpd.conf
修正後:agentAddress udp:161 - snmpサービスを再起動
sudo systemctl restart snmpd
- 確認
sudo systemctl status snmpd
Ubuntu 20.04のIPv6を無効にする
一時的に無効にする
アプリケーションエラーが発生するか確認するために先ずは一時的にOSでIPv6を無効にします。
- IPv6が利用されているか確認inet6の設定があるか確認。ある場合はIPv6が有効。無い場合は既に無効である。
ip a
- 次のコマンドを実行
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
- 無効であることを確認
ip a
- アプリケーションが正常に利用できるか確認。エラーの場合はsudo rebootすると元に戻る。再起動できな場合は次のコマンドを実行
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
再起動後もIPv6を無効にする
再起動後にIPv6を無効にする方法は2通ります。①sysctlを利用して無効にする、②GRUBで無効にする。
今回は直ぐに戻せるようにするためにsysctlを利用して無効にします。
sysctlで無効にする
- sysctl用設定ファイルを新規作成
sudo vi /etc/sysctl.d/60-ipv6-disable.conf
- 次の内容を挿入
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
- 設定を有効にする
sudo systemctl restart procps
- 起動時に設定を利用するようにする
sudo vi /etc/rc.local
- 次の内容を挿入
#!/bin/bash systemctl restart procps exit 0
- 実行可能にする
sudo chmod 755 /etc/rc.local
- 再起動してIPv6が無効であることを確認する
sudo reboot
以上