CentOS下配置常用Tunnel隧道gre,ipip


原文:

http://www.senra.me/configure-common-gre-and-ipip-tunnel-under-centos/

一.介紹

Tunnel,也就是隧道,在Linux中使用還是挺廣泛的,從常見的安全加密類的隧道到更多是服務器互聯使用的GRE/IPIP隧道,種類還是挺多的。之前我寫的內網穿透系列就提到了一部分隧道,感興趣的可以去看看——>傳送門

當然,這次我們不提那些需要額外安裝依賴或者軟件的,主要說比較原生的,需要注意的事,這些雖然原生,但是大多需要內核模塊支持,這也就意味着很大可能無法在OpenVZ上正常使用(就算有tun和tap也不夠),所以建議使用KVM等其他虛擬化架構的VPS或者獨立服務器實驗。

二.配置

仰慕搞全球大內網的大佬,因為對隧道也有了點興趣,不過種類確實不少,也不是一直能用到,所以在這邊做下收集和記錄,方便自己或者其他有需求的人看。

另外,這些隧道的用途是承載其他數據,不帶IPSec就連加密都沒了,所以如果用於傳輸重要數據請使用帶加密的方式,比如,你要傳輸文件可以跑個rsync或者scp啊ftp啊啥的。

由於DEB系和RHL系的網絡配置文件格式不太一樣,所以我這邊就只寫CentOS(也就是RHL的了)

另外,請確保iptables規則對隧道兩端都開放

這邊我只介紹最常見的GRE以及IPIP,因為EOIP在Linux下需要額外對內核Patch,而IPSec真的比較煩人。另外推薦WireGuard——>傳送門

①.GRE

需要模塊:ip_gre

使用lsmod|grep ip_gre檢查

Host1:

Host2:

IPIP

需要模塊:ipip

使用lsmod|grep ipip檢查

Host1:

Host2:

 

三.其他

①.調整隧道MTU(兩端都需要)

調整后需要重起隧道(ifdown然后ifup)

②.啟用ipv4轉發以及關閉rp_filter

③.添加靜態路由

這個有多種方法

PS.我一直是route add -host 8.8.8.8 dev 隧道接口名 然后mtr 8.8.8.8 這樣來測試隧道有沒有通的

也可以做成路由表類型的

對端建議添加對應路由以便回源

④.配置iptables(可選NAT)

這個基本上就是要做全轉發才要的,看需求吧

如果還不通(理論上不應該),可以加條這個


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM