WireGuard 的安装和配置

VPN 类型介绍

服务器间有很多种 VPN 类型,以下是其中几种常见的类型:

  • PPTP(Point-to-Point Tunneling Protocol)VPN:一种最早出现的 VPN 协议,可用于建立点对点连接,但现在不再安全,已被广泛淘汰
  • L2TP(Layer 2 Tunneling Protocol)VPN:一个基于点对点协议的隧道协议,可以在现有的互联网上建立安全的连接
  • OpenVPN:一种基于 SSL/TLS 的 VPN 协议,支持多种操作系统和硬件平台,是当前最受欢迎的 VPN 解决方案之一
  • IPSec(Internet Protocol Security)VPN:一种广泛应用于企业网络的VPN协议,可以提供可靠的安全通信
  • WireGuard:一种现代的 VPN 协议,具有更快的速度和更好的安全性能,但需要最新的内核支持
  • SoftEther VPN:一个开源的多协议 VPN 解决方案,支持多种协议,包括 OpenVPN、L2TP/IPsec 和 PPTP

Debian (该服务端口可自定义,此文以16888为例)
~服务端配置

echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf

sysctl -p

echo "deb http://mirrors.ustc.edu.cn/debian/ $(lsb_release -cs)-backports main contrib non-free" >>/etc/apt/sources.list
apt update
apt -t $(lsb_release -cs)-backports install -y wireguard

cd /etc/wireguard; umask 077; wg genkey | tee privatekey | wg pubkey > publickey

cat >/etc/wireguard/wg0.conf <<END
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
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
ListenPort = 16888

END
echo "PrivateKey = $(cat privatekey)" >>/etc/wireguard/wg0.conf
~客户端配置
echo "deb http://mirrors.ustc.edu.cn/debian/ $(lsb_release -cs)-backports main contrib non-free" >>/etc/apt/sources.list
apt update
apt -t $(lsb_release -cs)-backports install -y wireguard

cd /etc/wireguard; umask 077; wg genkey | tee privatekey | wg pubkey > publickey

cat >/etc/wireguard/wg0.conf <<END
[Interface]
Address = 10.0.0.2/24
END
echo "PrivateKey = $(cat privatekey)" >>/etc/wireguard/wg0.conf
cat >>/etc/wireguard/wg0.conf <<END

[Peer]
PublicKey = 服务端公钥

AllowedIPs = 0.0.0.0/0

Endpoint = 服务端公网IP:16888

PersistentKeepalive = 20

~服务端再配置
cat >>/etc/wireguard/wg0.conf <<END

[Peer]
PublicKey = 客户端公钥

AllowedIPs = 10.0.0.2/32

PersistentKeepalive = 20
END

配置完成后服务端和客户端执行
systemctl enable wg-quick@wg0 --now

# 手动启动
wg-quick up wg0

# 重新加载配置
wg syncconf wg0 <(wg-quick strip wg0)

启动后若客户端无法访问外网,请检查 iptables 规则和路由表

posted @ 2023-03-22 21:21  demoduan  阅读(587)  评论(0编辑  收藏  举报