IPv6 is enable in Ubuntu by default, but I have found that without experiece you can spend a lot of time to find information for IPv6 network configuration and operation.
How to change IP address permanently
Make changes in file /etc/network/interfacesiface ens4 inet static
address 192.168.0.254
netmask 255.255.255.0
gateway 192.168.0.1
iface ens4 inet6 static
address 2001:db8::254
netmask 64
gateway 2001:db8::1
Temporary IPv6 Address Assignment
stack@devstack# ip address add 2001:db8::254/64 dev ens4Temporary IPv6 Address Deletion
stack@devstack# ip address del 2001:db8::254/64 dev ens4
Verify IPv6 address configuration
stack@devstack# ip address dev ens4
link/ether 00:50:00:00:04:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.254/24 brd 192.168.0.255 scope global ens4
valid_lft forever preferred_lft forever
inet6 2001:db8::254/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:ff:fe00:401/64 scope link
valid_lft forever preferred_lft forever
Usefull options for command ip address show
Abbreviations: show, list, lst, ls, l
Arguments:
dev NAME (default) --- name of the device.
scope SCOPE_VAL --- list only addresses with this scope.
to PREFIX --- list only addresses matching this prefix.
primary / secondary --- list only primary (or secondary) addresses.
Note:For the full list of arguments please check documentation for iproute2 http://www.policyrouting.org/iproute2.doc.html
stack@devstack$ ip address list dynamic
3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:00:00:04:01 brd ff:ff:ff:ff:ff:ff
inet6 2001:db8::250:ff:fe00:401/64 scope global mngtmpaddr dynamic
valid_lft 2588545sec preferred_lft 601345sec
stack@devstack$ ip address list scope link
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:00:00:04:00 brd ff:ff:ff:ff:ff:ff
inet6 fe80::250:ff:fe00:400/64 scope link
valid_lft forever preferred_lft forever
3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:00:00:04:01 brd ff:ff:ff:ff:ff:ff
inet6 fe80::250:ff:fe00:401/64 scope link
valid_lft forever preferred_lft forever
Verify IPv4 routes
command "ip route show"stack@devstack$ ip route show
default via 192.168.122.1 dev ens3
192.168.0.0/24 dev ens4 proto kernel scope link src 192.168.0.254
192.168.122.0/24 dev ens3 proto kernel scope link src 192.168.122.234
command "route -4" or "route -A inet"
stack@devstack$ route -4
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default ubuntu 0.0.0.0 UG 0 0 0 ens3
192.168.0.0 * 255.255.255.0 U 0 0 0 ens4
192.168.122.0 * 255.255.255.0 U 0 0 0 ens3
Verify IPv6 routes
command "ip -6 route show"stack@devstack# ip -6 route show
2001:db8::/64 dev ens4 proto kernel metric 256 pref medium
fe80::/64 dev ens4 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
default via fe80::a8bb:ccff:fe00:1000 dev ens4 proto ra metric 1024 expires 1719sec hoplimit 64 pref medium
command "route -6" or "route -A inet6"
stack@devstack$ route -6
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
2001:db8::/64 :: U 256 1 54 ens4
fe80::/64 :: U 256 0 0 ens4
fe80::/64 :: U 256 0 0 ens3
::/0 fe80::a8bb:ccff:fe00:1000 UGDAe 1024 1 29 ens4
::/0 :: !n -1 1 86 lo
::1/128 :: Un 0 2 3 lo
2001:db8::254/128 :: Un 0 2 55 lo
fe80::250:ff:fe00:400/128 :: Un 0 1 0 lo
fe80::250:ff:fe00:401/128 :: Un 0 2 37 lo
ff00::/8 :: U 256 1 16 ens4
ff00::/8 :: U 256 0 0 ens3
::/0 :: !n -1 1 86 lo
Check IPv6 connectivity
stack@devstack$ ping6 -n -c 4 s1.lab.localPING s1.lab.local(2001:db8::1) 56 data bytes
64 bytes from 2001:db8::1: icmp_seq=1 ttl=64 time=2.52 ms
64 bytes from 2001:db8::1: icmp_seq=2 ttl=64 time=11.3 ms
64 bytes from 2001:db8::1: icmp_seq=3 ttl=64 time=3.53 ms
64 bytes from 2001:db8::1: icmp_seq=4 ttl=64 time=3.91 ms
--- s1.lab.local ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 2.526/5.321/11.318/3.499 ms
stack@devstack$ traceroute -n -6 -I ipv6.google.com
traceroute to ipv6.google.com (2a00:1450:4013:c01::66), 30 hops max, 80 byte packets
1 2a04:XXXX:1::1 11.684 ms 11.758 ms 11.753 ms
2 2a04:XXXX:0:103::1 0.978 ms 0.980 ms 0.977 ms
3 2001:1900:5:2:2::1939 11.640 ms 11.637 ms 11.633 ms
4 2001:1900:104:8::8 11.629 ms 11.699 ms 11.696 ms
5 2001:1900:5:3::276 11.692 ms 11.688 ms 11.683 ms
6 2001:4860::1:0:abf6 11.681 ms 10.735 ms 10.721 ms
7 2001:4860::8:0:abf1 10.705 ms 3.051 ms 3.036 ms
8 2001:4860::8:0:8f8e 5.778 ms 5.768 ms 5.756 ms
9 2001:4860::8:0:519f 9.570 ms 9.562 ms 9.544 ms
10 2001:4860::8:0:519e 23.371 ms 23.363 ms 12.068 ms
11 2001:4860::2:0:8652 12.659 ms 12.637 ms 12.625 ms
12 2a00:1450:4013:c01::66 12.339 ms 12.445 ms 12.426 ms
Verify IP ARP cache
You can use classical arp command
stack@devstack$ arp -a
stack@devstack$ arp -a
veos1 (192.168.0.3) at 50:00:00:05:00:00 [ether] on ens4
vmx1 (192.168.0.5) at 50:00:00:07:00:00 [ether] on ens4
ubuntu (192.168.122.1) at 52:54:00:a6:11:ac [ether] on ens3
veos2 (192.168.0.4) at 50:00:00:06:00:00 [ether] on ens4
vmx2 (192.168.0.6) at 50:00:00:03:00:00 [ether] on ens4
You can also use new ip command to check ARP cache status
stack@devstack$ ip -4 neighbor show192.168.0.3 dev ens4 lladdr 50:00:00:05:00:00 STALE
192.168.0.5 dev ens4 lladdr 50:00:00:07:00:00 STALE
192.168.122.1 dev ens3 lladdr 52:54:00:a6:11:ac REACHABLE
192.168.0.4 dev ens4 lladdr 50:00:00:06:00:00 STALE
192.168.0.6 dev ens4 lladdr 50:00:00:03:00:00 STALE
Verify IPv6 neighbor cache
stack@devstack$ ip -6 neighbor show
2001:db8::5 dev ens4 FAILED
fe80::a8bb:ccff:fe00:1000 dev ens4 lladdr aa:bb:cc:00:10:00 router STALE
2001:db8::4 dev ens4 lladdr 50:00:00:06:00:00 router STALE
2001:db8::3 dev ens4 lladdr 50:00:00:05:00:00 router STALE
2001:db8::2 dev ens4 lladdr aa:bb:cc:00:10:00 router STALE
fe80::5200:ff:fe06:0 dev ens4 lladdr 50:00:00:06:00:00 router STALE
fe80::5200:ff:fe05:0 dev ens4 lladdr 50:00:00:05:00:00 router STALE
2001:db8::1 dev ens4 lladdr 50:00:00:02:00:00 STALE
2001:db8::6 dev ens4 lladdr 50:00:00:03:00:00 router STALE
Monitoring
The ip utility allows monitoring the state of devices, addresses, and routes continuously. This option has a different format in that the command monitor is first on the command line followed by the object list.I recommend to use it with the time stamp option '-ts'
stack@devstack$ ip -ts monitor dev ens4
[2018-08-16T11:59:13.550548] default via fe80::a8bb:ccff:fe00:1000 proto ra metric 1024 pref medium
[2018-08-16T11:59:13.552140] prefix 2001:db8::/64 dev ens4 onlink autoconf valid 2592000 preferred 604800
[2018-08-16T11:59:29.661718] prefix 2001:db8::/64 dev ens4 onlink autoconf valid 2592000 preferred 604800
[2018-08-16T11:59:45.708877] prefix 2001:db8::/64 dev ens4 onlink autoconf valid 2592000 preferred 604800
[2018-08-16T12:00:08.506428] Deleted default via fe80::a8bb:ccff:fe00:1000 proto ra metric 1024 expires 1777sec hoplimit 64 pref medium
Comments
Post a Comment