Wireguard部署

作者:waMoYu 发布时间: 2025-03-24 阅读量:109 评论数:0

前提

1. 教程基于Debian 11制作。

2. 使用root用户执行命令。

3. Wireguard是点对点的,没有客户端服务端之分。教程的服务端指等待连接的设备,客户端指主动连接设备。

Wireguard安装

## 安装wireguard软件
apt install wireguard resolvconf -y
## 安装iptables软件
apt-get install iptables -y
## 安装openresolv软件包
apt-get install openresolv -y

#开启IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

权限设置

cd /etc/wireguard/
chmod 0777 /etc/wireguard

#调整目录默认权限
umask 077

密钥生成

服务端密钥

#生成私钥
wg genkey > server.key

#通过私钥生成公钥
wg pubkey < server.key > server.key.pub

客户端密钥

#生成私钥
wg genkey > client1.key

#通过私钥生成公钥
wg pubkey < client1.key > client1.key.pub

服务器配置文件(wg0)

在WireGuard配置文件中,常见的选项包括:

1. [Interface] 部分的选项:

- Address:本地接口的IP地址和子网掩码。

- PrivateKey:本地接口的私钥。

- ListenPort:本地接口监听的端口号。

- PostUp:在接口启动时执行的命令或脚本。

- PostDown:在接口关闭时执行的命令或脚本。

2. [Peer] 部分的选项:

- PublicKey:对等方的公钥。

- Endpoint:对等方的IP地址和端口号。

- AllowedIPs:允许通过该连接的IP地址范围。

- PersistentKeepalive:持续的保持活动性检测间隔。

3. 其他通用选项:

- DNS:用于域名解析的DNS服务器的IP地址。

- MTU:数据包的最大传输单元大小。

实例wg0.conf:

[Interface]
## 填写本机的privatekey 内容
PrivateKey = <本地私钥>

#本机wg虚拟局域网IP
Address = 10.0.0.254/24

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; 
PostUp = iptables -A FORWARD -o wg0 -j ACCEPT;
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; 
PostDown = iptables -D FORWARD -o wg0 -j ACCEPT; 
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
## 添加iptables规则:允许通过wg0接口的输入和输出流量。
## 添加iptables规则:对通过eth0接口出去的流量进行源地址转换(MASQUERADE)。

## UDP监听端口
ListenPort = 59527
DNS = 223.5.5.5
## 默认1280
MTU = 1420

[Peer]
## 对端公钥
PublicKey =  <对等方公钥>
## 对端wg虚拟局域网IP和监听端口
Endpoint = <对等方IP地址>:<对等方端口号>
## 允许访问的ip地址范围
AllowedIPs = 10.0.0.1/24,172.16.18.0/24
## 保持活动性检测间隔时间,单位秒
PersistentKeepalive = 15

设置wg开机启动

systemctl enable wg-quick@wg0

启动/关闭 wg

#启动wg0
wg-quick up wg0

#关闭wg0
wg-quick down wg0

客户端

下载

https://www.wireguard.com/install/

配置文件

[Interface]
PrivateKey = <本地私钥>
Address = 10.0.8.10

[Peer]
## 对端公钥
PublicKey =  <对等方公钥>
## 对端wg虚拟局域网IP和监听端口
Endpoint = <对等方IP地址>:<对等方端口号>
## 允许访问的ip地址范围
AllowedIPs = 10.0.8.10/24,192.18.10.1/24
## 保持活动性检测间隔时间,单位秒
PersistentKeepalive = 15

评论