91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Linux內(nèi)核實(shí)現(xiàn)高效、快速、簡(jiǎn)單的VPN方案

電子設(shè)計(jì) ? 來(lái)源:與非網(wǎng) ? 作者:Toradex胡珊逢 ? 2021-02-01 14:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

By Toradex胡珊逢

聯(lián)網(wǎng)需求在各種嵌入式應(yīng)用中正開(kāi)始變得越來(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開(kāi)始,WireGuard已經(jīng)集成到內(nèi)核中,目前擁有非?;钴S的開(kāi)發(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}"

pIYBAGAXl3SACEcBAAAm3SCoc8M715.png

WireGuard基于Linux內(nèi)核實(shí)現(xiàn),為了保證其代碼的精簡(jiǎn),其復(fù)用了內(nèi)核中很多的網(wǎng)絡(luò)功能,因此需要修改默認(rèn)的內(nèi)核配置。如果使用OpenVPN,則可以跳過(guò)該步驟,直接編譯BSP。

o4YBAGAXl5GAX1y3AACPlWR5iFY178.png

在開(kāi)始配置之前,我們先介紹下測(cè)試所使用的網(wǎng)絡(luò)拓?fù)洹H缦聢D所示,首先需要一臺(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)。

pIYBAGAXl6uAebk4AAC-xCunCLU219.png

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)行下面命令即可安裝。

pIYBAGAXl-CAC0-hAABHICMKSJA165.png

手機(jī)端設(shè)置

在手機(jī)上安裝OpenVPN和WireGuard客戶端,然后導(dǎo)入上面PiVPN生成的ovpn或者conf文件,亦或通過(guò)掃二維碼。PiVPN均提供十分易于使用的功能。

Apalis iMX8QM設(shè)置

使用system-networkd作為網(wǎng)絡(luò)管理器

o4YBAGAXl_SAcb-RAAByAROZcCw668.png

成功運(yùn)行后會(huì)看到如下信息:

o4YBAGAXmA-AJUEMAABUs_bWW_U355.png

使用ifconfig命令可以看到如下tun0接口。分配的IP為10.8.0.5。在其他連接到該VPN的客戶端上可以使用該IP來(lái)訪問(wèn)Apalis iMX8QM。

o4YBAGAXmDSABQo5AAA2wr9WVyU839.png

在手機(jī)上連接 OpenVPN,分配到的IP為10.8.0.3。通過(guò)手機(jī)上的瀏覽器訪問(wèn)Apalis iMX8QM上的網(wǎng)頁(yè)http://10.8.0.5。

pIYBAGAXmFiAS5c3AAErIB4BZo4973.png

pIYBAGAXmGWAduXzAABWEowrHlI074.png

lWireGuard

將PiVPN生成的配置文件apalis-imx8.conf復(fù)制到/etc/wireguard/wg0.conf,然后運(yùn)行

pIYBAGAXmHaAVYDWAABJ-4VYZ2Y692.png

在手機(jī)上啟動(dòng)WireGuard應(yīng)用,訪問(wèn)Apalis iMX8QM上的網(wǎng)頁(yè)http://10.6.0.5。

o4YBAGAXmISASyA9AAFz1RET6q4488.png

pIYBAGAXmJmAfSCpAABUyfxGPu4687.png

總結(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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    14

    文章

    10253

    瀏覽量

    91486
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1425

    瀏覽量

    83507
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    334

    瀏覽量

    35414
  • OpenSSL
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9273
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux內(nèi)核bug狩獵指南:從棧跟蹤到修復(fù),官方文檔教你搞定系統(tǒng)核心故障

    內(nèi)核Linux 系統(tǒng)的 “心臟”—— 一旦它出 bug,小則功能異常,大則系統(tǒng)崩潰、死機(jī)。但內(nèi)核 bug 往往藏在百萬(wàn)行代碼中,想快速定位、修復(fù)絕非易事。
    的頭像 發(fā)表于 02-06 16:59 ?3124次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>bug狩獵指南:從棧跟蹤到修復(fù),官方文檔教你搞定系統(tǒng)核心故障

    Linux系統(tǒng)內(nèi)核參數(shù)調(diào)優(yōu)實(shí)戰(zhàn)指南

    Linux 內(nèi)核參數(shù)調(diào)優(yōu)是系統(tǒng)性能優(yōu)化的核心環(huán)節(jié)。隨著云原生架構(gòu)的普及和硬件性能的飛速提升,默認(rèn)的內(nèi)核參數(shù)配置往往無(wú)法充分發(fā)揮系統(tǒng)潛力。在高并發(fā) Web 服務(wù)、大數(shù)據(jù)處理、容器化部署等場(chǎng)景下,合理的
    的頭像 發(fā)表于 01-28 14:27 ?441次閱讀

    【「Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)(第 2 版)」閱讀體驗(yàn)】Linux內(nèi)核開(kāi)發(fā)基礎(chǔ)

    ()、msleep_interruptible()這些API用于簡(jiǎn)單睡眠 內(nèi)核延遲或忙等待 可以調(diào)用ndelay()、udelay()、mdelay()這些API實(shí)現(xiàn) Linux
    發(fā)表于 01-12 22:45

    【「Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)(第 2 版)」閱讀體驗(yàn)】+讀內(nèi)核處理的核心輔助函數(shù)

    一個(gè)是“鎖”;另一個(gè)是“條件變量”。內(nèi)核中最常見(jiàn)的鎖是自旋鎖和互斥鎖,操作系統(tǒng)內(nèi)核通常使用硬件提供的原子操作來(lái)實(shí)現(xiàn)鎖的機(jī)制。而條件變量并不是Linux
    發(fā)表于 01-10 22:08

    深入Linux內(nèi)核:進(jìn)程調(diào)度的核心邏輯與實(shí)現(xiàn)細(xì)節(jié)

    ,背后都離不開(kāi)內(nèi)核調(diào)度算法的精準(zhǔn)操控。今天,我們就從優(yōu)先級(jí)、調(diào)度算法、時(shí)間片分配到底層實(shí)現(xiàn),全方位拆解Linux內(nèi)核進(jìn)程調(diào)度的核心邏輯。 一、進(jìn)程調(diào)度的“身份標(biāo)識(shí)”:優(yōu)先級(jí)與分類 要理
    的頭像 發(fā)表于 12-24 07:05 ?4304次閱讀
    深入<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>:進(jìn)程調(diào)度的核心邏輯與<b class='flag-5'>實(shí)現(xiàn)</b>細(xì)節(jié)

    Linux內(nèi)核日志玩明白了嗎?printk調(diào)試神器全解析

    前言:做Linux驅(qū)動(dòng)開(kāi)發(fā)或內(nèi)核調(diào)試的朋友,一定對(duì)printk不陌生,但你真的會(huì)用它嗎?為什么同樣是調(diào)試RK3588內(nèi)核,別人能精準(zhǔn)捕捉關(guān)鍵錯(cuò)誤,你卻被海量日志淹沒(méi)?今天就帶大家吃透printk
    的頭像 發(fā)表于 12-19 08:32 ?861次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>日志玩明白了嗎?printk調(diào)試神器全解析

    Linux-RT特點(diǎn)及簡(jiǎn)單應(yīng)用

    Linux-RT是指Linux Real-Time(實(shí)時(shí))的簡(jiǎn)稱,它是針對(duì)實(shí)時(shí)性能優(yōu)化的Linux內(nèi)核版本。傳統(tǒng)的Linux
    發(fā)表于 12-05 07:37

    基于 DR1M90 的 Linux-RT 內(nèi)核開(kāi)發(fā):從編譯配置到 GPIO / 按鍵應(yīng)用實(shí)現(xiàn)(1)

    本手冊(cè)由創(chuàng)龍科技研發(fā),針對(duì) DR1M90,詳述 Linux-RT 實(shí)時(shí)內(nèi)核開(kāi)發(fā):含實(shí)時(shí)性測(cè)試(LinuxLinux-RT 對(duì)比、CPU 空載 / 滿負(fù)荷 / 隔離狀態(tài)測(cè)試)、
    的頭像 發(fā)表于 12-02 10:38 ?1179次閱讀
    基于 DR1M90 的 <b class='flag-5'>Linux</b>-RT <b class='flag-5'>內(nèi)核</b>開(kāi)發(fā):從編譯配置到 GPIO / 按鍵應(yīng)用<b class='flag-5'>實(shí)現(xiàn)</b>(1)

    Linux內(nèi)核printk日志級(jí)別全解析:從參數(shù)解讀到實(shí)操配置

    一、開(kāi)篇:一個(gè)命令引出的核心問(wèn)題 在?Linux?終端執(zhí)行?cat /proc/sys/kernel/printk,你可能會(huì)看到這樣的輸出: 這串?dāng)?shù)字不是隨機(jī)的,而是內(nèi)核日志系統(tǒng)的“核心配置開(kāi)關(guān)
    的頭像 發(fā)表于 11-20 15:54 ?1705次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>printk日志級(jí)別全解析:從參數(shù)解讀到實(shí)操配置

    fpga嵌入e203內(nèi)核搭建soc如何實(shí)現(xiàn)通信功能?

    在fpga嵌入e203內(nèi)核實(shí)現(xiàn)以太網(wǎng),開(kāi)發(fā)板有PHY芯片LAN8720A,怎么搭建soc,如何使用總線,實(shí)現(xiàn)通信功能?
    發(fā)表于 11-10 06:54

    傳統(tǒng) VPN 已過(guò)時(shí)?Splashtop 如何重塑安全遠(yuǎn)程連接

    隨著遠(yuǎn)程辦公和跨地域協(xié)作日益普及,企業(yè)對(duì)安全、高效遠(yuǎn)程訪問(wèn)解決方案的需求持續(xù)攀升。傳統(tǒng)VPN技術(shù)雖然在歷史上承擔(dān)了重要角色,但其在設(shè)計(jì)理念、安全機(jī)制與性能表現(xiàn)上的局限逐漸凸顯,已難以滿足現(xiàn)代企業(yè)
    的頭像 發(fā)表于 10-13 17:19 ?1285次閱讀
    傳統(tǒng) <b class='flag-5'>VPN</b> 已過(guò)時(shí)?Splashtop 如何重塑安全遠(yuǎn)程連接

    請(qǐng)問(wèn)公司辦公網(wǎng)沒(méi)有公網(wǎng)IP如何實(shí)現(xiàn)VPN組網(wǎng)?

    公司辦公網(wǎng)沒(méi)有公網(wǎng)IP如何實(shí)現(xiàn)VPN組網(wǎng)?
    發(fā)表于 08-07 07:27

    Linux內(nèi)核參數(shù)調(diào)優(yōu)方案

    在高并發(fā)微服務(wù)環(huán)境中,網(wǎng)絡(luò)性能往往成為K8s集群的瓶頸。本文將深入探討如何通過(guò)精細(xì)化的Linux內(nèi)核參數(shù)調(diào)優(yōu),讓你的K8s節(jié)點(diǎn)網(wǎng)絡(luò)性能提升30%以上。
    的頭像 發(fā)表于 08-06 17:50 ?954次閱讀

    如何配置和驗(yàn)證Linux內(nèi)核參數(shù)

    Linux系統(tǒng)運(yùn)維和性能優(yōu)化中,內(nèi)核參數(shù)(sysctl)的配置至關(guān)重要。合理的參數(shù)調(diào)整可以顯著提升網(wǎng)絡(luò)性能、系統(tǒng)穩(wěn)定性及資源利用率。然而,僅僅修改參數(shù)是不夠的,如何驗(yàn)證這些參數(shù)是否生效同樣關(guān)鍵。
    的頭像 發(fā)表于 05-29 17:40 ?1156次閱讀

    樹莓派4 性能大比拼:標(biāo)準(zhǔn)Linux與實(shí)時(shí)Linux 4.19內(nèi)核的延遲測(cè)試

    引言本文是對(duì)我之前關(guān)于RaspberryPi3同一主題的帖子的更新。與之前的帖子一樣,我使用的是隨Raspbian鏡像提供的標(biāo)準(zhǔn)內(nèi)核,以及應(yīng)用了RT補(bǔ)丁的相似內(nèi)核版本。對(duì)于實(shí)時(shí)版,我
    的頭像 發(fā)表于 03-25 09:39 ?815次閱讀
    樹莓派4 性能大比拼:標(biāo)準(zhǔn)<b class='flag-5'>Linux</b>與實(shí)時(shí)<b class='flag-5'>Linux</b> 4.19<b class='flag-5'>內(nèi)核</b>的延遲測(cè)試