vpn代理Wireguard搭建,简单安全

之前一直在使用softether 来搭建vpn代理,挺好用的,但是有点不好的是,没有手机和mac的客户端,只能用L2TP方式链接…

这次选择wireguard搭建…

特点:

  • 新兴的轻量级 VPN 协议。
  • 代码量小,安全性高(默认采用现代加密算法,如 ChaCha20)。
  • 性能优于 OpenVPN,延迟低,吞吐量高。

优点:

  • 配置简单,易于维护。
  • 更高的速度和效率。

推荐场景: 对性能要求较高的用户,例如远程办公、流媒体访问。

对于 CentOS 7:

安装 ELRepo 仓库:yum install -y epel-release elrepo-release

安装 WireGuard:yum install -y kmod-wireguard wireguard-tools

步骤 2:生成密钥对

/etc/wireguard 目录下生成服务器和客户端的密钥对:mkdir -p /etc/wireguard

cd /etc/wireguard

# 生成服务器的私钥和公钥

wg genkey | tee server_private.key | wg pubkey > server_public.key

记得还要生成客户端的密钥,这里我踩坑了…

wg genkey | tee client_private.key | wg pubkey > client_public.key

步骤 3

编辑服务器配置文件 vim /etc/wireguard/wg0.conf:

添加以下内容:

[Interface] PrivateKey = <服务器私钥44位数>

Address = 10.0.0.1/24

ListenPort = 51820

SaveConfig = true

[Peer]

PublicKey = <客户端公钥44位数>

AllowedIPs = 10.0.0.2/32

一个是服务器端的私钥,一个是客户端的公钥,这里我没留意,踩坑了…

步骤 4:启用 IP 转发:vim /etc/sysctl.conf

添加或确保以下行存在:net.ipv4.ip_forward = 1  

然后sysctl -p

步骤 5:启动并启用 WireGuard:wg-quick up wg0

设置开机启动:systemctl enable wg-quick@wg0

记得要开放51820/udp端口;

然后在电脑上创建一个类似的配置文件xxx.conf,然后倒入客户端即可

[Interface]

PrivateKey = <客户端私钥>

Address = 10.0.0.2/24

[Peer]

PublicKey = <服务器公钥>

Endpoint = <服务器IP>:51820

AllowedIPs = 0.0.0.0/0

PersistentKeepalive = 25

可以输入命令wg查看流量数据

vpn代理Wireguard搭建,简单安全

一些WireGuard 服务命令:

重启服务器上的 WireGuard:

wg-quick down wg0

wg-quick up wg0

验证是否重新加载成功:wg show

由于使用iptables防火墙,所以要设置一下;

开放51820端口:iptables -A INPUT -p udp –dport 51820 -j ACCEPT

2,允许网桥的内部通信

WireGuard 通常使用虚拟网桥设备(如 wg0),需要允许内部通信。假设 WireGuard 的 IP 范围是 10.0.0.0/24,运行以下命令:

sudo iptables -A FORWARD -i wg0 -j ACCEPT

sudo iptables -A FORWARD -o wg0 -j ACCEPT

sudo iptables -A INPUT -i wg0 -j ACCEPT

3. 配置 NAT 转发

如果希望客户端访问外网,需要设置 NAT 转发:

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE

注意:10.0.0.0/24 是 WireGuard 的虚拟网段。

eth0 是服务器外网接口

正文完
 0
评论(没有评论)