加入星計(jì)劃,您可以享受以下權(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è)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

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

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

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

WireGuard 簡介

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

WireGuard 基本概念

WireGuard 中涉及到幾個(gè)基本概念:

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

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

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

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

 

下面是 WireGuard 的配置步驟:

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

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

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

以上為建立一個(gè) WireGuard VPN 鏈接的過程,建立好后,A 設(shè)備與 B 設(shè)備互相需要保證虛擬網(wǎng)卡的 IP 在相同網(wǎng)段中,并且這個(gè)網(wǎng)段被 WireGuard 的配置文件 AllowedIPs 所允許通過,最后,在 WireGuard 中的所有數(shù)據(jù)報(bào)文,都采用 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 對(duì)端虛擬地址:172.16.1.14

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

安裝Wireguard服務(wù)器

sudo apt install -y wireguard

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

使用命令生成一對(duì)公鑰與私鑰

 

注意查看 WireGuard 生成的 PublicKey 是

WireGuard PC 對(duì)端客戶端配置
 

新建空隧道

獲得對(duì)端 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)建一個(gè)私鑰,用于 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

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

ip link set wg0 up ip address

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

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

點(diǎn)擊連接

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

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

1、啟動(dòng) WireGuard

wg-quick up wg0

2、停止 WireGuard

wg-quick down wg0

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

Wg

4、WireGuard 配置說明

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

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

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

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

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

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

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

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

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

Ubuntu

Ubuntu

Ubuntu is the modern, open source operating system on Linux for the enterprise server, desktop, cloud, and IoT.

Ubuntu is the modern, open source operating system on Linux for the enterprise server, desktop, cloud, and IoT.收起

查看更多

相關(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)品和解決方案。