This is an old revision of the document!
IPv6 - Internet protocol of Next Generation
IPv6 links
Tools
sudo apt-get install sipcalc
NAP-TPd
see: Building an IPv6 router with GNU/Linux and Official NAPTD download site
patched version (ubuntu/debian): naptd-0.4.aufbix1.tar.gz
Ubuntu 9.4 notes - should compile out-of-the-box
Debian 5.0 notes
you need changes around 690 line in src/alg_dns.cc:
+ next_byte = v6_address->in6_u.u6_addr8[15 - i]; - next_byte = v6_address->__in6_u.__u6_addr8[15 - i];
Subnetting guides
see also: IP Allocation Rates on RIPE-NCC site
The essential initial guidelines are:
ISP /32 Enough for 4billion ISPs Enough for each ISP to support 65,536 /48 customers or 16.7M /56 customers, etc. Larger ISPs can get more than a /32 if needed. End Site /48 Enough for 65,536 /64 subnets Larger organizations can get more than a /48 if needed. Single Subnet /64 Enough for more hosts that most of us can imagine on a single subnet. Support for 64 bit MAC addresses Support for stateless autoconfiguration
IPv6 Relative Network Sizes
128 | 1 IPv6 address | A network interface |
/64 | 1 IPv6 subnet | 18,446,744,073,709,551,616 IPv6 addresses |
/56 | 256 LAN segments | Popular prefix size for one subscriber site |
/48 | 65,536 LAN segments | Popular prefix size for one subscriber site |
/32 | 65,536 /48 subscriber sites | Minimum IPv6 allocation |
/24 | 16,777,216 subscriber sites | 256 times larger than the |
DHCPv6
Howto have 2 or more IPv6 tunnels on one machine (Multihomed IPv6 Setup)
Version: 0.1.0, 2007-09-08
Philipp Kolmann <philipp at kolmann.at>
Since 2.6.19 linux has support for CONFIG_IPV6_MULTIPLE_TABLES (Support multiple routing tables) and since 2.6.20 CONFIG_IPV6_SUBTREES (Enable routing by source address or prefix).
With this infrastructure it is possible to have multiple IPv6 addresses on different subnets (read differnet SixxS tunnels to different POPs) working. With a normal setup, you would end up with one default route and route all traffic through this link.
My setup is the following:
One SixxS tunnel Maribor, Slovenia (sixxs-si), and one to Hamburg, Germany (sixxs-de).
First added a new table to /etc/iproute2/rt_tables: echo "100 sixxs" >> /etc/iproute2/rt_tables
In /etc/network/interfaces
I have the following setup (Static IPv4 Adress):
auto sixxs-si iface sixxs-si inet6 v4tunnel address 2001:1::2 netmask 64 endpoint 212.18.63.73 ttl 64 up ip link set mtu 1280 dev sixxs-si up ip route add default via 2001:1::1 dev sixxs-si auto sixxs-de iface sixxs-de inet6 v4tunnel address 2001:ffff::2 netmask 64 endpoint 212.224.0.188 ttl 64 up ip link set mtu 1280 dev sixxs-de up ip -6 rule add from 2001:ffff::2 table sixxs up ip -6 route add default via 2001:ffff::1 table sixxs down ip -6 rule del table sixxs down ip -6 route flush table sixxs
IPv6 adresses are not the actual ones.