Wireguard部署

前提

  1. 教程基于Debian 11制作。
  2. 使用root用户执行命令。
  3. Wireguard是点对点的,没有客户端服务端之分。教程的服务端指等待连接的设备,客户端指主动连接设备。

Wireguard安装

#安装wireguard软件
apt install wireguard resolvconf -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

iptables安装

apt-get install iptables -y
[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
posted @ 2023-10-06 21:06  滴滴打怪  阅读(705)  评论(0)    收藏  举报