By Toradex胡珊逢
聯(lián)網(wǎng)需求在各種嵌入式應(yīng)用中正開始變得越來(lái)越普遍,隨之而來(lái)就是數(shù)據(jù)傳輸?shù)陌踩魬?zhàn)。VPN是應(yīng)對(duì)該挑戰(zhàn)的有效措施。除此之外,VPN還能夠穿透防火墻或者NAT實(shí)現(xiàn)異地組網(wǎng),從而提供遠(yuǎn)程訪問(wèn)設(shè)備的功能。文章接下來(lái)在運(yùn)行Linux系統(tǒng)的Apalis iMX8QM上演示如何使用OpenVPN和WireGuard兩種VPN方案。
OpenVPN一種使用較為廣泛的VPN,其基于OpenSSL提供多種加密方案,采用TCP或者UDP作為傳輸層協(xié)議,具有非常高的靈活性。WireGuard是一種更加高效、快速、簡(jiǎn)單的VPN方案,最初直接基于Linux內(nèi)核實(shí)現(xiàn),支持最新的加密算法如Curve25519、ChaCha20、Poly1305、BLAKE2等,傳輸層采用UDP協(xié)議。自Linux 5.6開始,WireGuard已經(jīng)集成到內(nèi)核中,目前擁有非?;钴S的開發(fā)群體,支持Windows、macOS、BSD、iOS、Android。Toradex針對(duì)其模塊發(fā)布的BSP采用Yocto構(gòu)建,OpenVPN和WireGuard在Yocto中可以很方便得添加進(jìn)來(lái)。
首先在local.conf配置文件添加一下內(nèi)容,apache網(wǎng)站服務(wù)器用于后面的遠(yuǎn)程連接演示。
IMAGE_INSTALL_append = " apache2 openvpn wireguard-module wireguard-tools"
修改layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20200401.bb,注釋掉PKG_${PN} = "kernel-module-${MODULE_NAME}"
WireGuard基于Linux內(nèi)核實(shí)現(xiàn),為了保證其代碼的精簡(jiǎn),其復(fù)用了內(nèi)核中很多的網(wǎng)絡(luò)功能,因此需要修改默認(rèn)的內(nèi)核配置。如果使用OpenVPN,則可以跳過(guò)該步驟,直接編譯BSP。
在開始配置之前,我們先介紹下測(cè)試所使用的網(wǎng)絡(luò)拓?fù)?。如下圖所示,首先需要一臺(tái)具有公網(wǎng)IP的服務(wù)器作為VPN服務(wù)器。Apalis iMX8QM通過(guò)以太網(wǎng)連接電信運(yùn)營(yíng)商提供的光貓。目前光貓通常只能獲取的經(jīng)過(guò)電信運(yùn)營(yíng)商N(yùn)AT轉(zhuǎn)換后的內(nèi)網(wǎng)IPv4地址。用于測(cè)試的手機(jī)則通過(guò)基站接入公網(wǎng)。
VPN服務(wù)器設(shè)置
OpenVPN和WireGuard官網(wǎng)均提供了詳細(xì)的服務(wù)器配置說(shuō)明。這里我們使用另外一個(gè)工具PiVPN來(lái)設(shè)置服務(wù)器。PiVPN最初是為樹莓派提供簡(jiǎn)單的服務(wù)器管理工具,但同樣可以用于任何基于Debian發(fā)行版本,如Ubuntu。運(yùn)行下面命令即可安裝。
手機(jī)端設(shè)置
在手機(jī)上安裝OpenVPN和WireGuard客戶端,然后導(dǎo)入上面PiVPN生成的ovpn或者conf文件,亦或通過(guò)掃二維碼。PiVPN均提供十分易于使用的功能。
Apalis iMX8QM設(shè)置
使用system-networkd作為網(wǎng)絡(luò)管理器
成功運(yùn)行后會(huì)看到如下信息:
使用ifconfig命令可以看到如下tun0接口。分配的IP為10.8.0.5。在其他連接到該VPN的客戶端上可以使用該IP來(lái)訪問(wèn)Apalis iMX8QM。
在手機(jī)上連接 OpenVPN,分配到的IP為10.8.0.3。通過(guò)手機(jī)上的瀏覽器訪問(wèn)Apalis iMX8QM上的網(wǎng)頁(yè)http://10.8.0.5。
lWireGuard
將PiVPN生成的配置文件apalis-imx8.conf復(fù)制到/etc/wireguard/wg0.conf,然后運(yùn)行
在手機(jī)上啟動(dòng)WireGuard應(yīng)用,訪問(wèn)Apalis iMX8QM上的網(wǎng)頁(yè)http://10.6.0.5。
總結(jié)
VPN可以將不同網(wǎng)絡(luò)的設(shè)備進(jìn)行組網(wǎng)實(shí)現(xiàn)互聯(lián),方便遠(yuǎn)程管理。但同時(shí)也需要注意服務(wù)器的安全防護(hù),通過(guò)該服務(wù)器可以獲取到連接設(shè)備信息,包括登錄驗(yàn)證信息。
編輯:hfy
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85322 -
TCP
+關(guān)注
關(guān)注
8瀏覽量
79055 -
UDP
+關(guān)注
關(guān)注
0文章
325瀏覽量
33931 -
OpenSSL
+關(guān)注
關(guān)注
0文章
21瀏覽量
8677
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論