载入GRE内核模块ip_gre.ko
modprobe -l |grep ip_gre.ko
insmode /lib/modules/2.4.20-8/kernel/net/ipv4/ip_gre.ko  //每次reboot或注销必须重新加载



CetnOS GRE ×××_Linux


启动GRE隧道

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名


server A

[root@ ~]# cat /etc/sysconfig/network-scripts/ifcfg-tun1
DEVICE=tun1
BOOTPROTO=none
ONBOOT=yes
TYPE=GRE
MTU=1450
PEER_OUTER_IPADDR=2.2.2.2
PEER_INNER_IPADDR=192.168.1.2
MY_OUTER_IPADDR=1.1.1.1
MY_INNER_IPADDR=192.168.1.1


echo "1" >/proc/sys/net/ipv4/ip_forward


server B

[root@ ~]# cat /etc/sysconfig/network-scripts/ifcfg-tun1
DEVICE=tun1
BOOTPROTO=none
ONBOOT=yes
TYPE=GRE
MTU=1450
PEER_OUTER_IPADDR=1.1.1.1
PEER_INNER_IPADDR=192.168.1.1
MY_OUTER_IPADDR=2.2.2.2

MY_INNER_IPADDR=192.168.1.2


echo "1" >/proc/sys/net/ipv4/ip_forward


serA


ip tunnel add to_net_b mode gre remote 172.19.20.21 local 172.16.17.18 ttl 255

ip link set to_net_b up

ip addr add 10.0.1.1 dev to_net_b

ip route add 10.0.2.0/24 dev to_net_b

serB

ip tunnel add to_net_a mode gre remote 172.16.17.18 local 172.16.17.21 ttl 255

ip link set to_net_a up

ip addr add 10.0.2.1 dev to_net_a

ip route add 10.0.1.0/24 dev to_net_a