最近在研究如何让Linux与路由器建立隧道,遇到了不少问题。
下面把建立隧道的方法介绍一下,一方面为自己以后的工作提供参考,也为大家以后少走弯路。
1. 在linux端:
(1)ip tunnel add tunnel0 mode gre remote 192.168.1.2 local 192.168.1.1 ttl 255(第一个ip地址为tunnel对端地址,第二个为本地地址)
(2)ip link set tunnel0 up mtu 1400(也可根据情况设置为1500)
(3)ip address add 10.1.1.1/24 dev tunnel0
按照上述命令,就可以新建一条tunnel0的隧道。如果在第(2)步出现,cannot find device 'tunnel0',可重新新建tunnel1.
以上还只是建立了一半,还需要在路由器上进行配置,才能够实现隧道通信。
2. 在路由器上:
(1)conf t
(2)interface tunnel0
(3)ip address 10.1.1.2 255.255.255.0
(4)tunnel source 192.168.1.2
(5)tunnel destination 192.168.1.1
配置完以上命令,就实现了隧道通信了。
可以ping一下试试。当然,为了偷懒我配了一个网段的,ping了没什么意义,可参照该方法建立跨网段的隧道,是没有问题的。