IPv6-in-IPv4 Tunnel: Setup point-to-point tunnel
Ada tiga (3) kemungkinan untuk menambah dan membuang point-to-point tunnel.
Menambahkan point-to-point tunnel
Menggunakan "ip"
Metoda ini banyak digunakan untuk jumlah tunnel yang kecil.
Cara membuat tunnel device (but it's not up afterward, also a TTL must be specified because the default value is 0).
# /sbin/ip tunnel add <device> mode sit ttl <ttldefault> remote <ipv4addressofforeigntunnel> local <ipv4addresslocal>
Penggunaan (contoh untuk tiga tunnel generic):
# /sbin/ip tunnel add sit1 mode sit ttl <ttldefault> remote <ipv4addressofforeigntunnel1> local <ipv4addresslocal> # /sbin/ip link set dev sit1 up # /sbin/ip -6 route add <prefixtoroute1> dev sit1 metric 1 # /sbin/ip tunnel add sit2 mode sit ttl <ttldefault> <ipv4addressofforeigntunnel2> local <ipv4addresslocal> # /sbin/ip link set dev sit2 up # /sbin/ip -6 route add <prefixtoroute2> dev sit2 metric 1 # /sbin/ip tunnel add sit3 mode sit ttl <ttldefault> <ipv4addressofforeigntunnel3> local <ipv4addresslocal> # /sbin/ip link set dev sit3 up # /sbin/ip -6 route add <prefixtoroute3> dev sit3 metric 1
9.3.1.2. Using "ifconfig" and "route" (deprecated)
This not very recommended way to add a tunnel because it's a little bit strange. No problem if adding only one, but if you setup more than one, you cannot easy shutdown the first ones and leave the others running.
Usage (generic example for three tunnels):
# /sbin/ifconfig sit0 up # /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel1> # /sbin/ifconfig sit1 up # /sbin/route -A inet6 add <prefixtoroute1> dev sit1 # /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel2> # /sbin/ifconfig sit2 up # /sbin/route -A inet6 add <prefixtoroute2> dev sit2 # /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel3> # /sbin/ifconfig sit3 up # /sbin/route -A inet6 add <prefixtoroute3> dev sit3
Important: DON'T USE THIS, because this setup implicit enable "automatic tunneling" from anywhere in the Internet, this is a risk, and it should not be advocated.
9.3.1.3. Using "route" only
It's also possible to setup tunnels in Non Broadcast Multiple Access (NBMA) style, it's a easy way to add many tunnels at once. But none of the tunnel can be numbered (which is a not required feature).
Usage (generic example for three tunnels):
# /sbin/ifconfig sit0 up # /sbin/route -A inet6 add <prefixtoroute1> gw ::<ipv4addressofforeigntunnel1> dev sit0 # /sbin/route -A inet6 add <prefixtoroute2> gw ::<ipv4addressofforeigntunnel2> dev sit0 # /sbin/route -A inet6 add <prefixtoroute3> gw ::<ipv4addressofforeigntunnel3> dev sit0
Important: DON'T USE THIS, because this setup implicit enable "automatic tunneling" from anywhere in the Internet, this is a risk, and it should not be advocated.
Membuang point-to-point tunnel
Manually not so often needed, but used by scripts for clean shutdown or restart of IPv6 configuration.
9.3.2.1. Using "ip"
Usage for removing a tunnel device:
# /sbin/ip tunnel del <device>
Usage (generic example for three tunnels):
# /sbin/ip -6 route del <prefixtoroute1> dev sit1 # /sbin/ip link set sit1 down # /sbin/ip tunnel del sit1 # /sbin/ip -6 route del <prefixtoroute2> dev sit2 # /sbin/ip link set sit2 down # /sbin/ip tunnel del sit2 # /sbin/ip -6 route del <prefixtoroute3> dev sit3 # /sbin/ip link set sit3 down # /sbin/ip tunnel del sit3
9.3.2.2. Using "ifconfig" and "route" (deprecated because not very funny)
Not only the creation is strange, the shutdown also...you have to remove the tunnels in backorder, means the latest created must be removed first.
Usage (generic example for three tunnels):
# /sbin/route -A inet6 del <prefixtoroute3> dev sit3 # /sbin/ifconfig sit3 down # /sbin/route -A inet6 del <prefixtoroute2> dev sit2 # /sbin/ifconfig sit2 down # /sbin/route -A inet6 add <prefixtoroute1> dev sit1 # /sbin/ifconfig sit1 down # /sbin/ifconfig sit0 down
9.3.2.3. Using "route"
This is like removing normal IPv6 routes.
Usage (generic example for three tunnels):
# /sbin/route -A inet6 del <prefixtoroute1> gw ::<ipv4addressofforeigntunnel1> dev sit0 # /sbin/route -A inet6 del <prefixtoroute2> gw ::<ipv4addressofforeigntunnel2> dev sit0 # /sbin/route -A inet6 del <prefixtoroute3> gw ::<ipv4addressofforeigntunnel3> dev sit0
# /sbin/ifconfig sit0 down
9.3.3. Numbered point-to-point tunnels
Sometimes it's needed to configure a point-to-point tunnel with IPv6 addresses like in IPv4 today. This is only possible with the first (ifconfig+route - deprecated) and third (ip+route) tunnel setup. In such cases, you can add the IPv6 address to the tunnel interface like shown on interface configuration.