[1108] | 1 | v1.4 10th Jan 2002, Pekka Savola <pekkas@netcore.fi> |
---|
| 2 | |
---|
| 3 | HOW TO SET UP AN IPV6 TUNNEL |
---|
| 4 | ---------------------------- |
---|
| 5 | |
---|
| 6 | ASSUMPTIONS |
---|
| 7 | ----------- |
---|
| 8 | |
---|
| 9 | 1. You're running Red Hat Linux 7.1 or later. |
---|
| 10 | |
---|
| 11 | This is required for correct IPv6 by default settings, and IPv6 being |
---|
| 12 | enabled as a kernel module by default. You also need recent enough |
---|
| 13 | initscripts, provided in RHL71. |
---|
| 14 | |
---|
| 15 | 2. You have a static, globally unique IPv4 address. |
---|
| 16 | |
---|
| 17 | 3. Protocol 41 (IPv6-in-IPv4) is not being filtered in any IPv4 firewall. |
---|
| 18 | |
---|
| 19 | 4. 'iproute' package is installed. This is used by default for a lot |
---|
| 20 | more powerful tunneling capabilities. |
---|
| 21 | |
---|
| 22 | INFORMATION NEEDED |
---|
| 23 | ------------------ |
---|
| 24 | |
---|
| 25 | You need to know: |
---|
| 26 | |
---|
| 27 | 1. The IPv4 address of your tunnel end point |
---|
| 28 | 2. The IPv6 address used in your tunnel |
---|
| 29 | |
---|
| 30 | The other end needs to know the same things about your setup. |
---|
| 31 | |
---|
| 32 | NOTE: It is also possible to set up unnumbered tunnels (no global IPv6 |
---|
| 33 | addresses). |
---|
| 34 | |
---|
| 35 | You must get these from a party (tunnel broker) who's assigning IPv6 tunnels. See: |
---|
| 36 | http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO-1.html#joinIPv6backbone |
---|
| 37 | |
---|
| 38 | Example from http://old.freenet6.net: |
---|
| 39 | --- |
---|
| 40 | This script will create a tunnel between this computer |
---|
| 41 | and the Freenet6 server (tunnels server) |
---|
| 42 | Your IPv6 address (your tunnel end point) is |
---|
| 43 | 3ffe:b00:c18:1fff:0:0:0:7f5 |
---|
| 44 | We establish a tunnel to the Freenet6 server at |
---|
| 45 | 3ffe:b00:c18:1fff:0:0:0:7f4 |
---|
| 46 | Your IPv4 address is : 193.xxx.yyy.zzz |
---|
| 47 | The IPv4 address of the Freenet6 server is : 206.123.31.102 |
---|
| 48 | --- |
---|
| 49 | |
---|
| 50 | With this information, a tunnel can be set up: |
---|
| 51 | |
---|
| 52 | SETTING UP THE TUNNEL CONFIGURATION |
---|
| 53 | ----------------------------------- |
---|
| 54 | |
---|
| 55 | Now, set up the configuration as follows: |
---|
| 56 | |
---|
| 57 | 1. Enable IPv6 and set tunnel as default gateway in /etc/sysconfig/network: |
---|
| 58 | |
---|
| 59 | echo "IPV6_DEFAULTDEV=sit1">> /etc/sysconfig/network |
---|
| 60 | |
---|
| 61 | 2. Create /etc/sysconfig/network-scripts/ifcfg-sit1, with the following: |
---|
| 62 | |
---|
| 63 | --- |
---|
| 64 | DEVICE=sit1 |
---|
| 65 | BOOTPROTO=none |
---|
| 66 | ONBOOT=yes |
---|
| 67 | IPV6INIT=yes |
---|
| 68 | IPV6TUNNELIPV4=206.123.31.102 |
---|
| 69 | IPV6ADDR=3ffe:b00:c18:1fff:0:0:0:7f5/128 |
---|
| 70 | --- |
---|
| 71 | |
---|
| 72 | NOTE: You must use _sit1_ (or sit2,...). sit0 cannot be used, this is a |
---|
| 73 | special device. |
---|
| 74 | |
---|
| 75 | NOTE: Some tunnel endpoints might require a different kind of prefix length; |
---|
| 76 | for example, Cisco's usually favour /126. Using /0 creates a default route |
---|
| 77 | through that interface. |
---|
| 78 | |
---|
| 79 | NOTE: If you're not directly connected to the Internet, you may want to use |
---|
| 80 | ONBOOT=no instead. |
---|
| 81 | |
---|
| 82 | TUNNELING |
---|
| 83 | --------- |
---|
| 84 | |
---|
| 85 | Tunnel can be brought up and down with: |
---|
| 86 | |
---|
| 87 | ifup sit1 |
---|
| 88 | ifdown sit1 |
---|
| 89 | |
---|
| 90 | NOTE: In initscripts < 6.02 (ie. IPV6_TUNNELMODE=NBMA), even though sit1 is used, |
---|
| 91 | 'ifconfig' sees the tunnel as sit0. This is due to an "interesting" implementation |
---|
| 92 | of tunneling -- else multiple tunnels couldn't be used extensibly. |
---|
| 93 | |
---|
| 94 | NOTE: iproute tools give more reliable data, try e.g. '/sbin/ip addr ls'. |
---|
| 95 | |
---|
| 96 | MORE INFORMATION |
---|
| 97 | ---------------- |
---|
| 98 | |
---|
| 99 | http://www.bieringer.de/linux/IPv6/IPv6-HOWTO/IPv6-HOWTO.html is a good |
---|
| 100 | source of IPv6 related Linux-information. |
---|