技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页 >Debian>正文
Debian 13.7.x下安装配置WireGuard
2026年10月07日 ⁄ Debian ⁄ 暂无评论 ⁄ 被围观 9次+

简单介绍:

WireGuard 是新一代的虚拟专用网内核模块,它以代码极简、性能极高、配置简单著称。

它被直接集成在 Linux 内核中(5.6 版本以上),因此运行效率非常高,非常适合用于异地组网、内网穿透等使用场景。

操作系统:

Debian 13.7.x

WireGuard 已经内置于新版内核中,Debian 13.7.x 默认使用的是较新的内核(通常是 6.x 版本),而 WireGuard 在 Linux 内核 5.6 版本之后就已经正式合并到主线内核了。

安装配置:

1、防火墙端口配置

Debian 13.7.x 默认不带防火墙,建议安装ufw作为防火墙

apt install -y ufw #装完 ufw 后,默认没有任何规则,它是未启用状态

ufw status #输出Status: inactive

ufw allow 22/tcp #放行22端口

ufw allow 51820/udp #放行WireGuard默认端口

ufw --force enable #启动防火墙

ufw status numbered #查看当前规则

ufw status verbose #查看状态

ufw启动后,默认是这2条规则,添加新的端口后,加完立刻生效,不需要重启

ufw default deny incoming # 进来的全拒绝

ufw default allow outgoing # 出去的全放行

相关命令

ufw disable 关闭防火墙

ufw enable 重新打开

ufw reload 重启防火墙

ufw reset 删掉所有规则

ufw delete allow 57002/udp

2、开启IPV4流量转发功能

nano /etc/sysctl.d/99-custom.conf

net.ipv4.ip_forward = 1

net.ipv4.conf.all.proxy_arp = 1

ctrl+o #保存配置

ctrl+x #退出

sysctl --system

3、安装wireguard

apt install wireguard-tools

modprobe wireguard #手动加载模块,如果没有报错(直接返回命令行),说明模块已存在且加载成功。

wg --version #看到版本号就说明装好了

4、生成服务端密钥对

#创建一个目录用于存放生成的密钥对

mkdir -p /etc/wireguard/cert

cd /etc/wireguard/cert

umask 077

# 生成服务端私钥server.key

wg genkey > server.key

# 使用上一步的服务端私钥生成公钥server.key.pub

wg pubkey < server.key >server.key.pub

# 查看生成的密钥对

root@debian:/etc/wireguard/cert# cat server.key server.key.pub

5、生成客户端的密钥对

# 客户端1私钥

wg genkey > client1.key

# 客户端1公钥

wg pubkey < client1.key > client1.key.pub

# 查看生成的密钥对

root@debian:/etc/wireguard/cert# cat client1.key client1.key.pub

# 客户端2私钥

wg genkey > client2.key

# 客户端2公钥

wg pubkey < client2.key > client2.key.pub

# 查看生成的密钥对

root@debian:/etc/wireguard/cert# cat client2.key client2.key.pub

6、配置服务端

nano /etc/wireguard/wg0.conf

[Interface]

PrivateKey = WEuHL0jO7itf1xthtXP168Fcgfhv0hiaoaqD9lGCxpp= #服务端私钥server.key

Address = 10.0.0.1/24 #指定这张虚拟网卡的IP地址和所属网段,不要与现有网段冲突就可以

#使用 %i 作为接口名占位符,确保 FORWARD 和 NAT 规则都正确配置

#注意ens18为本机网卡名称

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE

PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE

ListenPort = 51820 #注意该端口是UDP端口

MTU = 1420

[Peer]

PublicKey = pvTYQDC/0dQWvW5rK5GtYs/S1c/4dKk5FJc9x+2Naoo= #client1的公钥client1.key.pub

AllowedIPs = 10.0.0.2/32 #客户端所使用的IP

[Peer]

PublicKey = LzwvGskAIBqFRgfntf9RiStEvMLwsNTtvJLIK/Eohuu= #client2的公钥client2.key.pub

AllowedIPs = 10.0.0.3/32

ctrl+o #保存配置

ctrl+x #退出

#把wg-quick@wg0设为开机自启,并且现在立刻启动它。

systemctl enable --now wg-quick@wg0

wg show #查看状态

wg-quick up wg0 # 启动命令

ip a #可以看到服务器多了一个wg0网卡

wg-quick down wg0 #停止命令

7、生成客户端配置

生成client1配置

nano /etc/wireguard/client1.conf

[Interface]

PrivateKey = 8DQZbHYKi7ZE8qHbYxF30OTnZtBpfFBS/glOp221w66= #此处为client1的私钥client1.key

Address = 10.0.0.2/24 #此处为peer规定的客户端IP

DNS = 223.5.5.5

[Peer]

PublicKey = zVkUgYEN3UXPCT/klQFFFRlVqVj8XF4g/jmpk+sZFgg= #此处为server的公钥server.key.pub

Endpoint = 10.199.199.5:51820 #服务端地址:公网IP:端口

#AllowedIPs = 0.0.0.0/0, ::/0

AllowedIPs = 192.168.1.0/24 #改为仅内网/特定IP段,假设你只想访问服务器内网,不走全部流量。

PersistentKeepalive = 25 #保持心跳

ctrl+o #保存配置

ctrl+x #退出

生成client2配置

nano /etc/wireguard/client2.conf

[Interface]

PrivateKey = uPrjemHDCTgpzVQ1pLY51VQ2mZXV8O6UHAA1IC2jGbb= #此处为client2的私钥client2.key

Address = 10.0.0.3/24 #此处为peer规定的客户端IP

DNS = 223.5.5.5

[Peer]

PublicKey = zVkUgYEN3UXPCT/klQFFFRlVqVj8XF4g/jmpk+sZFqq= #此处为server的公钥server.key.pub

Endpoint = 10.199.199.5:51820 #服务端地址:公网IP:端口

#AllowedIPs = 0.0.0.0/0, ::/0

AllowedIPs = 192.168.1.0/24 #改为仅内网/特定IP段,假设你只想访问服务器内网,不走全部流量。

PersistentKeepalive = 25 #保持心跳

ctrl+o #保存配置

ctrl+x #退出

8、客户端连接:

客户端下载地址:https://www.wireguard.com/install/

生成二维码给手机扫描导入配置文件

apt install -y qrencode

qrencode -t ansiutf8 < /etc/wireguard/client1.conf

qrencode -t ansiutf8 < /etc/wireguard/client2.conf

#手机导入

客户端下载地址:https://www.wireguard.com/install/

1. 安装WireGuard

2. 打开 App,点右下角 +

3. 选扫描二维码

4. 对准终端里的二维码

5. 输入名称,确定导入后打开开关

windows客户端连接:

Windows客户端:

https://download.wireguard.com/windows-client/

https://download.wireguard.com/windows-client/wireguard-installer.exe

在服务器上查看内容:

cat /etc/wireguard/client1.conf

cat /etc/wireguard/client2.conf

复制全部内容,在电脑上新建一个文本文件,粘贴进去,保存为 client1.conf,然后选择从文件导入隧道,导入 WireGuard 客户端。

#在win客户端还可以点击-新建隧道-新建空隧道-创建新隧道-之后win客户端会自动创建公钥与私钥

#编辑配置文件vi /etc/wireguard/wg0.conf,替换client1的公钥client1.key.pub为客户端自动生成的公钥:QQ00QHjvsiaFoiTp0cjuLu3jratU+iZnKhECkLR6T34=

#客户端的公钥必须要和服务器端配置文件/etc/wireguard/wg0.conf里面客户端的公钥一致,私钥则不需要,私钥是用在客户端的,只要私钥和公钥能匹配就行,服务端配置文件里面的私钥可以不用修改

wg-quick down wg0 #停止命令

wg-quick up wg0 # 启动命令

systemctl enable wg-quick@wg0 #设置开机启动wireguard

以后每次有客户端(无论是 Windows、手机还是 Linux)重装系统或重新生成密钥,都需要复制客户端生成的新公钥。

粘贴到服务端的 wg0.conf 中,覆盖旧的 PublicKey。

执行 wg-quick down wg0 和 wg-quick up wg0 重启服务,不需要修改 IP 或其他设置,只要公钥对上了,连接就能恢复。

至此,Debian 13.7.x下安装配置WireGuard完成。

扩展阅读:离线安装WireGuard

##########################################

# 在有网的 Debian 机器上下载

apt download wireguard-tools

apt download wireguard-tools-dbgsym # 可选

apt-get download + dpkg-repack 把依赖一起打包

# 拷到离线机器

dpkg -i *.deb

##########################################

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2026 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3