最近在研究如何讓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了沒什麼意義,可參照該方法建立跨網段的隧道,是沒有問題的。