加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • WireGuard 簡介
    • WireGuard 基本概念
    • WireGuard 主端文件配置
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

在 Ubuntu 上搭建 WireGuard 服務(wù)器,實現(xiàn)遠(yuǎn)程登錄

2022/10/02
4580
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

在本文中,我將向大家展示如何在 Ubuntu 上搭建 WireGuard 服務(wù)器,從而實現(xiàn)遠(yuǎn)程登錄。

首先,我們先來了解一下,什么是 WireGuard?

WireGuard 簡介

WireGuard 是一款非常簡單快捷的 VPN 工具,采用了最先進(jìn)的加密技術(shù)。它的目標(biāo)是比 IPsec 更快,更簡單,更精簡易用,同時避免大規(guī)模配置的麻煩。WireGuard 被設(shè)計為通用 VPN,用于在嵌入式接口和超級計算機(jī)上運(yùn)行,適用于多種不同環(huán)境。WireGuard 最初是為 Linux 內(nèi)核發(fā)布的,現(xiàn)在已經(jīng)可廣泛部署并且跨平臺支持(Windows,macOS,BSD,iOS,Android)。WireGuard 目前發(fā)展迅速,并且已經(jīng)被認(rèn)為是業(yè)內(nèi)最安全,最易用和最簡單的 VPN 解決方案。

WireGuard 基本概念

WireGuard 中涉及到幾個基本概念:

  • Peer:WireGuard 中的節(jié)點。

  • 私鑰(Private key):每個節(jié)點自己的私鑰,可以使用wg genkey 生成。

  • 公鑰(Public key):每個節(jié)點自己的公鑰,可以使用wg pubkey 生成。

  • AllowedIPs:定義每個節(jié)點允許通過的IP 地址段。

 

下面是 WireGuard 的配置步驟:

1、創(chuàng)建虛擬網(wǎng)卡 eth0

2、使用私鑰和對端的公鑰對其進(jìn)行配置建立連接

3、通過接口開始交換數(shù)據(jù)包

以上為建立一個 WireGuard VPN 鏈接的過程,建立好后,A 設(shè)備與 B 設(shè)備互相需要保證虛擬網(wǎng)卡的 IP 在相同網(wǎng)段中,并且這個網(wǎng)段被 WireGuard 的配置文件 AllowedIPs 所允許通過,最后,在 WireGuard 中的所有數(shù)據(jù)報文,都采用 UDP 的方式發(fā)送。

WireGuard 安裝

前期準(zhǔn)備

云端服務(wù)器 x 1

系統(tǒng):Ubuntu Server 18.04.1 LTS 64bit

可訪問網(wǎng)絡(luò)的 PC x 1

系統(tǒng):Windows11

Ubuntu 服務(wù)器 IP 地址 42.192.113.207

WireGuard 主端虛擬 IP 地址 172.16.1.11

PC

WireGuard 對端虛擬地址:172.16.1.14

安裝 WireGuard 服務(wù)器
sudo apt install -y wireguard

安裝Wireguard服務(wù)器

sudo apt install -y wireguard

配置 WireGuard 服務(wù)器
進(jìn)入 wireguard 目錄

使用命令生成一對公鑰與私鑰

 

注意查看 WireGuard 生成的 PublicKey 是

WireGuard PC 對端客戶端配置
 

新建空隧道

獲得對端 PublicKey

文件配置:

WireGuard 主端文件配置

創(chuàng)建服務(wù)器配置文件 wg0.conf

 

創(chuàng)建網(wǎng)卡配置文件,文件名為 wg0

網(wǎng)絡(luò)接口配置虛擬 IP 地址(此虛擬 IP 地址為前期準(zhǔn)備中的 172.16.1.11/24)

ip address add dev wg0 172.16.1.11/24 ip address

創(chuàng)建一個私鑰,用于 WireGuard 使用,并配置權(quán)限禁止他人訪問

wg genkey | tee /tmp/private-key chmod 600 /tmp/private-key wg set wg0 private-key /tmp/private-key listen-port 51820

啟動網(wǎng)絡(luò)接口

ip link set wg0 up ip address

此時我們創(chuàng)建好了本地節(jié)點,需要配置哪些節(jié)點是我們的對端,才能建立網(wǎng)絡(luò)連接。

通過 PC 安裝的 WireGuard 客戶端連接 WireGuard 服務(wù)器

點擊連接

wg 查看連接狀態(tài)

備注:其他相關(guān)命令

1、啟動 WireGuard

wg-quick up wg0

2、停止 WireGuard

wg-quick down wg0

3、查看 WireGuard 運(yùn)行狀態(tài)

Wg

4、WireGuard 配置說明

在上文的基礎(chǔ)上,大家需要額外注意以下這些內(nèi)容:

1、如果你存在多個 [Peer] ,則在下面直接增加一個新的 [Peer] 欄目;

2、如果多個 Peer 存在不同的 IP,請不要讓 AllowedIPs 存在重疊的 IP 地址段(比如配置多個相同 /24 只有一個生效);

3、Endpoint 既支持以域名的方式訪問,也支持以 IP 的方式訪問;

4、會話鏈接的建立只要保證兩端數(shù)據(jù)在一臺設(shè)備上成功協(xié)商,即使動態(tài) IP 地址變更也不會影響 VPN 的穩(wěn)定性;

5、ListenPort 不添加會自動生成高位端口用來 peer,以及主從結(jié)構(gòu)下,從端不填寫 listenport;

6、Table 參數(shù)可以使用 auto 和 off,兩者分別對應(yīng)"自動注入路由"和"禁止注入"。不配置采用 auto;

7、如果你是主從結(jié)構(gòu),需要讓從端在配置中將從端的"AllowedIPs ="補(bǔ)寫一條內(nèi)容 0.0.0.0/0,::0 以允許所有流量;

8、PreUp,PostUp,PreDown,PostDown 這四個命令參數(shù),是作為 wg-quick 快速設(shè)置/刪除接口之前/之后由 bash(1)執(zhí)行的四條命令,常用于配置自定義 DNS 或防火墻規(guī)則。 特殊字符串 %i 作為變量替代所控制的 INTERFACE 配置名。每個命令參數(shù)都支持多條命令,參數(shù)內(nèi)的多條命令將按前后順序依次執(zhí)行,分隔符為 ; 分號。

Ubuntu

Ubuntu

Ubuntu是Linux上用于企業(yè)服務(wù)器、桌面、云和物聯(lián)網(wǎng)的現(xiàn)代開源操作系統(tǒng)。

Ubuntu是Linux上用于企業(yè)服務(wù)器、桌面、云和物聯(lián)網(wǎng)的現(xiàn)代開源操作系統(tǒng)。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

瑞科慧聯(lián)(RAK)是領(lǐng)先業(yè)界的物聯(lián)網(wǎng)應(yīng)用與服務(wù)提供商,專注于低功耗廣域網(wǎng)絡(luò)系統(tǒng)方案,致力于為系統(tǒng)集成商、應(yīng)用開發(fā)商提供產(chǎn)品和解決方案。