Ubuntu 18.04 で、IPv6 を無効にするときの覚書です。
IPv6 を無効にしたい場合、Ubuntu 18.04 には、これまでのように sysctl.conf に
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
のような行を追加して、
sudo sysctl -p
としても、一時的には無効にできますが、再起動するともとに戻ってしまうというバグがあるみたいです。
そこで、次のようにして問題を回避します。
Sysctl の設定
まず最初に ip
コマンドで、現在のネットワークの状態を確認します。
$ ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: ens2: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:08:d2:ef brd ff:ff:ff:ff:ff:ff inet 192.168.10.40/24 brd 192.168.10.255 scope global ens2 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe08:d2ef/64 scope link valid_lft forever preferred_lft forever
ens2
の項目の中に、inet6 ..
とあって、その後にアドレスが表示されており、IPv6 が有効になっていることがわかります。
/etc/sysctl.d/
以下に設定ファイルを追加します。
$ sudo vi /etc/sysctl.d/99-sysctl.conf
下に続く行を追加します。
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
sysctl
を再読み込みさせます。
$ sudo sysctl -p
ip a
で結果を表示させると、IPv6 が無効になっているのがわかります。
$ ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: ens2: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:08:d2:ef brd ff:ff:ff:ff:ff:ff inet 192.168.10.40/24 brd 192.168.10.255 scope global ens2 valid_lft forever preferred_lft forever
ただ、このままでは再起動後、ふたたび IPv6 が有効になって起動してしまいます。
再起動後も IPv6 を無効にする方法
/etc/rc.local
を作成して、その中に、
#!/bin/bash /etc/init.d/procps restart exit 0
として、保存します。
更にこのファイルに実行可能にします。
$ sudo chmod 755 /etc/rc.local
再起動すると、IPv6 は無効のままになっていると思います。
もう一つの方法
/etc/default/grub
を編集します。
以下の変数の値に、次の文言を追加します1。
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1" GRUB_CMDLINE_LINUX="ipv6.disable=1"
保存したら、grub を更新します。
$ sudo update-grub
その後、再起動します。
この回避策の場合は、sysctl
の設定も、 /etc/rc.local
も必要ありません。
-
ちなみに、私の環境では
GRUB_CMDLINE_LINUX_DEFAULT
の値に予めquiet splash
となっていたので、GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
としています。 ↩
1件のコメント
libvirtd を Ubuntu 18.04 にインストールし、部屋の LAN とブリッジする | にろきのメモ帳 · 2019年7月7日 12:58 AM
[…] を実施する)をネットワークが有効になる前に実施してしまうので、ネットワーク関係の設定はここに書いても無視されてしまうようだ: Ubuntu 18.04 で ipv6 を無効にする | 雑廉堂の雑記帳 […]