WireGuard部署

服务器

安装

Bash
# Ubuntu/Debian
sudo apt update && sudo apt install -y wireguard

# CentOS/RHEL 8+
sudo dnf install -y wireguard-tools

# Fedora
sudo dnf install -y wireguard-tools

# Arch Linux
sudo pacman -S wireguard-tools

生成密钥对(服务端 + 客户端通用)

Bash
# 生成服务端密钥对(会在当前目录生成 privatekey 和 publickey 文件)
wg genkey | tee privatekey | wg pubkey > publickey

# 生成客户端密钥对(示例,客户端也可自行生成)
wg genkey | tee client_privatekey | wg pubkey > client_publickey

创建服务端配置文件

在 /etc/wireguard/ 目录下新建配置文件 wg0.confwg0 为网卡名,可自定义),内容如下:

conf
[Interface]
PrivateKey = 服务端privatekey文件内容  # 粘贴步骤2生成的服务端私钥
Address = 10.0.0.1/24  # 服务端在VPN内的IP(自定义网段,如10.0.0.0/24)
ListenPort = 51820  # WireGuard监听端口(需在服务器防火墙/安全组开放)
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# 说明:PostUp/PostDown用于配置路由转发,eth0需替换为服务器的公网网卡名(用ip addr查看)
[peer]
PublicKey = 客户端公钥
AllowedIPs = 10.0.0.2/32, 10.0.0.0/24
# [peer] 第二个

开启 IP 转发并启动服务

Bash
# 临时开启IP转发(重启后失效)
sudo sysctl -w net.ipv4.ip_forward=1

# 永久开启IP转发(编辑sysctl配置)
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sudo sysctl -p

# 开放端口
sudo ufw allow 51820/udp  # Ubuntu用ufw
# 若用firewalld(CentOS):sudo firewall-cmd --add-port=51820/udp --permanent && sudo firewall-cmd --reload

# 启动WireGuard服务并设置开机自启
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

客户端

安装(同上)

生成密钥对

Bash
# 生成客户端私钥和公钥(会在当前目录生成文件)
wg genkey | tee client_privatekey | wg pubkey > client_publickey

# 查看私钥(配置客户端用)
cat client_privatekey

# 查看公钥(提供给服务端,添加到服务端的[Peer]配置中)
cat client_publickey

创建客户端配置文件

在 /etc/wireguard/ 目录下新建配置文件(如 wg0.conf),内容如下

conf
[Interface]
PrivateKey = 客户端私钥  # 步骤1生成的 client_privatekey 内容
Address = 10.0.0.2/24    # 客户端在VPN内的IP(与服务端同网段,如10.0.0.0/24)
DNS = 8.8.8.8            # 可选,指定VPN内的DNS服务器(避免解析问题)

[Peer]
PublicKey = 服务端公钥    # 服务端的 publickey 内容
Endpoint = 1.2.3.4:51820 # 服务端公网IP:端口(如阿里云ECS的公网IP和51820端口)
AllowedIPs = 10.0.0.0/24   # 客户端通过VPN访问的网段:0.0.0.0/0表示所有流量走VPN;若只访问服务端内网,填192.168.1.0/24等
PersistentKeepalive = 25 # NAT环境下保持连接(防止超时断开,单位:秒)

启动与关闭客户端

Bash
# 启动WireGuard客户端(指定配置文件)
sudo wg-quick up /etc/wireguard/wg0.conf

# 若配置文件在/etc/wireguard/目录下,可简化为:
sudo wg-quick up wg0  # 自动识别 /etc/wireguard/wg0.conf

# 启用自启(基于systemd的系统,如Ubuntu 16.04+/CentOS 7+)
sudo systemctl enable wg-quick@wg0

# 关闭
sudo wg-quick down wg0

# 日志查看
sudo journalctl -u wg-quick@wg-client -f

评论

  1. jvav大佬
    7 月前
    2025-11-03 17:35:41

    这是一份礼物

发送评论 编辑评论


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