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