A curated list of IPv6 materials and learning resources
- IPv6 Fundamentals: A Straightforward Approach to Understanding IPv6
- IPv6 Security
- Linux IPv6 HowTo - All-things manual for IPv6 on Linux
- IPv6 Essentials Cheat Sheet
- Internet Protocol Version 6 (IPv6) Basics Cheat Sheet by Jens Roesen
- IPv6 Addressing Guide (pt-BR)
- IPv6.rs - An IPv6 tunnel provider that also provides the Cloud Seeder open source appliance maintenance and deployment suite.
ping6 <node address>
- Ping a nodeping6 ff02::1%<interface>
- Ping all-nodes multicast address on link
ip -6 neigh show
- Show neighbor cacheip -6 addr
/ip -6 a
/ip -6 address
- Show IPv6 interfaces addressesip address add 2002:db6::1/64 dev bt0
- Add IPv6 prefix to interfaceip -6 addr flush label "en*"
- Clear all IPv6 addresses on an interface
- Enable 6LoWPAN over Bluetooth
modprobe bluetooth_6lowpan
echo 35 > /sys/kernel/debug/bluetooth/6lowpan_psm
echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable
- Connect device to host
echo "connect XX:XX:XX:XX:XX:XX 2" | sudo tee /sys/kernel/debug/bluetooth/6lowpan_control
interface $iface
{
AdvSendAdvert on;
prefix 2b02:6009:aac0:c2a2::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
IPv6 configuration in /etc/sysctl.conf
, all
can be replaced with interface name
net.ipv6.conf.all.accept_ra=2
- Enable or disable SLAAC- 1 -> Enable (disabled, if forwarding=1)
- 0 -> Disable
- 2 -> Enable (for all)
net.ipv6.conf.all.forwarding=1
- Enable IPv6 forwardingnet.ipv6.conf.all.accept_ra_defrtr=1
- Accept hop limit settings from RAnet.ipv6.conf.all.router_solicitations=1
- Number of Router Solicitations send, before assuming no router available
When disabling privacy extensions, the Interface ID will be generated from the device's MAC address (EUI-64 format). This setting is only effective for managed devices because many operating systems also have built-in MAC address privacy options.
On Windows, open a command prompt as Administrator and paste the following commands:
netsh interface ipv6 set global randomizeidentifiers=disabled store=active
netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent
netsh interface ipv6 set privacy state=disabled store=active
netsh interface ipv6 set privacy state=disabled store=persistent
On Linux, go to /etc/netplan and find the YAML configuration file there. Add ipv6-privacy: off
and ipv6-address-generation: eui64
to the appropriate interface:
network:
version: 2
ethernets:
enp0s3:
ipv6-privacy: off
ipv6-address-generation: eui64
renderer: NetworkManager
- RFC8504: IPv6 Node Requirements Best Current Practice 220
- RFC8200: (STD 86) Internet Protocol, Version 6 (IPv6) Specification
- RFC4291: IP Version 6 Addressing Architecture
- RFC4861: Neighbor Discovery for IP version 6 (IPv6)
- RFC4862: IPv6 Stateless Address Autoconfiguration
- RFC4941: Privacy Extensions for Stateless Address Autoconfiguration in IPv6
- RFC4443: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
- RFC8106: IPv6 Router Advertisement Options for DNS Configuration
- RFC8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
- RFC3596: DNS Extensions to Support IP Version 6
- RFC6724: Default Address Selection for Internet Protocol Version 6 (IPv6)
- RFC7381: Enterprise IPv6 Deployment Guidelines
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, Gabriel Cruz has waived all copyright and related or neighboring rights to this work.