CentOS 7でのIPv6設定

CentOS 6と7でぜんぜん違うので注意。6は文献・資料多いが、7は少ない

  • v6有効やデフォゲ設定(2箇所)

・/etc/sysconfig/network-scripts/ifcfg-eno16777984

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes" # IPv6を有効にする
IPV6_AUTOCONF="no"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777984"
UUID="c22605a4-4cec-4c1b-9382-090d1db46fd1"
DEVICE="eno16777984"
ONBOOT="yes"
DNS1=10.1.11.13
DNS2=10.1.11.1
IPADDR=10.1.33.158
PREFIX=24
GATEWAY=10.1.33.254
IPV6ADDR=2400:4010:427:33::158/64
IPV6_DEFAULTGW=2400:4010:427:33::10
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no

・/etc/sysconfig/network

# Created by anaconda

NETWORKING_IPV6=yes # IPv6を有効にする
IPV6FORWARDING=yes
IPV6_AUTOCONF=no # IPv6アドレスの自動設定を無効にする
IPV6_AUTOTUNNEL=no
#IPV6_DEFAULTGW=2003:6800:8345:1033:10:33:1:158%eno16777984
IPV6_DEFAULTDEV=eno16777984
  • スタティックルートの追加(恒久的)(2箇所)

・/etc/sysconfig/static-routes-ipv6

eno16777984    2000:4010:0427:0033::/64        2400:4010:427:33:21b:17ff:fe00:110

・/etc/sysconfig/network-scripts/route6-eno16777984

2400:4010:427:3100::/60 via 2400:4010:427:33::10 metric 10
  • スタティックルートの追加・削除(一時的)
# route add -A inet6 2001:db8:0:100::/64 gw 2001:db8::200
# route del -A inet6 2001:db8:0:100::/64 gw 2001:db8::200
  • アドレスの追加・削除・確認
# ip addr add 2001:db8::80:1/64 dev eth0
# ip addr del 2001:db8::80:1/64 dev eth0
# ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno16777984: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2003:6800:8345:1033:10:1:33:158/64 scope global
       valid_lft forever preferred_lft forever
    inet6 2400:4010:427:33::158/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:feae:5613/64 scope link
       valid_lft forever preferred_lft forever

DNSサーバの設定

# nmcli connection modify eno1 ipv6.dns "2001:db8:0::1 2001:db8:0::2"

・NDの確認・追加

# ip -f inet6 neigh show
2400:4010:427:33::5 dev eno16777984  FAILED
2400:4010:427:33::6 dev eno16777984  FAILED
2400:4010:427:33::10 dev eno16777984  FAILED

# ip -f inet6 neigh add 2400:4010:427:33::10 lladdr 00:1b:17:00:01:10 dev eno16777984
  • 設定後のネットワーク再起動
# /etc/rc.d/init.d/network restart
# service network restart
# systemctl restart NetworkManager
  • 確認

・ルーティングテーブルの表示(2通り)

# route -n -A inet6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
::/96                          ::                         !n   1024 0     0 lo
0.0.0.0/96                     ::                         !n   1024 0     0 lo
2002:a00::/24                  ::                         !n   1024 0     0 lo
2002:7f00::/24                 ::                         !n   1024 0     0 lo
2002:a9fe::/32                 ::                         !n   1024 0     0 lo
2002:ac10::/28                 ::                         !n   1024 0     0 lo
2002:c0a8::/32                 ::                         !n   1024 0     0 lo
2002:e000::/19                 ::                         !n   1024 0     0 lo
2003:6800:8345:1033::/64       ::                         U    256 0     1 eno16777984
2400:4010:427:33::/64          ::                         U    256 0     1 eno16777984
3ffe:ffff::/32                 ::                         !n   1024 0     0 lo
fe80::/64                      ::                         U    256 0     0 eno16777984
::/0                           2003:6800:8345:1033::253   UG   1   0     0 eno16777984
::/0                           2400:4010:427:33::10       UG   100 0     0 eno16777984
::/0                           ::                         !n   -1  1    38 lo
::1/128                        ::                         Un   0   1     3 lo
2003:6800:8345:1033::/128      ::                         Un   0   1     0 lo
2003:6800:8345:1033:10:1:33:158/128 ::                         Un   0   1     0 lo
2400:4010:427:33::/128         ::                         Un   0   1     0 lo
2400:4010:427:33::158/128      ::                         Un   0   1    12 lo
fe80::/128                     ::                         Un   0   1     0 lo
fe80::250:56ff:feae:5613/128   ::                         Un   0   1     0 lo
ff00::/8                       ::                         U    256 0     0 eno16777984
::/0                           ::                         !n   -1  1    38 lo

# ip -6 route
unreachable ::/96 dev lo  metric 1024  error -101
unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  error -101
unreachable 2002:a00::/24 dev lo  metric 1024  error -101
unreachable 2002:7f00::/24 dev lo  metric 1024  error -101
unreachable 2002:a9fe::/32 dev lo  metric 1024  error -101
unreachable 2002:ac10::/28 dev lo  metric 1024  error -101
unreachable 2002:c0a8::/32 dev lo  metric 1024  error -101
unreachable 2002:e000::/19 dev lo  metric 1024  error -101
2003:6800:8345:1033::/64 dev eno16777984  proto kernel  metric 256
2400:4010:427:33::/64 dev eno16777984  proto kernel  metric 256
unreachable 3ffe:ffff::/32 dev lo  metric 1024  error -101
fe80::/64 dev eno16777984  proto kernel  metric 256
default via 2003:6800:8345:1033::253 dev eno16777984  metric 1
default via 2400:4010:427:33::10 dev eno16777984  proto static  metric 100

ping

# ping6 2400:4010:427:33::158
PING 2400:4010:427:33::158(2400:4010:427:33::158) 56 data bytes
64 bytes from 2400:4010:427:33::158: icmp_seq=1 ttl=64 time=0.075 ms
64 bytes from 2400:4010:427:33::158: icmp_seq=5 ttl=64 time=0.089 ms
64 bytes from 2400:4010:427:33::158: icmp_seq=6 ttl=64 time=0.086 ms
^C
--- 2400:4010:427:33::158 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 4999ms
rtt min/avg/max/mdev = 0.075/0.088/0.104/0.008 ms

※Paloの場合
> ping inet6 yes host 2400:4010:427:33::158


〔参考〕
CentOSでIPv6アドレスの設定方法
CentOSでIPv6のスタティックルートの追加方法
CentOS7 IPv6の設定
これから始めるIPv6(3):3つの手順で実現、サーバOSのIPv6対応 (2/2) - @IT