端末コマンドを使用してIPv6システム全体を無効にするにはどうすればよいですか?
私は編集を読んだ/ etc/modprobe.d/aliasesと置き換え:
alias net-pf-10 ipv6
で:
alias net-pf-10 off
alias ipv6 off
これは安全に適用できますか?また、再起動後にipv6を永続的に無効にしますか?
/etc/sysctl.conf
に次の行を入れて、IPv6を正常に無効にしました。
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
また、このコマンドを実行して変更をロードします
Sudo sysctl -p
お使いのPCがブート時に/etc/sysctl.confをロードしない場合(これは私の場合です)、grubからIPv6を無効にする必要があります。 Linuxカーネルには、IPv6の起動を無効にする「ipv6.disable = 1」という名前のブートオプションがあります。
ブートオプションを編集するには、rootユーザーとしてテキストエディターで「/ etc/default/grub」を編集します。
Sudo nano /etc/default/grub
「GRUB_CMDLINE_LINUX_DEFAULT」を含む行を見つけます。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
ブートオプションに「ipv6.disable = 1」を追加し、grubファイルを保存します。
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"
最後に、grubを更新します。
Sudo update-grub
コンピューターでipv6が有効になっているかどうかを確認する方法は次のとおりです。
test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"
見たら
Running kernel is IPv6 ready
有効になっています。
出力が表示されない場合は表示されていません。
このページの他の回答が機能しない場合にipv6を無効にするには、ipv6をすべてブラックリストに追加します。これを行うには、次のコマンドを使用します。
echo 'blacklist ipv6' | Sudo tee -a '/etc/modprobe.d/blacklist.local' >/dev/null
また、これは同様に役立つかもしれません:
echo 'install ipv6 /bin/true' | Sudo tee -a '/etc/modprobe.d/blacklist.local' >/dev/null
変更を有効にするために再起動します。起動後に有効になっているかどうかを確認するには、このコマンドを再度実行します。
test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"
出力はありません。
Sudo sysctl -P
を実行する必要があるというコメントを含むCarvalhoの回答は、私を最も助けてくれました。
ただし、少なくとも私の場合は:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.<mydevice>.disable_ipv6 = 1
2行目が必要だったようです。
たぶんこれは、私がTP-Link Archer T2Uを使用しているという事実に関係しているのでしょう。TP-LinkArcher T2Uでは、ソースからカスタムでドライバーをビルドする必要がありました。
その結果、<mydevice>
は「all
」の1つとしてカウントされないという前提です。
したがって、簡単に言えば、カスタム(カスタム)ネットワークドライバーを追加した場合、net.ipv6.conf.all.disable_ipv6 = 1
ではIPv6ネットワークを無効にするのに十分ではない可能性があります。
しかし、私はラインを試していないことを認めなければなりませんnet.ipv6.conf.default.disable_ipv6 = 1
Ubuntuの最新バージョン(16.04 LTSを使用)を使用している場合は、この整頓されたソリューションを使用できます。
次のテキストを含む/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
service procps start
を実行します