Linux IPv6 HOWTO (en)

Peter Bieringer

pb at bieringer dot de

Revision History
Revision 0.67wip2020-04-04Revised by: PB
Revision 0.662014-05-15Revised by: PB
Revision 0.652009-12-13Revised by: PB
Revision 0.642009-06-11Revised by: PB
Revision 0.602007-05-31Revised by: PB
Revision 0.512006-11-08Revised by: PB

The goal of the Linux IPv6 HOWTO is to answer both basic and advanced questions about IPv6 on the Linux operating system. This HOWTO will provide the reader with enough information to install, configure, and use IPv6 applications on Linux machines. Intermediate releases of this HOWTO are available at mirrors.bieringer.de or mirrors.deepspace6.net. See also revision history for changes.


Table of Contents
1. General
1.1. Copyright, license and others
1.2. Category
1.3. Version, History and To-Do
1.4. Translations
1.5. Technical
1.6. Preface
1.7. Used terms, glossary and shortcuts
1.8. Requirements for using this HOWTO
2. Basics
2.1. What is IPv6?
2.2. History of IPv6 in Linux
2.3. What do IPv6 addresses look like?
2.4. FAQ (Basics)
3. Address types
3.1. Addresses without a special prefix
3.2. Network part, also known as prefix
3.3. Address types (host part)
3.4. Prefix lengths for routing
4. IPv6-ready system check
4.1. IPv6-ready kernel
4.2. IPv6-ready network configuration tools
4.3. IPv6-ready test/debug programs
4.4. IPv6-ready programs
4.5. IPv6-ready client programs (selection)
4.6. IPv6-ready server programs
4.7. FAQ (IPv6-ready system check)
5. Configuring interfaces
5.1. Different network devices
5.2. Bringing interfaces up/down
6. Configuring IPv6 addresses
6.1. Displaying existing IPv6 addresses
6.2. Add an IPv6 address
6.3. Removing an IPv6 address
6.4. Automatic IPv6 Address Configuration
6.5. Enable Privacy Extension
7. Configuring normal IPv6 routes
7.1. Displaying existing IPv6 routes
7.2. Add an IPv6 route through a gateway
7.3. Removing an IPv6 route through a gateway
7.4. Add an IPv6 route through an interface
7.5. Removing an IPv6 route through an interface
7.6. FAQ for IPv6 routes
8. Neighbor Discovery
8.1. Displaying neighbors using ”ip”
8.2. Manipulating neighbors table using ”ip”
9. Configuring IPv6-in-IPv4 tunnels
9.1. Types of tunnels
9.2. Displaying existing tunnels
9.3. Setup of point-to-point tunnel
9.4. Setup of 6to4 tunnels
10. Configuring IPv4-in-IPv6 tunnels
10.1. Displaying existing tunnels
10.2. Setup of point-to-point tunnel
10.3. Removing point-to-point tunnels
11. Kernel settings in /proc-filesystem
11.1. How to access the /proc-filesystem
11.2. Entries in /proc/sys/net/ipv6/
11.3. IPv6-related entries in /proc/sys/net/ipv4/
11.4. IPv6-related entries in /proc/net/
12. Netlink-Interface to kernel
13. Address Resolver & Selection
14. Network debugging
14.1. Server socket binding
14.2. Examples for tcpdump packet dumps
15. Support for persistent IPv6 configuration in Linux distributions
15.1. Red Hat Linux and ”clones”
15.2. SuSE Linux
15.3. Debian Linux
16. Auto-configuration
16.1. Stateless auto-configuration out-of-the-box
16.2. Stateless auto-configuration using Router Advertisement Daemon (radvd)
16.3. Dynamic Host Configuration Protocol v6 (DHCPv6)
17. Mobility
17.1. Common information
18. Firewalling
18.1. Firewalling using netfilter6
18.2. Preparation
18.3. Usage of ip6tables
18.4. Network Address Translation (NAT) using netfilter6
18.5. Firewalling using nftables
19. Security
19.1. Node security
19.2. Access limitations
19.3. IPv6 security auditing
20. Encryption and Authentication
20.1. Modes of using encryption and authentication
20.2. Support in kernel (ESP and AH)
20.3. Automatic key exchange (IKE)
20.4. Additional informations:
21. Quality of Service (QoS)
21.1. General
21.2. Linux QoS using ”tc”
22. Hints for IPv6-enabled daemons
22.1. Berkeley Internet Name Domain (BIND) daemon ”named”
22.2. Internet super daemon (xinetd)
22.3. Webserver Apache2 (httpd2)
22.4. Router Advertisement Daemon (radvd)
22.5. Dynamic Host Configuration v6 Server (dhcp6s)
22.6. ISC Dynamic Host Configuration Server (dhcpd)
22.7. DHCP Server Dibbler
22.8. tcp_wrapper
22.9. vsftpd
22.10. proftpd
22.11. Other daemons
23. Programming
23.1. Programming using C-API
23.2. Other programming languages
24. Interoperability
25. Further information and URLs
25.1. Paper printed books, articles, online reviews (mixed)
25.2. Conferences, Meetings, Summits
25.3. Online information
25.4. IPv6 Infrastructure
25.5. Maillists
25.6. Online tools
25.7. Trainings, Seminars
25.8. 'The Online Discovery' ...
26. Revision history / Credits / The End
26.1. Revision history
26.2. Credits
26.3. The End