亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何使用openwrt搭建ipsec隧道

 更新時間:2025年03月11日 09:37:08   作者:不悔哥  
這篇文章描述了一個同事在使用IPsec和Strongswan進(jìn)行IPv6?FTP下載時遇到的問題,通過編譯OpenWrt固件、配置IPsec和Strongswan、解決連接問題、關(guān)閉防火墻以及抓包分析,最終解決了問題,測試結(jié)果顯示IPv4和IPv6的性能都達(dá)到了預(yù)期,感興趣的朋友一起看看吧

背景:最近同事遇到了個ipsec問題,做的ipsec特性,ftp下載ipv6性能只有100kb, 正面定位該問題也蠻久了,項目沒有用openwrt, 不過用了開源組件strongswan, 加密算法這些也是內(nèi)核自帶的,想著開源的不太可能有問題,想著我?guī)退{(diào)試一下開源的,他繼續(xù)正面定位。順便學(xué)習(xí)一下怎么玩一下ipsec。ipsec和strongswanWan網(wǎng)上資料很多,這里我們不再做過多的介紹,我們主要先介紹一下針對同事的該問題,環(huán)境怎么搭建。

環(huán)境搭建:我們知道ipsec 主要是實現(xiàn)不同局域網(wǎng)網(wǎng)段之間的加密傳輸,實際對于現(xiàn)網(wǎng)用戶的話需要服務(wù)器和客戶端之間有公網(wǎng)ip,我們這里沒有用公網(wǎng)ip也沒有什么影響,環(huán)境top圖如下:

ipsec編譯:一開始想著能不能直接用opkg在線安裝,發(fā)現(xiàn)安裝之后會遇到各種各樣的問題,解決一個又接著下一個,這條路暫時行不通。我們直接去編譯一下帶ipsec的openwrt的固件,遇到問題也好解決一點,這里我選擇的lean大佬的openwrt源碼,在國內(nèi)我們玩openwrt的玩家基本都在用lean的代碼,因為lean的代碼適配了國內(nèi)基本上常見的路由器固件,我們只需要make menuconfig開一下對應(yīng)產(chǎn)品的宏就可以編譯,非常簡單上手。

我這里編譯的路由器型號是gl.mt3000,lean幫忙我們適配了其它ipsec依賴的strongswan對應(yīng)的宏,不需要我們?nèi)ラ_,截圖如下

我們可以看到lean的源碼web界面適配了ipsec  ikev1版本,不支持ikev2

我們可以需要自己去改一下ipsec的配置文件ipsec.conf就可以讓客戶端和服務(wù)端連接,配置文件內(nèi)容如下:

config setup
conn %default
        ikelifetime=28800
        keylife=20m
        rekeymargin=3m
        keyingtries=1
        keyexchange=ikev2
conn site_to_site
        left=192.168.250.40 #這里填當(dāng)前路由器wan ip
        leftsubnet=192.168.1.0/24 #這里填當(dāng)前路由器網(wǎng)段
        leftid=192.168.250.40 #這里填當(dāng)前路由器wan ip
        leftauth=secret
        rightauth=secret
        right=192.168.250.94 #這里填對方路由器wan ip
        rightsubnet=192.168.10.0/24 #這里填對方路由器網(wǎng)段
        rightid=192.168.250.94 #這里填對方路由器wan ip
        ike=aes128-sha1-modp2048!
        esp=aes128-sha1!
        auto=start

ipsec.secrets配置psk,服務(wù)器和客戶端psk要保存一致

root@OpenWrt:/etc# cat  ipsec.secrets 
# /etc/ipsec.secrets - strongSwan IPsec secrets file
: PSK "1"
mw : XAUTH "1"

另外一臺路由器我們也需要這樣配置,就是上面ipsec.conf里面填寫ip地址的地方需要和上面反過來就可以了。

我們都編輯好之后,如果之前ipsec進(jìn)程已經(jīng)運行了,我們可以用執(zhí)行命令ipsec restarts,如果之前沒有運行,我們需要執(zhí)行ipsec start, 然后我們可以執(zhí)行ipsec statusall查看當(dāng)前的轉(zhuǎn)態(tài),我們可以看到有個connecting,說明正在連接中,如果up前面不是0,那么說明我們ipsec 已經(jīng)連接上了。

我們配置好ipsec.conf后,發(fā)現(xiàn)死活連接不上,up前面一直是0,然后做了一個嘗試,把配置文件里面的ipsec.conf里面的ikv2改成了ikv1發(fā)現(xiàn)連接上了,之前一直懷疑加密算法有問題,看來加密算法是沒有問題,此刻阻塞了。剛好手機(jī)拍下了日志,把日志往群里發(fā)了一下,細(xì)心的群友看出了問題點。

openssl制作證書的時候需要,這里不知道為啥ikv1可以ikv2不行,可以找一下提示的這個函數(shù)openssl_plugin_create在哪里定義,安裝試一下

然后我搜了一下這個函數(shù)是在哪個地方定義的,只需要我們?nèi)ラ_一下對應(yīng)的宏就行

然后重新編譯了一下版本,發(fā)現(xiàn)連接上去了。

我們簡單測試一下:發(fā)現(xiàn)只能ping通網(wǎng)關(guān),2臺路由器下面的lan側(cè)設(shè)備不能互相ping通,之前懷疑策略路由有問題,命令如下

可是不管怎么去改策略路由還是不行,還在頁面上去配置了靜態(tài)路由器,之前在bibi看到過有說需要配置一下靜態(tài)路由,只能病急亂投醫(yī),做了很多嘗試還是不行。又繼續(xù)查詢資料,說的是關(guān)閉防火墻,因為之前我已經(jīng)做過了一個嘗試,就是只關(guān)閉一臺路由器的防火墻,沒有關(guān)閉另外一臺路由器的,這次我嘗試2臺路由器都關(guān)閉了,竟然都ping通了。

關(guān)閉防火墻命令如下:

etc/init.d/firewall stop

ipsec報文是加密的,我們抓包看一下,是否是這樣的,用tcpdump抓了一下,然后報文沒有加密,很疑惑,轉(zhuǎn)念一想,不應(yīng)該呀。可能是抓包點位的問題,我們tcpdump是在協(xié)議棧入口抓的,可能還沒有經(jīng)過ipsec加密的地方,然后我又抓了一下wan口的報文,這次對得上了。

我們用iperf3打流測試一下ipv4看一下性能怎么樣,性能不是很高,只有20bps,不過規(guī)格說的是10bps, 也滿足了要求。接下來我們看一下ipv6性能怎么樣,直接ftp下載一下文件,速率和ipv4差不多,也是20bps左右。ipv6的配置文件如下:主要和ipv4的區(qū)別就是填寫ipv4地址的地方都寫ipv6的就行。

到此這篇關(guān)于如何使用openwrt搭建ipsec隧道的文章就介紹到這了,更多相關(guān)openwrt搭建ipsec隧道內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論