IPv6有効化手順(CentOS8)

さくらのVPSで提供中の標準OS「CentOS 8」のIPv6アドレスに関するページです。

仮想サーバへのログイン

VNCコンソールまたはSSH経由でサーバへログインし、rootユーザに切り替えます。

カーネルパラメータの変更

現在の設定確認

IPv6が無効化されていることを設定ファイルから確認します。

# cat /etc/sysctl.conf

----関連設定の抜粋----
# Do not accept RA
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.ens3.accept_ra=0

# Do not use IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

IPv6の有効化

IPv6を有効化します。

# sed -i -e "/net.ipv6.conf.all.disable_ipv6/s/1/0/" /etc/sysctl.conf
# sed -i -e "/net.ipv6.conf.default.disable_ipv6/s/1/0/" /etc/sysctl.conf

設定が変更されていることを確認します。

# cat /etc/sysctl.conf

----関連設定の抜粋----
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0

ネットワークコンフィグの変更

現在の設定を確認

現在のネットワーク設定を確認します。
IPv6に関する設定がコメントアウトされていることが確認できます。

# ip addr show ens3

2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:a3:ba:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet XXX.XXX.XXX.XXX/XX brd XXX.XXX.XXX.XXX scope global noprefixroute ens3
       valid_lft forever preferred_lft forever
# cat /etc/sysconfig/network

NETWORKING=yes
#NETWORKING_IPV6=yes
#IPV6_DEFAULTDEV="ens3"
#IPV6_DEFAULTGW="fe80::1"
# cat /etc/sysconfig/network-scripts/ifcfg-ens3

DEVICE="ens3"
IPADDR="XXX.XXX.XXX.XXX"
NETMASK="XXX.XXX.XXX.XXX"
ATEWAY="XXX.XXX.XXX.XXX"
ONBOOT="yes"
TYPE="Ethernet"
DNS1="XXX.XXX.XXX.XXX"
DNS2="XXX.XXX.XXX.XXX"
#IPV6INIT="yes"
#IPV6_ROUTER="no"
#IPV6ADDR="XXX:XXX:XXX:XXX:XXX:XXX:XXX:XXX/64"

IPv6の設定確認(VPSコントロールパネル)

コントロールパネルにログインして、サーバの「ネットワーク情報」をクリックします。

記載内容が設定ファイルと同じであることを確認します。

IPv6の有効化

以下のコマンドを実行し、コメントアウトを解除します。

# sed -i -e "s/^#//g" /etc/sysconfig/network
# sed -i -e "s/^#//g" /etc/sysconfig/network-scripts/ifcfg-ens3

IPv6に関する設定のコメントアウトが解除されていることを確認します。

# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
IPV6_DEFAULTDEV="ens3"
IPV6_DEFAULTGW="fe80::1"
# cat /etc/sysconfig/network-scripts/ifcfg-ens3
DEVICE="ens3"
IPADDR="XXX.XXX.XXX.XXX"
NETMASK="XXX.XXX.XXX.XXX"
GATEWAY="XXX.XXX.XXX.XXX"
ONBOOT="yes"
TYPE="Ethernet"
DNS1="XXX.XXX.XXX.XXX"
DNS2="XXX.XXX.XXX.XXX"
IPV6INIT="yes"
IPV6_ROUTER="no"
IPV6ADDR="XXX:XXX:XXX:XXX:XXX:XXX:XXX:XXX/64"

ネットワーク設定の反映

OSを再起動し、ネットワーク設定を反映します。

# reboot

ヒント

再起動をかけたくない場合は、以下のコマンドでも設定の反映は可能です。

# sysctl -p
# systemctl restart network.service

設定の反映を確認

ネットワークの情報で、IPv6アドレスが設定されていることを確認します。

# ip addr show ens3

2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:a3:ba:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet XXX.XXX.XXX.XXX/XX brd XXX.XXX.XXX.XXX scope global noprefixroute ens3
       valid_lft forever preferred_lft forever
    inet6 2401:2500:102:3000:XXX:XXX:XXX:XXX/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::9ea3:baff:fe01:XXXX/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

IPv6のデフォルトゲートウェイが「fe80::1」と設定されていることを確認します。

# ip -6 route show

::1 dev lo proto kernel metric 256 pref medium
2401:2500:102:3000::/64 dev ens3 proto kernel metric 100 pref medium
fe80::/64 dev ens3 proto kernel metric 100 pref medium
default via fe80::1 dev ens3 proto static metric 100 pref medium

IPv6で通信可能か「ping6」などで確認してください。
通信が可能であればIPv6アドレスを有効にする方法は完了です。