AWSユーザーガイドのIPv6への移行 シナリオにしたがってCentOS7のDHCPv6を有効にした手順を未来の自分にメモします。
まずインスタンス内から外に向けてping6 を打ってみます。
$ ping6 ipv6.google.com
connect: Network is unreachable
届きませんでしたね。そこで以下のカスタムファイルを作成して保存します。
# vi /etc/cloud/cloud.cfg.d/99-custom-networking.cfg
network: version: 1 config: - type: physical name: eth0 subnets: - type: dhcp - type: dhcp6
ここからifcfg-eth0を手動で編集します。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=no ↓ IPV6INIT=yes
DHCPV6C=yes (追記 NM_CONTROLLED=no (追記
/etc/sysconfig/network を開いて以下の行を追記して保存します。
# vi /etc/sysconfig/network
NETWORKING_IPV6=yes (追記
続いて次のコマンドで/etc/sysctl.d 下のインターフェイス固有ファイルにaccept_ra=1を設定します。
# echo "net.ipv6.conf.eth0.accept_ra=1" > /etc/sysctl.d/enable-ipv6-ra.conf && sysctl -p /etc/sysctl.d/enable-ipv6-ra.conf
accept_ra = 1 と確定していればOKです。
# ssysctl -a | grep "net.ipv6.conf.eth0.accept_ra" sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key "net.ipv6.conf.default.stable_secret" sysctl: reading key "net.ipv6.conf.eth0.stable_secret" sysctl: reading key "net.ipv6.conf.lo.stable_secret" net.ipv6.conf.eth0.accept_ra = 1 net.ipv6.conf.eth0.accept_ra_defrtr = 1 net.ipv6.conf.eth0.accept_ra_pinfo = 1 net.ipv6.conf.eth0.accept_ra_rt_info_max_plen = 0 net.ipv6.conf.eth0.accept_ra_rtr_pref = 1
最後にsystemctl restart network でインターフェイスを再起動してping6を確認します。
$ ping6 ipv6.google.com
PING ipv6.google.com(nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e)) 56 data bytes 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=1 ttl=104 time=2.32 ms 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=2 ttl=104 time=2.40 ms 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=3 ttl=104 time=2.35 ms 64 bytes from nrt20s08-in-x0e.1e100.net (2404:6800:4004:808::200e): icmp_seq=4 ttl=104 time=2.38 ms
今度はping6 が到達するようになりました。
参考サイト: