Linux下搭建gre隧道

来源:互联网 发布:python决策树结构 编辑:程序博客网 时间:2024/06/04 17:51


server1           搭建gre隧道 server2        

pc1                    ping 通 pc2


范例:(基于H560N)

server1 IP:192.168.1.253

PC1 IP:192.168.2.3

server2 IP:192.168.1.3

PC1 IP:192.168.3.3


server1端配置:

#加载GRE模块

/sbin/modprobe ip_gre

#添加tunnel口

/sbin/ip tunnel add gre_tunnel mode gre remote 192.168.1.3 local 192.168.1.253 ttl 255

#设置tunnel的IP地址

/sbin/ip addr add 10.0.1.1 dev gre_tun1

#启动tunnel

/sbin/ip link set gre_tunnel up

#添加去往server2网段的路由

/sbin/ip r add 10.0.1.0/24 dev gre_tunnl

/sbin/ip r add 192.168.3.0/24 via 10.0.1.1 dev gre_tun1


server2端配置

#加载gre模块

/sbin/modprobe ip_gre

#添加tunnel口

/sbin/ip tunnel add gre_tun1 mode gre remote 192.168.1.253 local192.168.1.3 ttl 255

#设置tunnel ip地址

/sbin/ip addr add 10.0.1.2 dev gre_tun1

#启动tunnel

/sbin/ip link set gre_tunn1 up

#添加去往server1网段的路由

/sbin/ip r add 10.0.1.0/24 dev gre_tun1

/sbin/ip r add 102.168.2.0/24 via 10.0.1.2 dev gre_tun1


配置完毕后,隧道即建立起来,tunnel地址可以ping通。


出现问题:PC1 ping不通PC2,PC1能ping通server1的tunnel地址,但ping不通server2的tunnel地址

解决方案:打开server1与server2端的一个转发数据包

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

默认为0,开启内核转发功能。


IP地址ping指定网卡

ping 192.168.1.253  -I eth0/1

路由器工作的时候,根据它的某个端口收到的数据包的目的IP地址,查询路由器自己的路由表,然后决定把数据包转发到相应的端口。

原创粉丝点击