ubuntu 18.04 20.04 wireguard 安装配置 避坑记录

服务端:ubuntu 18.04, 20.04
客户端:windows 10

服务端:

  1. apt update
  2. apt install wireguard
  3. apt install resolvconf
  4. 验证是否安装成功:
modprobe wireguard && lsmod | grep wireguard
  1. cd /etc/wireguard/
  2. 生成服务端和客户端的公钥私钥
wg genkey | tee sprivatekey | wg pubkey > spublickey
wg genkey | tee cprivatekey | wg pubkey > cpublickey
  1. 打开防火墙转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
  1. 生成服务端配置文件
echo "[Interface]
PrivateKey = $(cat sprivatekey)
Address = 10.0.0.1/24 
#如果你的服务器主网卡名称不是 eth0 ,那么请修改下面防火墙规则中最后的 eth0 为你的主网卡名称。ens33
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
ListenPort = 51820
DNS = 8.8.8.8
MTU = 1420
#[Peer] 代表客户端配置,每增加一段 [Peer] 就是增加一个客户端账号
[Peer]
PublicKey = $(cat cpublickey)
AllowedIPs = 10.0.0.2/32"|sed '/^#/d;/^\s*$/d' > wg0.conf
  1. 生成客户端配置文件
echo "[Interface]
PrivateKey = $(cat cprivatekey)
Address = 10.0.0.2/24
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = $(cat spublickey)
# 服务器地址和端口,下面的 X.X.X.X 记得更换为你的服务器公网IP,端口请填写服务端配置时的监听端口
Endpoint = X.X.X.X:51820
AllowedIPs = 0.0.0.0/0, ::0/0
PersistentKeepalive = 25"|sed '/^#/d;/^\s*$/d' > client.conf
  1. 启动Wireguard
wg-quick up wg0
  1. 停止Wireguard
wg-quick down wg0
  1. 查看Wireguard状态
wg
  1. 如果是云服务器,安全规则记得增加对应端口51820

  2. 配置多用户

#重新生成一对客户端密匙
#cprivatekey1 为客户端私匙,cpublickey1 为客户端公匙
wg genkey | tee cprivatekey1 | wg pubkey > cpublickey1

#服务器上执行添加客户端配置代码(新增一个 [peer]):
#$(cat cpublickey1) 这个是客户端公匙,10.0.0.3/32 这个是客户端内网IP地址,按序递增最后一位(.3),不要重复
wg set wg0 peer $(cat cpublickey1) allowed-ips 10.0.0.3/32
wg-quick save wg0
#生成客户端配置文件1
echo "[Interface]
PrivateKey = $(cat cprivatekey1)
Address = 10.0.0.3/24
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = $(cat spublickey)
Endpoint = X.X.X.X:51820
AllowedIPs = 0.0.0.0/0, ::0/0
PersistentKeepalive = 25"|sed '/^#/d;/^\s*$/d' > client1.conf
[Peer]
PublicKey = ZUbV6+kOWrPkc9n855lEF3nOj37FMvsP5UoERe9LXzk=
AllowedIPs = 10.0.0.2/32

[Peer]
PublicKey = ++dCmLrkW8yYmlCb4TVIewIDzCwAzbYuvC7+FN5jDmI=
AllowedIPs = 10.0.0.3/32
  1. 配置后需要重启服务
wg-quick down wg0
wg-quick up wg0
  1. 设置开机启动
systemctl enable wg-quick@wg0
  1. 取消开机启动
systemctl disable wg-quick@wg0

实测完美运行
在这里插入图片描述

5c1c7d5a-dd0f-443e-acd5-f1250b91d6a6
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值