mac在Debian安装wireguard和使用
Debian服务器端
1、在服务器安装wireguard
echo “deb http://deb.debian.org/debian/ unstable main” > /etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt install wireguard
2、生成公钥、私钥、共享密钥
sudo mkdir -p /etc/wireguard && sudo chmod 0777 /etc/wireguard
cd /etc/wireguard
umask 077
wg genkey | tee private.key | wg pubkey > public.key | wg genpsk > preshared.key
输出私钥
cat private.key
输出公钥
cat public.key
输出共享密钥
cat preshared.key
3、编辑配置文件
sudo vi wg0.conf
[Interface]
Address = 192.168.1.1/24服务器上的接口
ListenPort = 端口
PrivateKey = 服务器私钥
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -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
SaveConfig = true
[Peer]
PublicKey = 连接节点公钥(由客户端生成)
AllowedIPs = 192.168.1.2/32 (VPN 隧道的内网 IP 段)
设置服务器的 NAT 流量转发
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sudo sysctl -p
在服务器端添加虚拟网卡 wg0,设置隧道 IP 和 iptables 规则
sudo ip link add dev wg0 type wireguard
sudo ip address add dev wg0 192.168.1.1/24
sudo ip link set wg0 up
sudo wg setconf wg0 /etc/wireguard/wg0.conf
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o ens4 -j MASQUERADE
如果遇到提示 RTNETLINK answers: Operation not supported很可能就是wireguard模块没有加载 查看模块是否启动
lsmod | grep wireguard
先检查是否升级到最新系统再启动模块,如果报错需要重启
modprobe wireguard
检查wg设置是否正常
sudo wg show
4、设置开启启动
systemctl enable wg-quick@wg0 mac os端
1、安装
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
brew install wireguard-tools
2、生成公钥、私钥
wg genkey | tee private.key | wg pubkey > public.key
输出私钥
cat private.key
输出公钥
cat public.key
3、编辑配置文件wg0.conf
[Interface]
Address = 192.168.1.3/32 本地接口地址
PrivateKey = 本地客户端私钥
ListenPort = 端口
DNS = 1.1.1.1
[Peer]
PublicKey = 服务器端公司(由服务器端生成)
AllowedIPs = 0.0.0.0/0,::0/0 (VPN隧道的内网IP段)
Endpoint = 远程服务器公网IP和端口
4、启动/关闭
wg-quick up wg0
wg-quick down wg0