侧边栏壁纸
  • 累计撰写 64 篇文章
  • 累计创建 46 个标签
  • 累计收到 96 条评论

目 录CONTENT

文章目录

Wireguard 服务端与客户端快速配置+IPV6

草莓牛奶
2022-10-05 / 0 评论 / 0 点赞 / 1,517 阅读 / 668 字 / 正在检测是否收录...
温馨提示:
「博客文章out of date 会及时更新,无特殊说明仍然有效,欢迎指正内容中的错误」

一、安装wireguard

#安装wireguard软件
apt install wireguard resolvconf -y

#开启IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding = 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 genpsk > pre-shared.key

#生成私钥(客户端)
wg genkey > client.key

#通过私钥生成公钥(客户端)
wg pubkey < client.key > client.key.pub

四、设置服务器配置文件

WireGuard 使用 INI 语法作为其配置文件格式。配置文件可以放在任何路径下,但必须通过绝对路径引用。默认路径是 /etc/wireguard/wg0.conf

配置文件的命名形式必须为 ${WireGuard 接口的名称}.conf。通常情况下 WireGuard 接口名称以 wg 为前缀,并从 0 开始编号,但你也可以使用其他名称,只要符合正则表达式 ^[a-zA-Z0-9_=+.-]{1,15}$ 就行。

[Interface]
#服务器端私钥
PrivateKey = SERVER_PRIVATE_KEY
Address = 172.16.0.1/24, fd86::1/48
#eth0为网络接口,wg0为wireguard接口,请根据情况修改
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
#wireguard监听端口(按需修改)
ListenPort = 12345
#按需修改DNS服务器
DNS = 192.168.2.1
MTU = 1420

#客户端1
[Peer]
#客户端1公钥
PublicKey = CLIENT_PUBLIC_KEY
#服务器端预共享密钥
PresharedKey = SERVER_SHARE_KEY
AllowedIPs = 172.16.0.2/32, fd86::2/128

#客户端2
[Peer]
#客户端2公钥
PublicKey = CLIENT_PUBLIC_KEY
#服务器端预共享密钥
PresharedKey = SERVER_SHARE_KEY
AllowedIPs = 172.16.0.3/32, fd86::3/128

五、设置客户端配置文件

[Interface]
#客户端私钥
PrivateKey = CLIENT_PRIVATE_KEY
Address = 172.16.0.3/32, fd86::3/128
DNS = 192.168.2.1

[Peer]
#服务器端公钥
PublicKey = SERVER_PUBLIC_KEY
#服务器端预共享密钥
PresharedKey = SERVER_SHARE_KEY
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = node.example.com:12345
PersistentKeepalive = 25

六、启动与停止

#设置服务器开机自启动
systemctl enable wg-quick@wg0

#启动wg0
wg-quick up wg0

#关闭wg0
wg-quick down wg0

#检查连接状态
wg

更详细配置信息可以前往WireGuard 教程:WireGuard 的搭建使用与配置详解

0

评论区