すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:IPv6の有効化または無効化

最終更新日:Jul 05, 2024

このトピックでは、Alibaba Cloud Linux 2を実行するElastic Compute Service (ECS) インスタンスでIPv6を有効または無効にする方法について説明します。

前提条件

  • IPv6をサポートするインスタンスタイプのインスタンスが作成されます。 IPv6をサポートするインスタンスタイプについては、「インスタンスファミリーの概要」をご参照ください。

  • インスタンスは、IPv6 CIDRブロックがサポートされ、IPv6仮想プライベートクラウド (VPC) が作成されるリージョンに存在します。 詳細については、「IPv6 CIDRブロックを使用したVPCの作成」をご参照ください。

背景情報

aliyun-2.1903-x64-20G-alibase-20190829.vhd以前のバージョンのAlibaba Cloud Linux 2イメージでは、IPv6が無効になっています。 デフォルトでは、aliyun_2_1903_x64_20G_alibase_20200221.vhdバージョン以降のAlibaba Cloud Linux 2イメージでIPv6が有効になっています。

IPv6の有効化

一時的にIPv6を有効にする

重要

インスタンスのIPv6が一時的に有効になっている場合、インスタンスの停止または再起動後にIPv6を有効にする設定は無効になります。 作業は慎重に行ってください。

Alibaba Cloud Linuxでは、aliyun_2_1903_64_20G_alibase_20190619.vhdバージョン以前のDHCPパラメータの. ネットワークファイル内の/etc/systemd /ネットワーク /ディレクトリはipv4に設定されています。 ファイルを変更し、IPv6を一時的に有効にするには、次の操作を実行します。

  1. IPv6を一時的に有効にするインスタンスに接続します。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行して、/etc/systemd/network/ ディレクトリに移動します。

    cd /etc/systemd/network/
  3. を実行します。Run thelsコマンドをチェックする. ネットワークファイルを指定します。

    この例では、50-dhcp.netワークのファイルが使用されます。alinux2

  4. 50-dhcp.net作業ファイルの内容を変更します。

    vi /etc/systemd/network/50-dhcp.network
  5. Iキーを押して 、挿入モードに入ります。

    [ネットワーク] の下の情報を変更して、DHCPをyesに設定します。

    説明

    Nameパラメーターがeth * に設定されている場合、すべてのネットワークインターフェイスのIPアドレスとルートはDHCPを介して設定されます。 DHCPを使用して特定のネットワークインターフェイスのみを設定する場合は、Nameパラメーターをネットワークインターフェイスの名前に設定します。 たとえば、[Name] パラメーターをeth0に設定して、DHCP経由でeth0ネットワークインターフェイスのみが設定されるようにします。 詳細については、. ネットワークファイルを参照してください。systemd.netワーク.

    [Match]
    Name=eth*
    
    [Network]
    DHCP=yes

    変更後、Escキーを押して :wqと入力し、enterキーを押して変更を保存して終了します。

  6. 次のコマンドを実行してIPv6を有効にします。

    • すべてのネットワークインターフェイスでIPv6を有効にします。

      sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
      sudo sysctl -w net.ipv6.conf.de fault.disable_ipv6=0 
    • 特定のネットワークインターフェイスのIPv6を有効にします。 この例では、eth0ネットワークインターフェースが使用されます。

      sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=0

IPv6を完全に有効にする

IPv6を永続的に有効にするには、次の操作を実行します。 インスタンスの再起動後も設定は有効なままです。

  1. IPv6を永続的に有効にするインスタンスに接続します。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行して、/etc/sysctl.confファイルを変更します。

    vi /etc/sysctl.conf
  3. Iキーを押して挿入モードに入ります。 次のいずれかの方法を使用して、ファイルの内容を変更します。

    • 次の設定を削除します。

      net.ipv6.conf.all.disable_ipv6 = 1
      net.ipv6.conf.de fault.disable_ipv6 = 1
      net.ipv6.conf.lo.disable_ipv6 = 1 
    • すべてのネットワークインターフェイスでIPv6を有効にするには、次の変更を行います。

      net.ipv6.conf.all.disable_ipv6 = 0
      net.ipv6.conf.de fault.disable_ipv6 = 0
      net.ipv6.conf.lo.disable_ipv6 = 0 

      特定のネットワークインターフェイスでIPv6を有効にするには、ネットワークインターフェイスに対応するdisable_ipv6パラメーターを0に設定します。 この例では、eth0ネットワークインターフェースが使用されます。

      net.ipv6.conf.eth0.disable_ipv6 = 0

    変更後、Escキーを押して :wqと入力し、enterキーを押して変更を保存して終了します。

  4. 次のコマンドを実行して、/etc/sysctl.confファイルの設定が、initramファイルシステム (initramfs) の /etc/sysctl.confファイルの設定と一致するかどうかを確認します。

    diff -u /etc/sysctl.conf <(lsinitrd -f /etc/sysctl.conf)
    説明

    initramfsはAlibaba Cloud Linux 2用に設定されています。 initramfsの /etc/sysctl.confファイルの設定が /etc/sysctl.confファイルの設定と一致しない場合、システムはinitramfsの /etc/sysctl.confファイルの設定を受け入れることがあります。

  5. 2つの構成ファイルに矛盾がある場合は、次のコマンドを実行して新しいinitramfsを生成します。

    sudo dracut -v -f
  6. インスタンスを再起動します。

    sudo reboot
  7. を実行します。Run theifconfigコマンドを実行し、IPv6が有効かどうかを確認します。

    IPv6を有効にすると、次のネットワーク設定が表示されます。

    inet6 <Unicast address that starts with fe80::>
    inet6 <IPv6 address of the instance>

IPv6の無効化

IPv6を一時的に無効にする

次のコマンドを実行して、IPv6を一時的に無効にします。

重要

インスタンスのIPv6が一時的に無効になっている場合、インスタンスの停止または再起動後にIPv6を無効にする設定は無効になります。 作業は慎重に行ってください。

  • すべてのネットワークインターフェイスでIPv6を無効にします。

    sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
    sudo sysctl -w net.ipv6.conf.de fault.disable_ipv6=1 
  • 特定のネットワークインターフェイスでIPv6を無効にします。

    sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1

IPv6を完全に無効にする

IPv6を完全に無効にするには、次の操作を実行します。 インスタンスの再起動後も設定は有効なままです。 次のいずれかの方法でIPv6を無効にします。

  • 次のいずれかのコマンドラインパラメーター設定を使用して、IPv6を完全に無効にします。

    • sudo grubby -- args="ipv6.disable_ipv6=1" -- update-kernel=/boot/vmlinuz-$(uname -r)
    • sudo grubby -- args="ipv6.disable=1" -- update-kernel=/boot/vmlinuz-$(uname -r)
    説明

    ipv6を無効にするには、-- args="ipv6.disale_ipv6=1" または -- args="ipv6.disale=1" 設定を使用できます。 -- args="ipv6.disale_ipv6=1" 設定を使用すると、ネットワークインターフェイスでのみIPv6を無効にできます。 -- args="ipv6.disale=1" 設定は、カーネルモジュールでIPv6を無効にするために使用されます。 詳細については、LinuxカーネルIPv6をご参照ください。

  • /etc/sysctl.confファイルを変更して、IPv6を完全に無効にします。

    1. /etc/sysctl.confファイルを作成します。

      vi /etc/sysctl.conf
    2. Iキーを押して挿入モードに入ります。 以下のように設定を変更します。

      net.ipv6.conf.all.disable_ipv6=1
      net.ipv6.conf.de fault.disable_ipv6=1 

      特定のネットワークインターフェイスでIPv6を無効にします。 例:

      net.ipv6.conf.eth0.disable_ipv6=1
    3. インスタンスを再起動します。

      sudo reboot
    4. を実行します。Run theifconfigコマンドを実行して、IPv6が無効かどうかを確認します。

      IPv6が有効になっている場合、次のネットワーク設定は表示されません。

      inet6 <Unicast address that starts with fe80::>
      inet6 <IPv6 address of the instance>

複数のIPv6アドレスの設定

複数のIPv6アドレスを設定するには、次の操作を実行します。

  1. 複数のIPv6アドレスを設定するインスタンスに接続します。

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行して、/etc/systemd/network/ ディレクトリに移動します。

    cd /etc/systemd/network/
  3. lsコマンドを実行して、.networkファイルをチェックします。

    この例では、10-eth0.netワークのファイルが使用されます。

  4. cpコマンドを実行して、設定ファイルをコピーします。

    この例では、e 20-dhcp.netワーク設定ファイルをコピーしてe 10-eth0.netワーク設定ファイルを作成します。

    cp 10-eth0.network 20-dhcp.network
  5. 次のコマンドを実行して、e 20-dhcp.net作業設定ファイルを変更します。

    sed -i 's/^Name.*$/Name=*/g' /etc/systemd/network/20-dhcp.network
  6. systemd-networkdサービスを再起動して、設定を有効にします。

    sudo systemctl restart systemd-networkd