Ubuntu マシンで IPv6 接続を無効にする方法をお探しですか。 この記事では、その方法と、このオプションを考慮する理由を正確にお教えします。
What is IPv6 and why would you want to disable IPv6 on Ubuntu?
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol provides an identification and location system for computers on networks and routes traffic across the Internet.このIPv6の最新バージョンは、ネットワーク上のコンピューターの識別と位置情報システムを提供し、インターネット上のトラフィックをルートします。 IPv4 プロトコルを置き換えるために 1998 年に開発されました。
IPv6 は、セキュリティとパフォーマンスを向上させると同時に、アドレスが不足しないようにすることを目的としています。 IPv6 は、すべてのデバイスに一意のアドレスをグローバルに割り当て、IPv4 が 32 ビットしか使用しないのに対し、128 ビットのアドレスを格納します。
目標は IPv4 から IPv6 への置き換えですが、まだ長い道のりが待っています。 インターネット上のサイトのうち、ユーザーが IPv6 接続を利用できるのは 30% 未満です (Google による追跡調査はこちら)。 VPNはグローバルなサービスを提供しているため、IPv6がグローバルルーティングされたアドレス(一意に割り当てられる)を使用し、IPv6サポートを提供しないISPが(まだ)あるという事実は、この機能の優先順位を下げます。 このようにして、VPN ユーザーにとって最も重要なこと、つまり、セキュリティに集中することができます。
システム上で IPv6 を無効にしたいもう 1 つの理由は、さまざまな脅威に身をさらしたくないということでしょう。 IPv6 自体は IPv4 よりも安全ですが、私が言及するリスクは別の性質のものです。 IPv6 とその機能を積極的に使用していない場合、IPv6 を有効にすると、さまざまな攻撃に対して脆弱になり、ハッカーに別の悪用可能なツールを提供することになります。 IPv4 と同じレベルの注意を払い、IPv6 設定を微調整する必要があります。 これは、実行するのがかなり面倒であることがわかります (また、維持するのも面倒です)。 IPv6では、IPv4とは異なる一連の問題(このプロトコルの古さを考えると、その多くはオンラインで参照できます)が発生し、システムにさらなる複雑さを与えています。
また、IPv6 を無効にすると、場合によっては、Ubuntu の WiFi 速度が向上することが確認されています。
Ubuntu で IPv6 を無効にする
このセクションでは、Ubuntu マシンで IPv6 プロトコルを無効にする方法について説明します。 ターミナルを開き (デフォルト: CTRL+ALT+T)、始めましょう!
Note: ターミナルで入力するほとんどのコマンドには、ルート権限 (sudo) が必要です。
Warning!
もし、普通のデスクトップ Linux ユーザーで安定して動くシステムを希望しているなら、このチュートリアルを避けて下さい。 これは、自分が何をしているのか、なぜそうするのかを知っている上級ユーザー向けのものです。
Sysctl を使用して IPv6 を無効にする
まず最初に、あなたのシステムで IPv6 が有効になっていることを確認する必要があります。 Ubuntuで次のコマンドでIPアドレスを確認します:
ip a
有効になっていれば、IPv6アドレスが表示されます(インターネットカードの名前は違うかもしれません):
Ubuntuでネットワークを再開するチュートリアルで、Sysctlコマンドを見ていただきましたね。 ここでも同様に使用します。
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
の3つのコマンドを入力するだけで、IPv6を無効化することができます。
ip a
IPv6 のエントリがないことが確認できます:
しかし、これは一時的に IPv6 を無効にするだけのことです。 次回システムが起動したときには、IPv6 は再び有効になっています。
このオプションを持続させる方法の 1 つは、/etc/sysctl.conf を変更することです。 ここでは、vim を使用してファイルを編集しますが、好きなエディタを使用できます。 管理者権限を持っていることを確認してください (sudo を使用します):
次の行をファイルに追加します:
net.ipv6.conf.all.disable_ipv6=1net.ipv6.conf.default.disable_ipv6=1net.ipv6.conf.lo.disable_ipv6=1
設定を有効にするためには、次のようにします:
sudo sysctl -p
再起動後も IPv6 が有効になっていれば、 (root 権限の下で) ファイル /etc/rc.xml を作成しなければなりません。local を作成し、そこに以下を入力します:
#!/bin/bash# /etc/rc.local/etc/sysctl.d/etc/init.d/procps restartexit 0
次に、chmod コマンドを使ってファイルを実行可能にします:
sudo chmod 755 /etc/rc.local
この作業により、sysctl 設定ファイルからカーネルパラメータを(起動中に)手動で読み込むことができます。 etc/default/grub を編集する必要があります。 もう一度言いますが、管理者権限を持っていることを確認してください。
ここで、起動時に IPv6 を無効にするために GRUB_CMDLINE_LINUX_DEFAULT と GRUB_CMDLINE_LINUX を修正する必要があります:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"GRUB_CMDLINE_LINUX="ipv6.disable=1"
ファイルを保存して update-grub コマンドを実行してください:
sudo update-grub
これで再起動時に設定が保持されるはずです。
Re-enabling IPv6 on Ubuntu
IPv6 を再度有効にするには、行った変更を元に戻す必要があります。 再起動するまでIPv6を有効にするには、:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
その他、/etc/sysctl.を変更した場合は、その変更を元に戻す必要があります。conf を変更した場合は、追加した行を削除するか、次のように変更してください:
net.ipv6.conf.all.disable_ipv6=0net.ipv6.conf.default.disable_ipv6=0net.ipv6.conf.lo.disable_ipv6=0
オプションでこれらの値を再ロードできます:
sudo sysctl -p
再び IPv6 アドレスが見えるはずです:
オプションとして、 /etc/rc.php を削除できます。local:
sudo rm /etc/rc.local
etc/default/grub のカーネル パラメータを変更した場合、先に進んで追加したオプションを削除します:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"GRUB_CMDLINE_LINUX=""
Now do:
sudo update-grub
Wrapping Up
このガイドでは、Linux で IPv6 を無効にできる方法と、IPv6 とは何か、なぜ無効にするのかということについてアイデアを提供しました。