使用WireGuard在两台主机之间建立安全隧道

最近新增了一台VPS主机作为站点的前置机,但是两台主机之间没有VPC网络,所以需要搭建一条安全的隧道进行相互通信。如果你是在公有云厂商购买的主机就不需要担心主机通信问题,直接走VPC网络就行。

最早我是使用SSH把网站的端口映射到前置机的,但是稳定性不是很好,所以我考虑使用WireGuard来搭建一个安全的隧道网络

安装 WireGuard

在两台 Ubuntu 主机上运行以下命令安装 WireGuard

sudo apt update

sudo apt install wireguard

配置 WireGuard

  1. 生成服务端密钥对

执行以下命令后,分别在两台主机执行下列命令,会在 /etc/wireguard 目录下生成私钥文件 privatekey 和公钥文件 publickey 

 

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

我们在/etc/wireguard目录会找到相应的公私钥文件,请一定要确保私钥的安全。

  1. 创建配置文件

A主机/etc/wireguard 目录下创建一个名为 wg0.conf 的配置文件:

 vim /etc/wireguard/wg0.conf

[Interface]
PrivateKey = <Machine A
的私钥内容>
Address = 10.0.0.1/24
ListenPort = 5555

[Peer]
PublicKey = <Machine B
的公钥内容>
AllowedIPs = 10.0.0.2/32
Endpoint = <Machine B
的公网 IP>:5555

同时在在 B主机/etc/wireguard 目录下创建一个名为 wg0.conf 的配置文件:

[Interface]
PrivateKey = <Machine B
的私钥内容>
Address = 10.0.0.2/24
ListenPort = 5555

[Peer]
PublicKey = <Machine A
的公钥内容>
AllowedIPs = 10.0.0.1/32
Endpoint = <Machine A
的公网 IP>:5555

设置权限和防火墙

确保配置文件安全,并允许 UDP 5555 端口:

sudo chmod 600 /etc/wireguard/wg0.conf

sudo ufw allow 5555/udp

启动和测试

启动 WireGuard 并测试连接:

sudo wg-quick up wg0

Machine A ping 10.0.0.2,从 Machine B ping 10.0.0.1。若成功,隧道已建立。

开机自启

使 WireGuard 在启动时自动运行:

sudo systemctl enable wg-quick@wg0

注意:除了需要在A.B主机直接放通公网IP访问UDP/5555端口之外,两端也需要放通内网10.0.0.0/24网段的互访权限。

 

 

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇