Linux環(huán)境下GRE的部署方式
GRE(Windows不支持)
GRE介紹
GRE(Generic Routing Encapsulation,通用路由封裝)協(xié)議是對某些網(wǎng)絡(luò)層協(xié)議(如IP和IPX)的數(shù)據(jù)報文進行封裝,使這些被封裝的數(shù)據(jù)報文能夠在另一個網(wǎng)絡(luò)層協(xié)議(如IP)中傳輸。
GRE采用了Tunnel(隧道)技術(shù),是V_P_N(Virtual Private Network)的第三層隧道協(xié)議。
GRE的優(yōu)點
- GRE實現(xiàn)機制簡單,對隧道兩端的設(shè)備負擔小。
- GRE隧道可以通過IPv4網(wǎng)絡(luò)連通多種網(wǎng)絡(luò)協(xié)議的本地網(wǎng)絡(luò),有效利用了原有的網(wǎng)絡(luò)架構(gòu),降低成本。
- GRE隧道擴展了跳數(shù)受限網(wǎng)絡(luò)協(xié)議的工作范圍,支持企業(yè)靈活設(shè)計網(wǎng)絡(luò)拓撲。
- GRE隧道可以封裝組播數(shù)據(jù),和IPSec結(jié)合使用時可以保證語音、視頻等組播業(yè)務(wù)的安全。
- GRE隧道支持使能MPLS LDP,使用GRE隧道承載MPLS LDP報文,建立LDP LSP,實現(xiàn)MPLS骨干網(wǎng)的互通。
- GRE隧道將不連續(xù)的子網(wǎng)連接起來,用于組建V_P_N,實現(xiàn)企業(yè)總部和分支間安全的連接。
實驗
使用GRE構(gòu)建一個簡單v_p_n,使用客戶端能正常訪問(Windows不支持GRE,所以使用兩個Linux主機)
實驗拓補
| 主機名 | IP地址 |
|---|---|
| client | eth3 201.1.2.10 |
| proxy | eth0 192.168.19.130 |
| eth3 201.1.2.5 |

步驟
步驟一:啟用GRE模塊(client和proxy都要操作)
1)查看計算機當前加載的模塊
lsmod #顯示模塊列表 lsmod | grep ip_gre #確定是否加載了gre模塊
2)加載模塊ip_gre
modprobe ip_gre
3)查看模塊信息
modinfo ip_gre # /lib/modules/4.18.0-240.el8.x86_64/kernel Linux所有的模塊都在這里 #find / -name "*.ko*" | wc -l #2501 #我們的Linux系統(tǒng)內(nèi)置模塊有2501個,本人的Linux系統(tǒng)為Redhat8.3 #rmmod 模塊名 關(guān)閉模塊

步驟二:Client主機創(chuàng)建V_P_N隧道
1)創(chuàng)建隧道
ip tunnel add tun0 mode gre remote 201.1.2.5 local 201.1.2.10 #ip tunnel add 創(chuàng)建隧道(隧道名稱為tun0),ip tunne help可以查看幫助 #mode設(shè)置隧道模式 #local后面跟本機的IP地址,remote后面時與其他主機建立隧道的IP
2)啟用該隧道(類似于網(wǎng)卡啟動)
ip a s #查看本機全部網(wǎng)卡信息 一般添加的隧道是最后一個,且默認關(guān)閉 ip link show ip link set tun0 up #啟用隧道 ip link show
3)為V_P_N配置隧道IP地址
ip a s ip addr add 10.10.10.10/24 peer 10.10.10.5/24 dev tun0 #為隧道tun0設(shè)置本地ip(10.10.10.10/24) #隧道對面的主機ip的隧道IP為(10.10.10.5/24) ip a s #查看IP是否添加成功
4)關(guān)閉防火墻
systemctl stop firewalld
步驟三:proxy主機創(chuàng)建V_P_N隧道
1)查看計算機當前加載的模塊,并進行加載
lsmod #顯示模塊列表 lsmod | grep ip_gre #確定是否加載了gre模塊 modprobe ip_gre
2)創(chuàng)建隧道
ip tunnel add tun0 mode gre remote 201.1.2.10 local 201.1.2.5
3)啟用該隧道(類似于網(wǎng)卡啟動)
ip link set tun0 up #啟用隧道 ip link show
4)為VPN配置隧道IP地址
ip addr add 10.10.10.5/24 peer 10.10.10.10/24 dev tun0 ip a s
5)關(guān)閉防火墻
systemctl stop firewalld
6)開啟路由轉(zhuǎn)發(fā)(軟路由)
echo "1" > /proc/sys/net/ipv4/ip_forward #1 開啟路由轉(zhuǎn)發(fā) #0 關(guān)閉路由轉(zhuǎn)發(fā) #路由轉(zhuǎn)發(fā)開啟之后,別人可以通過訪問這個服務(wù)器,通過服務(wù)器轉(zhuǎn)發(fā),去訪問別的東西
步驟四:開始測試


總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MacOS實現(xiàn)連接Linux NFS服務(wù)器過程
本文詳細介紹了如何在Ubuntu服務(wù)器上設(shè)置NFS共享,并提供Mac客戶端連接NFS服務(wù)的步驟,同時,還討論了常見問題排查方法和insecure參數(shù)的作用,幫助用戶更好地理解和配置NFS服務(wù)2025-10-10
Ubuntu設(shè)置開機自動掛載所有格式硬盤分區(qū)
原來那么簡單,安裝下面的東東,運行,設(shè)置,搞定!2008-09-09
類Linux環(huán)境安裝jdk1.8及環(huán)境變量配置詳解
如何在linux系統(tǒng)中安裝jdk1.8?很多小伙伴都不知道在linux系統(tǒng)中怎么安裝jdk,下面,小編就為大家介紹下在linux系統(tǒng)中安裝jdk1.8方法。2019-09-09

