ip -6 tunnel add tun8 mode ipip6 local 2001:db8:1::1 remote 2001:db8:1::2 ip link set dev tun8 up ip addr add 10.0.0.1/24 dev tun 8
Generic Routing Encapsulation (aka GRE)
GRE 可能是本文整理的重点了,原因其实很简单:GRE真的非常好用。GRE规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。本协议的定义在 RFC2784 和 RFC1701。
点对点
用法:
1 2 3 4
ip tunnel add ${interface name} mode gre \ local${local endpoint address} \ remote ${remote endpoint address} \ key ${key value}
参数列表:
interface name: 指定一个可用的接口名称
local endpoint address: 隧道本地入口的地址
remote endpoint address: 隧道远端出口的地址
key value: 一个密钥,当两端密钥相同时隧道才能连通
示例:
1 2 3
ip tunnel add tun4 mode gre local 192.0.2.1 remote 203.0.113.6 key 123 ip link set dev tun4 up ip addr add 10.0.0.1/24 dev tun4
## 一对多
用法:
1 2
ip tunnel add ${interface name} mode gre local${local endpoint address} key ${key value}
参数列表:
interface name: 指定一个可用的接口名称
local endpoint address: 隧道本地入口的地址
key value: 一个密钥,当两端密钥相同时隧道才能连通
示例:
1 2 3
ip tunnel add tun8 mode gre local 192.0.2.1 key 1234 ip link set dev tun8 up ip address add 10.0.0.1/27 dev tun8