いま 3 つのネットワークがあるとしましょう。 内部ネットワーク A と B、そしてその中間にあるネットワーク C (あるいはインターネット) です。
network 10.0.1.0 netmask 255.255.255.0 router 10.0.1.1 |
network 10.0.2.0 netmask 255.255.255.0 router 10.0.2.1 |
ネットワーク C は、 A から B へのパケット (およびその逆) はすべて通すとします。 ここではその方法・理由に関しては気にしないことにします。
ip tunnel add netb mode gre remote 172.19.20.21 local 172.16.17.18 ttl 255 ip link set netb up ip addr add 10.0.1.1 dev netb ip route add 10.0.2.0/24 dev netb |
ここはこれで十分でしょう。ではネットワーク B のルータに行きましょう。
ip tunnel add neta mode gre remote 172.16.17.18 local 172.19.20.21 ttl 255 ip link set neta up ip addr add 10.0.2.1 dev neta ip route add 10.0.1.0/24 dev neta |
ip link set netb down ip tunnel del netb |
IPv6 アドレスに関する説明は Section 6 を見てください。
次のような IPv6 ネットワークがあるとします。 そしてこれを 6bone や友達のネットワークに接続したいとしましょう。
Network 3ffe:406:5:1:5:a:2:1/96 |
ip tunnel add sixbone mode sit remote 172.22.23.24 local 172.16.17.18 ttl 255 ip link set sixbone up ip addr add 3ffe:406:5:1:5:a:2:1/96 dev sixbone ip route add 3ffe::/15 dev sixbone |
GRE トンネルは現在のところ好んで用いられているトンネリング形式です。 これは Linux コミュニティ以外でも広く採用されている標準で、 よって良いものであると言えます。