IPv6有効化手順(CentOS7)

さくらのVPSで提供中の標準OS「CentOS 7」の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.eth0.accept_ra=0

# Do not user 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に関する設定がコメントアウトされていることが確認できます。

# ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
     inet XXX.XXX.XXX.XXX  netmask 255.255.254.0  broadcast XXX.XXX.XXX.255
     ether 9c:a3:ba:XXX:XXX:XXX txqueuelen 1000  (Ethernet)
     RX packets 6046  bytes 374633 (365.8 KiB)
     RX errors 0  dropped 0  overruns 0  frame 0
     TX packets 93  bytes 11160 (10.8 KiB)
     TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# cat /etc/sysconfig/network

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

DEVICE="eth0"
IPADDR="XXX.XXX.XXX.XXX"
NETMASK="255.255.254.0"
GATEWAY="XXX.XXX.XXX.1"
ONBOOT="yes"
TYPE="Ethernet"
DNS1="210.188.224.11"
DNS2="210.188.224.10"
DNS3="2001:e42::2"
#IPV6INIT="yes"
#IPV6_ROUTER="no"
#IPV6ADDR="2001:e42:102:1501: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-eth0

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

# cat /etc/sysconfig/network

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

DEVICE="eth0"
IPADDR="XXX.XXX.XXX.XXX"
NETMASK="255.255.254.0"
GATEWAY="XXX.XXX.XXX.1"
ONBOOT="yes"
TYPE="Ethernet"
DNS1="210.188.224.11"
DNS2="210.188.224.10"
DNS3="2001:e42::2"
IPV6INIT="yes"
IPV6_ROUTER="no"
IPV6ADDR="2001:e42:102:1501:XXX:XXX:XXX:XXX/64"

ネットワーク設定の反映

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

# reboot

ヒント

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

# sysctl -p
# systemctl restart network.service

設定の反映を確認

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

# ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
     inet XXX.XXX.XXX.XXX  netmask 255.255.254.0  broadcast XXX.XXX.XXX.255
     inet6 fe80::9ea3:baff:fe01:XXXX prefixlen 64  scopeid 0x20<link>
     inet6 2001:e42:102:1501:XXX:XXX:XXX:XXX  prefixlen 64  scopeid 0x0<global>
     ether 9c:a3:ba:XXX:XXX:XXX  txqueuelen 1000  (Ethernet)
     RX packets 15281  bytes 950624 (928.3 KiB)
     RX errors 0  dropped 0  overruns 0  frame 0
     TX packets 312  bytes 41347 (40.3 KiB)
     TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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

# netstat -rnA inet6

Kernel IPv6 routing table
Destination                              Next Hop    Flags  Metric Ref    Use Iface
2001:e42:102:1501::/64                   ::          U      256    0      0   eth0
fe80::/64                                ::          U      256    0      0   eth0
::/0                                     fe80::1     UG     1      32     0   eth0
::1/128                                  ::          U      0      13     1   lo
2001:e42:102:1501:160:16:50:47/128       ::          U      0      13     1   lo
fe80::9ea3:baff:fe01:addb/128            ::          U      0      7      1   lo
ff02::12/128                             ff02::12    UC     0      268    0   eth0
ff00::/8                                 ::          U      256    0      0   eth0

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