共计 1878 个字符,预计需要花费 5 分钟才能阅读完成。
GRE(Generic Routing Encapsulation),通用路由封装协议,是思科开发的隧道协议。
1、加载GRE内核模块
需要加载ip_gre内核模块,并设置开机自动加载
modprobe ip_gre
设置开机自动加载
echo "/sbin/modprobe ip_gre > /dev/null 2>&1" > /etc/sysconfig/modules/ip_gre.modules && chmod 755 /etc/sysconfig/modules/ip_gre.modules
2、创建ifcfg-tun0网络配置
Host A:192.168.0.10
vi /etc/sysconfig/network-scripts/ifcfg-tun0
DEVICE=tun0 BOOTPROTO=none ONBOOT=no TYPE=GRE PEER_OUTER_IPADDR=192.168.1.100 PEER_INNER_IPADDR=192.168.168.2 MY_INNER_IPADDR=192.168.168.1
Host B:192.168.1.100
vi /etc/sysconfig/network-scripts/ifcfg-tun0
DEVICE=tun0 BOOTPROTO=none ONBOOT=no TYPE=GRE PEER_OUTER_IPADDR=192.168.0.10 PEER_INNER_IPADDR=192.168.168.1 MY_INNER_IPADDR=192.168.168.2
3、拉起tun0并检查
Host A、Host B:
ifup tun0
4、测试连接
Host A:
ping 192.168.168.2
Host B:
ping 192.168.168.1
抓包结果如下:
15:59:15.444042 IP 192.168.0.10 > 192.168.1.100: GREv0, length 88: IP 192.168.168.1 > 192.168.168.2: ICMP echo request, id 15083, seq 1379, length 64 15:59:15.444111 IP 192.168.1.100 > 192.168.0.10: GREv0, length 88: IP 192.168.168.2 > 192.168.168.1: ICMP echo reply, id 15083, seq 1379, length 64 15:59:16.446077 IP 192.168.0.10 > 192.168.1.100: GREv0, length 88: IP 192.168.168.1 > 192.168.168.2: ICMP echo request, id 15083, seq 1380, length 64 15:59:16.446156 IP 192.168.1.100 > 192.168.0.10: GREv0, length 88: IP 192.168.168.2 > 192.168.168.1: ICMP echo reply, id 15083, seq 1380, length 64
Debian 7 建立隧道:
启动隧道配置规则:
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也能看到