1,GRE,即通用路由封装协议,GRE隧道是一种IP-over-IP的隧道,创建虚拟的点对点链接,对经过隧道的某些网路层协议的数据包进行封装,使这些被封装的数据包可以在IPv4/IPv6 网络中传输,在Tunnel 的两端分别对数据报进行封装及解封装。
要在Linux上建立GRE隧道,须要ip_gre内核模块,它是GRE经过IPv4隧道的驱动程序,默认是包含在内核里的,没有的话须要加上这个模块。
启动隧道配置规则:
ip tunnel add 新的tunnel的名称 mode gre remote 对端物理IP local 本端物理IP ttl 255
ip link set 新的tunnel的名称 up
ip addr add 新的tunnel的名称的IP dev 新的tunnel的名称
ip route add 对端的内网私有网段/掩码 dev 新的tunnel的名称
2,搭建(平台debian 7 64位)
HOST A: 139.162.24.259
HOST B: 106.187.53.168
HOST A:
ip tunnel add gre1 mode gre remote 106.187.53.168 local 139.162.24.259 ttl 255
ip link set gre1 up mtu 1400
ip addr add 10.11.2.2 peer 10.11.2.1 dev gre1
HOST B:
ip tunnel add gre1 mode gre remote 139.162.24.259 local 106.187.53.168 ttl 255
ip link set gre1 up mtu 1400
ip addr add 10.11.2.1 peer 10.11.2.2/24 dev gre1
3,检测连通性,ping隧道对端IP 10.11.2.*,ping通后,HOST A和 HOST B间就创建了GRE隧道
4,撤销GRE隧道
ip link set gre1 down
ip tunnel del gre1
ip addr show 检验隧道是否创建,ifconfig也能看到
网络