Centos 7 に ipv6 アドレスを付与する

Centos 7でIPv6アドレスを付与しようとしたら、

[IPv6の無効]の仕方しか出てこない。みんなそんなに使いたくないのか!IPv6っ。

いや私は初めてNetworkManager使って設定したかったので。

 

[構成]

[ Centos ]
eth1

   |  ::100
   |
   |   2001:db8:1000/64
   | 
   |  ::9

[Gateway vMX]

 

2001:db8:1000::100をeth1にアサインします。

 

まずは、NetworkManagerを有効化して、NICを見てみる

[root@localhost ~]# systemctl start NetworkManager
[root@localhost ~]# nmcli device
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected System eth0
eth1 ethernet connecting (getting IP configuration) Wired connection 1
lo loopback unmanaged --
[root@localhost ~]# nmcli device show eth1
GENERAL.DEVICE: eth1
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 56:68:A3:54:09:0B
GENERAL.MTU: 1500
GENERAL.STATE: 70 (connecting (getting IP configuration))
GENERAL.CONNECTION: Wired connection 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER: on 

eth1のMACは56:68:A3:54:09:0Bだとか、MTUが1500だとかがわかる。

この時点ではeth1はまだ通信としては使えない(この表現で良いのか?)ので

Device 名と同じくeth1として登録する。

 

[root@localhost ~]# nmcli con add con-name eth1 type ethernet ifname eth1
Connection 'eth1' (af84408b-f5ce-4dce-88d5-d18d6b432ea8) successfully added.

 

そして、アドレスとDefault Gatewayを振る。

[root@localhost ~]# nmcli con mod eth1 ipv6.addresses "2001:db8:1000::100/64" gw6 "2001:db8:1000::9"
[root@localhost ~]#
[root@localhost ~]# ip addr show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 56:68:a3:54:09:0b brd ff:ff:ff:ff:ff:ff
inet6 fe80::ee9d:9cc6:3d9a:6db4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@localhost ~]#

しかし、すぐShowしてもアドレスやGWは表示されない。

Down/Upして...


[root@localhost ~]# nmcli con down eth1
Connection 'eth1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@localhost ~]# nmcli con up eth1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
[root@localhost ~]#

もう一度確認、表示された。

[root@localhost ~]# ip addr show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 56:68:a3:54:09:0b brd ff:ff:ff:ff:ff:ff
inet6 2001:db8:1000::100/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::ee9d:9cc6:3d9a:6db4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@localhost ~]#

 

Pingを打ってみる。

[root@localhost ~]# ping6 -I eth1 2001:db8:1000::9
PING 2001:db8:1000::9(2001:db8:1000::9) from 2001:db8:1000::100 eth1: 56 data bytes
64 bytes from 2001:db8:1000::9: icmp_seq=1 ttl=64 time=27.5 ms
64 bytes from 2001:db8:1000::9: icmp_seq=2 ttl=64 time=0.904 ms
64 bytes from 2001:db8:1000::9: icmp_seq=3 ttl=64 time=0.942 ms
64 bytes from 2001:db8:1000::9: icmp_seq=4 ttl=64 time=0.833 ms
^C
--- 2001:db8:1000::9 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.833/7.553/27.535/11.536 ms

応答あり!(わーい)

 

一応デフォゲ経由で別セグにも行けているか、別ネットにも打ってみる(vMXの先にいます)

[root@localhost ~]# ping6 -I eth1 2001:db8:1001::9
PING 2001:db8:1001::9(2001:db8:1001::9) from 2001:db8:1000::100 eth1: 56 data bytes
64 bytes from 2001:db8:1001::9: icmp_seq=1 ttl=64 time=1.01 ms
64 bytes from 2001:db8:1001::9: icmp_seq=2 ttl=64 time=1.04 ms
64 bytes from 2001:db8:1001::9: icmp_seq=3 ttl=64 time=0.819 ms
64 bytes from 2001:db8:1001::9: icmp_seq=4 ttl=64 time=0.964 ms

応答あり!(わーい)

ちなみに、以下を見ると「DEFROUTE=yes」となっており、IPv6だけ設定したのに、IPv4のDefault Gatewayがeth1を向いている。NICの2枚挿しとかしていると、これが原因でIPv4の方の通信ができなくなるんじゃなかろうか。

よって、IPv6を使わなければ明示的に、Disable文化になって行くんじゃなかろうか...と思ったり...

[root@srv ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
UUID=2ec81666-138e-4a67-95c7-d4a1add03b9c
DEVICE=eth1
ONBOOT=yes
IPV6ADDR=2001:db8:1000::100/64
IPV6_DEFAULTGW=2001:db8:1000::9