Difference between revisions of "IPv6"

From wiki
Jump to navigation Jump to search
 
Line 54: Line 54:
 
Locally assigned</td>
 
Locally assigned</td>
 
<td>40 bits<br />
 
<td>40 bits<br />
Randomly generated</td>
+
User defined</td>
 
<td>16 bits<br />
 
<td>16 bits<br />
 
Local subnet</td>
 
Local subnet</td>
 
<td>64 bits<br />
 
<td>64 bits<br />
From MAC address</td>
+
Locally assigned or by dhcp</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>

Latest revision as of 08:12, 20 December 2020

https://ifconfig.co/
Including CLI-support
https://test-ipv6.com/
https://ipv6-test.com/
Check your IPv6 configuration
http://ipv6-test.com/validate.php
Check IPv6 support for websites


Address Assignment

The IPv6 address assignment is handled by IANA. Most important prefixes are:

2000::/3 Global Unicast Global scope
FC00::/7 Unique Local Unicast Local Unicast. For intranets, not routed, like IPv4 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. Currently FC00::/8 is undefined, only FD00::/8 is used
FE80::/10 Link Local Unicast Link Identification, addresses can be based on the interface MAC address
FF00::/8 Multicast

Local Unicast

Uses are advised to generate a 40 bits Global ID for their intranets. It is advised to calculate the Global Id using a specified procedure to maximize the probability of an unique address.

Local Unicast Address-format

Prefix L Global ID Subnet ID Interface ID
7 bits
FC00::/7
1 bit
Locally assigned
40 bits
User defined
16 bits
Local subnet
64 bits
Locally assigned or by dhcp
1111110 1

The Interface ID is in the so-called ‘Modified EUI-64 Format’. How to go from a MAC address to Modified EUI-64 format is described in appendix A of [href="http://tools.ietf.org/html/rfc4291 RFC 4291].The Routing Advertising Daemon radvd provides ‘Stateless Autoconfiguration’ e.g. by assigning IPv6 addresses and routing information to nodes on the LAN.


Disable IPv6 on a system

At the end of /etc/sysctl.conf add:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
sysctl -p
Force reload of the kernel parameters as in /etc/sysctl.conf
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Check if IPv6 has been disabled:
0 => IPv6 is not disabled
1 => IPv6 is disabled

Check IPv6 autoconfiguration

cat /proc/sys/net/ipv6/conf/eth0/autoconf
0 => autoconf is disabled
1 => autoconf is enabled

Misc commands

/sbin/ip -6 addr del <ipv6address>/<prefixlength> dev <interface>
Remove ipv6 addres from an interface