背景:
工作軟件環(huán)境:
os:deepin20
-
vpn:公司vpn(采用的是l2tp/ipsec,申請的居家辦公)狂魔,方便查資料的vpn(懂得都懂)
2022年4月8日,晚上干完活,準備下班了斗遏,發(fā)現(xiàn)deepin有更新了脆炎,就隨手點了更新,然后日常重啟梅猿。
悲催的事情在重啟之后發(fā)生了,公司的vpn無法連接了秒裕,而另一個vpn正常袱蚓。
概念介紹:
簡單說說自己對l2tp/ipsec的理解:l2tp建立了我和公司局域網(wǎng)之間的通道,但是這個通道還沒有加密簇爆,ipsec就在這個通道上進行了加密操作癞松。
排查原因:
在deepin更新之前,我看了下更新內(nèi)容入蛆,內(nèi)核有更新(當時忘記了deepin的內(nèi)核需要自己更新响蓉,還以為系統(tǒng)更新了內(nèi)核就更新了),還有其他的一些安全更新哨毁,和日常的軟件更新枫甲,并沒有針對vpn的一些協(xié)議更新。(為什么要看更新內(nèi)容扼褪,主要是踩過windows的一次坑想幻,windows11 2022年1月份左右的一次更新,對vpn中的某些協(xié)議內(nèi)容進行了更新话浇,然后導致vpn無法使用脏毯,幸好微軟官方及時發(fā)布了補丁)
1、問題:難道是內(nèi)核的更新導致vpn無法使用幔崖?
deepin目前的vpn管理是使用的開源的network-manager-l2tp 和 network-manager-l2tp-gnome進行管理vpn的食店,連接vpn的時候需要填寫ipsec的相關信息。初步懷疑:難道是內(nèi)核更新之后赏寇,導致密鑰交換協(xié)議更新了吉嫩,然后無法使用。(密鑰的加密等級太低嗅定,會在后面的更新中慢慢淘汰掉)
先查看公司vpn支持的密鑰交換協(xié)議自娩,推薦這個腳本
或者直接使用ike-scan :
1、安裝:sudo apt install ike-scan
2渠退、命令:ike-scan vpn地址
通過以上兩種方式都可以得到公司服務器支持的vpn加密協(xié)議方式忙迁,通過第二種方式獲取到的加密協(xié)議方式發(fā)現(xiàn)和我之前的不一樣脐彩,開始了接下來的瞎折騰。
第一次連接vpn的時候动漾,曾安裝過:libreswan(sudo apt install libreswan)丁屎,發(fā)現(xiàn)自己本地的3.27.1版本,官方最新的版本已經(jīng)是4.6了旱眯,但是我本地的版本已經(jīng)是Debian倉庫最新的了晨川。簡單嘗試編譯了一下,失敗了删豺。太晚了共虑,就休息了。
第二天呀页,搜索的時候妈拌,發(fā)現(xiàn)libreswan、strongswan和openvpn這三個被并列說過蓬蝶,經(jīng)過查詢尘分,這三個是ipsec最終的實現(xiàn)方式。一邊通過sudo journalctl -u NetworkManager -f查看日志丸氛,一邊卸載libreswan培愁,安裝strongswan嘗試換個軟件是否可以使用。(在這兒犯了一個錯缓窜,沒有看完整的日志定续,只看到了輸出時加粗的那句:g_dbus_method_invocation_take_error:(又被誤導了))
查了n多資料...基于l2tp/ipsec的大概實現(xiàn)方式自己已經(jīng)知道了。開始最后的排查禾锤。
2私股、最后的排查
基于l2tp/ipsec的實現(xiàn)方式基本已經(jīng)知道了,理理思路進行排查恩掷。
- 先查看公司vpn支持的協(xié)議
- 查看自己電腦支持的vpn協(xié)議:我自己是通過ipsec status進行查看的(看了個半懂)
- 最后重新創(chuàng)建一個新的vpn連接試試(在這兒終于發(fā)現(xiàn)問題了)
3倡鲸、解決
在最后重新新建vpn的時候,發(fā)現(xiàn)通過域名解析的vpn地址和之前的不一樣黄娘。
-----------------此處省略300字----------------
新建vpn終止旦签,直接將原來的vpn地址換成現(xiàn)在新的vpn ip地址,連接成功..............
4寸宏、為什么會發(fā)生這樣的問題
郁悶的找同事一吐槽,結果他告訴我偿曙,我們經(jīng)理昨晚啟動過路由器氮凝,因為公司的網(wǎng)被劫持了,所以重啟了望忆。罩阵。竿秆。就導致了deepin這種不能采用域名進行連接vpn的人的悲催。
5稿壁、總結
vpn無法連接幽钢,其實很簡單。傅是。匪燕。