如何使用openwrt搭建ipsec隧道
背景:最近同事遇到了個(gè)ipsec問(wèn)題,做的ipsec特性,ftp下載ipv6性能只有100kb, 正面定位該問(wèn)題也蠻久了,項(xiàng)目沒(méi)有用openwrt, 不過(guò)用了開(kāi)源組件strongswan, 加密算法這些也是內(nèi)核自帶的,想著開(kāi)源的不太可能有問(wèn)題,想著我?guī)退{(diào)試一下開(kāi)源的,他繼續(xù)正面定位。順便學(xué)習(xí)一下怎么玩一下ipsec。ipsec和strongswanWan網(wǎng)上資料很多,這里我們不再做過(guò)多的介紹,我們主要先介紹一下針對(duì)同事的該問(wèn)題,環(huán)境怎么搭建。
環(huán)境搭建:我們知道ipsec 主要是實(shí)現(xiàn)不同局域網(wǎng)網(wǎng)段之間的加密傳輸,實(shí)際對(duì)于現(xiàn)網(wǎng)用戶的話需要服務(wù)器和客戶端之間有公網(wǎng)ip,我們這里沒(méi)有用公網(wǎng)ip也沒(méi)有什么影響,環(huán)境top圖如下:
ipsec編譯:一開(kāi)始想著能不能直接用opkg在線安裝,發(fā)現(xiàn)安裝之后會(huì)遇到各種各樣的問(wèn)題,解決一個(gè)又接著下一個(gè),這條路暫時(shí)行不通。我們直接去編譯一下帶ipsec的openwrt的固件,遇到問(wèn)題也好解決一點(diǎn),這里我選擇的lean大佬的openwrt源碼,在國(guó)內(nèi)我們玩openwrt的玩家基本都在用lean的代碼,因?yàn)閘ean的代碼適配了國(guó)內(nèi)基本上常見(jiàn)的路由器固件,我們只需要make menuconfig開(kāi)一下對(duì)應(yīng)產(chǎn)品的宏就可以編譯,非常簡(jiǎn)單上手。
我這里編譯的路由器型號(hào)是gl.mt3000,lean幫忙我們適配了其它ipsec依賴的strongswan對(duì)應(yīng)的宏,不需要我們?nèi)ラ_(kā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 #這里填對(duì)方路由器wan ip rightsubnet=192.168.10.0/24 #這里填對(duì)方路由器網(wǎng)段 rightid=192.168.250.94 #這里填對(duì)方路由器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"
另外一臺(tái)路由器我們也需要這樣配置,就是上面ipsec.conf里面填寫(xiě)ip地址的地方需要和上面反過(guò)來(lái)就可以了。
我們都編輯好之后,如果之前ipsec進(jìn)程已經(jīng)運(yùn)行了,我們可以用執(zhí)行命令ipsec restarts,如果之前沒(méi)有運(yùn)行,我們需要執(zhí)行ipsec start, 然后我們可以執(zhí)行ipsec statusall查看當(dāng)前的轉(zhuǎn)態(tài),我們可以看到有個(gè)connecting,說(shuō)明正在連接中,如果up前面不是0,那么說(shuō)明我們ipsec 已經(jīng)連接上了。
我們配置好ipsec.conf后,發(fā)現(xiàn)死活連接不上,up前面一直是0,然后做了一個(gè)嘗試,把配置文件里面的ipsec.conf里面的ikv2改成了ikv1發(fā)現(xiàn)連接上了,之前一直懷疑加密算法有問(wèn)題,看來(lái)加密算法是沒(méi)有問(wèn)題,此刻阻塞了。剛好手機(jī)拍下了日志,把日志往群里發(fā)了一下,細(xì)心的群友看出了問(wèn)題點(diǎn)。
openssl制作證書(shū)的時(shí)候需要,這里不知道為啥ikv1可以ikv2不行,可以找一下提示的這個(gè)函數(shù)openssl_plugin_create在哪里定義,安裝試一下
然后我搜了一下這個(gè)函數(shù)是在哪個(gè)地方定義的,只需要我們?nèi)ラ_(kāi)一下對(duì)應(yīng)的宏就行
然后重新編譯了一下版本,發(fā)現(xiàn)連接上去了。
我們簡(jiǎn)單測(cè)試一下:發(fā)現(xiàn)只能ping通網(wǎng)關(guān),2臺(tái)路由器下面的lan側(cè)設(shè)備不能互相ping通,之前懷疑策略路由有問(wèn)題,命令如下
可是不管怎么去改策略路由還是不行,還在頁(yè)面上去配置了靜態(tài)路由器,之前在bibi看到過(guò)有說(shuō)需要配置一下靜態(tài)路由,只能病急亂投醫(yī),做了很多嘗試還是不行。又繼續(xù)查詢資料,說(shuō)的是關(guān)閉防火墻,因?yàn)橹拔乙呀?jīng)做過(guò)了一個(gè)嘗試,就是只關(guān)閉一臺(tái)路由器的防火墻,沒(méi)有關(guān)閉另外一臺(tái)路由器的,這次我嘗試2臺(tái)路由器都關(guān)閉了,竟然都ping通了。
關(guān)閉防火墻命令如下:
etc/init.d/firewall stop
ipsec報(bào)文是加密的,我們抓包看一下,是否是這樣的,用tcpdump抓了一下,然后報(bào)文沒(méi)有加密,很疑惑,轉(zhuǎn)念一想,不應(yīng)該呀??赡苁亲グc(diǎn)位的問(wèn)題,我們tcpdump是在協(xié)議棧入口抓的,可能還沒(méi)有經(jīng)過(guò)ipsec加密的地方,然后我又抓了一下wan口的報(bào)文,這次對(duì)得上了。
我們用iperf3打流測(cè)試一下ipv4看一下性能怎么樣,性能不是很高,只有20bps,不過(guò)規(guī)格說(shuō)的是10bps, 也滿足了要求。接下來(lái)我們看一下ipv6性能怎么樣,直接ftp下載一下文件,速率和ipv4差不多,也是20bps左右。ipv6的配置文件如下:主要和ipv4的區(qū)別就是填寫(xiě)ipv4地址的地方都寫(xiě)ipv6的就行。
到此這篇關(guān)于如何使用openwrt搭建ipsec隧道的文章就介紹到這了,更多相關(guān)openwrt搭建ipsec隧道內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Svn安裝和使用_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Svn安裝和使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08windows 權(quán)限之拒絕運(yùn)行應(yīng)用程序
windows 權(quán)限之拒絕運(yùn)行應(yīng)用程序的解決方法。2009-06-06用兩塊硬盤組建RAID0磁盤陣列簡(jiǎn)單教程(圖文詳解)
最近為了考慮數(shù)據(jù)安全特做了raid陣列,采用兩塊或多塊硬盤組建RAID磁盤陣列也成為了目前比較有性價(jià)比的硬盤性能提升解決方案2014-05-05基于epoll實(shí)現(xiàn) Reactor服務(wù)器的詳細(xì)過(guò)程
在我們調(diào)用epoll_create的時(shí)候會(huì)創(chuàng)建出epoll模型,這個(gè)模型也是利用文件描述類似文件系統(tǒng)的方式控制該結(jié)構(gòu),這篇文章主要介紹了基于epoll實(shí)現(xiàn) Reactor服務(wù)器的詳細(xì)過(guò)程,需要的朋友可以參考下2023-12-12詳解百度https認(rèn)證提示"請(qǐng)將您的http站點(diǎn)301重定向到https站點(diǎn)"的解決辦法
對(duì)于301重定向這一概念玩SEO的同志們都不陌生了,近些年來(lái)https協(xié)議越來(lái)越火,百度大大已經(jīng)明確了對(duì)https的扶持政策,這篇文章主要介紹了詳解百度https認(rèn)證提示"請(qǐng)將您的http站點(diǎn)301重定向到https站點(diǎn)"的解決辦法,感興趣的小伙伴們可以參考一下2018-12-12windows系統(tǒng)搭建zookeeper服務(wù)器的教程
這篇文章主要介紹了windows系統(tǒng)搭建zookeeper服務(wù)器的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10svn服務(wù)器安裝在centos7系統(tǒng)平臺(tái)
本文給大家介紹的是在centos7系統(tǒng)上安裝svn服務(wù)器的詳細(xì)教程,有需要的小伙伴可以參考下2018-04-04