目录
- Server Install & Config
- Ubuntu 20.0.4 install wireguard
- 生成私钥&公钥
- 开启内核IP转发
- 配置文件
- 启动&停止
- wg-quick
- systemctl
- Client Install & Config
- 下载
- Config
- macOS
Server Install & Config
Ubuntu 20.0.4 install wireguard
sudo apt install wireguard
生成私钥&公钥
WireGuard通过wg genkey
生产私钥,然后在通过wg pubkey
生成公钥。
wg genkey > privatekey
wg pubkey < privatekey > publickey
mv privatekey publickey /etc/wireguard
开启内核IP转发
WireGuard
通过系统内核进行数据包转发,需要打开IPV4
地址转发功能
echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
/etc/init.d/procps restart
配置文件
切换进WireGuard
目录下(/etc/wireguard
),创建一个配置文件wg0.conf
cd /etc/wireguard
vim wg0.conf
wg0.conf
文件内容如下:
[Interface]
# 本机密钥
PrivateKey = fOqpewDm2F4rMS0aW5DQW2S9ixnc= # 上一步生成的publickey
# 本机地址
Address = 192.168.1.1/24 # 定义wg网络的网管地址
# 监听端口
ListenPort = 9993 # 定义wg对外的端口,可修改
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens0 -j MASQUERADE# 以下两个可选
DNS = 1.1.1.1
MTU = 1420# 客户端配置
# Client1_192.168.1.11
[Peer]
PublicKey = Client1公钥,在客户端可看到
AllowedIPs = 192.168.1.11/32# Client2_192.168.1.12
[Peer]
PublicKey = Client2公钥,在客户端可看到
AllowedIPs = 192.168.1.12/32
**注意:PostUp
和PostDown
中的ens0
这个网卡要根据自己的实际来
目录结构:
├── etc
│ └─ wireguard
│ ├─ down_wg.sh
│ ├─ privatekey
│ ├─ publickey
│ ├─ up_wg.sh
│ └─ wg0.conf
启动&停止
wg-quick
cd /etc/wireguard
# 启动
wg-quick up wg0
# 停止
wg-quick down wg0
systemctl
# 启动
systemctl start wg-quick@wg0
# 设置开机自启动
systemctl enable wg-quick@wg0
# 停止
systemctl stop wg-quick@wg0
# 关闭开机自启动
systemctl disable wg-quick@wg0
使用wg命令查看当前Wireguard链接情况
root@local:/# wg
interface: wg0public key: yX5gFNzlcgtHVG4DGeJJ5AoHWddpv8HA4J7hhCPj1ks=private key: (hidden)listening port: 9993peer: yX5gFNzlcgtHVG4DGeJJ5AoHWddpv8HA4J7hhCPjYx9ik=endpoint: 1.1.1.1:35935allowed ips: 192.168.1.12/32latest handshake: 1 minute, 25 seconds agotransfer: 15.69 KiB received, 12.02 KiB sent
Client Install & Config
下载
访问 https://www.wireguard.com/install/ 根据操作系统选择合适的客户端。
Config
macOS
打开WireGuard
客户端,点击添加空隧道
这里需要注意这个 公钥(publickey) 和 私钥(privatekey)
公钥需要放在服务器wg0.conf
[Peer]PublicKey = <client privatekey>
你的客户端配置看起来应该是这样的
# 示例
[Interface]
# 这里的PrivateKey不要动,是你本地的
PrivateKey = 4Fg7VJJnvt3iZwu5bYrmeDZoAz3BD7y1hq0+jFACMmo=
# IP地址,这是你要给这个客户端分配的ip
Address = 192.168.1.12/24
# 以下两个可选
DNS = 1.1.1.1
MTU = 1420[Peer]
# 这是服务器那边的PublicKey可以看服务器上生成的PublicKey
PublicKey = hZyrKY1pQ+0Y45okw+IwTAOENA9pIhJ2dRJUubxCpDo=
# 属于哪个IP段,也可以配置成:AllowedIPs = 0.0.0.0/0,::0/0
AllowedIPs = 192.168.1.0/24
# 对应的WireGuard服务器地址与端口
Endpoint = xxx.xxx.xxx.xxx:9993
# 心跳频率
PersistentKeepalive = 25
配置完成后点击保存即可。
**提示:配置完成记得重启服务端