端末コマンドを使用してIPv6システム全体を無効にするにはどうすればよいですか?
/etc/modprobe.d/aliasesの編集 と置換を読みました:
alias net-pf-10 ipv6
で:
alias net-pf-10 off
alias ipv6 off
これは安全に適用できますか?また、再起動後にipv6を永続的に無効にしますか?
端末コマンドを使用してIPv6システム全体を無効にするにはどうすればよいですか?
/etc/modprobe.d/aliasesの編集 と置換を読みました:
alias net-pf-10 ipv6
で:
alias net-pf-10 off
alias ipv6 off
これは安全に適用できますか?また、再起動後にipv6を永続的に無効にしますか?
回答:
次の行を入力して、IPv6を正常に無効にしました/etc/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
sudo sysctl -p
または再起動して変更を有効にします。
net.ipv6.conf.wlan0.disable_ipv6 = 1
お使いの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
/proc/sys/net/ipv6/
等の問題生成することができる左X11 forwarding request failed
のでsshd
試行が未設定のIPv6インタフェースに結合することが。同様に、純粋なIPv6 VMでIPv4をこの方法で取り除くことができることに注意してください。ありがとう。
走ら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
default
おそらく行の欠如が問題です。あなたのドライバーがのsysctlが実行されたブートプロセスの時点では、まだロードされていない場合は、それが中に含まれていなかったall
-しかし、それはときにデフォルトを設定すると、それは後から設定を得ているだろう意味でしょうたロード。
default
エントリを、私は成功し、それを無効にするには、特定のデバイスを設定する必要がありました。
コンピューターで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"
出力はありません。
ipv6
機能がカーネルモジュールであると想定しています(blacklist.local
そのロードを防ぐために使用)。ipv6がカーネル(モジュールではなく)にコンパイルされる場合があります。その場合、ipv6.disable=1
ブートパラメーターでカーネルをブートする必要があります(そうするには、(1)sudo gedit /etc/default/grub
(2)行GRUB_CMDLINE_LINUX_DEFAULT=<args>
を検索し、(3)ipv6.disable=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
service procps restart
代わりにubuntu 18.04