HOWTO: Routing IPv6 subnets with tinc using static routes
Shadow Hawkins on Monday, 16 July 2007 04:31:14
I can successfully report using the tinc TUN/TAP-based VPN software as successfully routing IPv6 subnets, without having to configure extra fe80 addresses as you would OpenVPN. I should also state that using tinc enables redundancy, as it is a mesh-based protocol: it should be possible to modify these instructions to support some link redundancy with it.
For this example, I'm changing my addresses based on the documentation prefix. Let's assume the /48 is 2001:db8:1600/48. I'm using :0/64 as a subnet for the tinc nodes, :1/64 for the first router's subnet, and :2/64 for the second, etc. I'm also advertising the last 2 subnets using radvd at each router, and instead of using routing software, I'm using static routes at each end.
Regarding tinc, the documentation at the website should be enough to get started: since this example uses switch mode instead of router mode, you don't have to put subnet entries in the host files. Also remember that address entries should only be put in host files you're connecting to: otherwise, tinc may get confused and not bind correctly.
Additional routers should follow the example of router 2, and additional routes created on router 1.
Tinc is available via Debian/Ubuntu apt-get or at http://www.tinc-vpn.org/
=== Router 1 tinc.conf ===
Name = (name of router 1's tinc host file)
Device=/dev/net/tun
TCPOnly = yes (results are usually better without UDP or compression)
PMTU = 1280
PMTUDiscovery = yes
Mode = switch
Interface = vpn6
=== Router 1 tinc-up ===
#!/bin/sh
ip -6 link set vpn6 up
ip -6 addr add 2001:db8:1600::1/64 dev vpn6
ip -6 route add 2001:db8:1600::/48 dev vpn6
#Static routing table
ip -6 route add 2001:db8:1600:2::/64 via 2001:db8:1600::2
=== Router 1 tinc-down ===
#!/bin/sh
#Static routing table
ip -6 route del 2001:db8:1600:2::/64 via 2001:db8:1600::2
#Disable tinc
ip -6 route del 2001:db8:1600::/48 dev vpn6
ip -6 addr del 2001:db8:1600::1/64 dev vpn6
ip -6 link set vpn6 down
=== Router 2 tinc.conf ===
Name = (name of router 2's tinc host file)
Device=/dev/net/tun
ConnectTo = (name of router 1's tinc host file)
TCPOnly = yes
PMTU = 1280
PMTUDiscovery = yes
Mode = switch
Interface = vpn6
=== Router 2 tinc-up ===
#!/bin/sh
ip -6 link set vpn6 up
ip -6 addr add 2001:db8:1600::2/64 dev vpn6
ip -6 route add default via 2001:db8:1600::1
=== Router 2 tinc-down ===
#!/bin/sh
ip -6 route del default via 2001:db8:1600::1
ip -6 addr del 2001:db8:1600::2/64 dev vpn6
ip -6 link set vpn6 down
8-)
Posting is only allowed when you are logged in. |