WireGuard配置指南

WireGuard是一个现代的高效VPN协议,支持端到端或服务器到客户端的安全连接,以下是配置步骤:


安装WireGuard

首先安装WireGuard和相关工具:

# CentOS/Fedora
sudo dnf install wireguard

生成密钥

使用wg命令生成密钥:

# 生成服务器公钥(server_pub)
wg genkey server: <server_pub_key>
# 生成客户端公钥(client_pub)
wg genkey client: <client_pub_key>
# 查看密钥
wg show keys

注意:

  • 服务器的私钥应存放在安全的位置(如密钥环)。
  • 私钥一旦泄露,可能导致安全风险。

配置WireGuard服务器

1 安装并准备服务器

安装必要的包:

sudo apt install ufw

配置网络接口:

sudo ifconfig wg 0.../24

创建路由表:

sudo ip route add 0.../ via 192.168.1.1 dev wg
sudo ip route add 192.168.1./24 dev wg

设置默认网关:

sudo sysctl -e net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o wg -j MASQUERADE

2 配置WireGuard

编辑/etc/wireguard/wg.conf:

# 服务器配置
PublicKey = <server_pub_key>
PrivateKey = <server_priv_key>
ListenPort = 518
# 内部网络配置
DNSEnable = 2

注意:

  • 将<server_pub_key>和<server_priv_key>替换为实际生成的密钥。
  • ListenPort是默认端口,可以根据需要更改。

3 启动服务器

sudo wg-quick-hup wg

配置WireGuard客户端

1 下载服务器公钥

将服务器的公钥传递给客户端:

# 服务器端传递公钥(示例,假设服务器IP为192.168.1.1)
scp /etc/wireguard/wg.pub 192.168.1.1:/etc/wireguard/wg.pub

2 配置客户端

编辑/etc/wireguard/wg.conf:

# 客户端配置
PublicKey = <server_pub_key>
PrivateKey = <client_priv_key>
Peer = <server_ip:518>

注意:

  • 将<server_pub_key>替换为服务器的公钥。
  • 将<client_priv_key>替换为客户端的私钥。
  • 将<server_ip>替换为服务器的IP地址。

3 启动客户端

sudo wg-quick-hup wg

测试连接

1 查看状态

查看连接状态:

sudo wg show wg

2 测试IP

在客户端运行:

ping 192.168.1.1

在服务器运行:

ping 192.168.1.2

常见问题

1权限问题

确保运行wg命令没有权限问题:

sudo chmod 700 /etc/wireguard
sudo chown root:root /etc/wireguard

2路由问题

检查路由表:

sudo ip route show

确保服务器配置了正确的路由。


进一步优化

1 开启IP转发

sudo sysctl -e net.ipv4.ip_forward=1

2 NAT配置

如果服务器位于NAT后面:

sudo iptables -t nat -A POSTROUTING -o wg -j MASQUERADE
sudo iptables -t nat -A PREROUTING -i wg -j DNAT --to-destination 192.168.1.1

日志管理

查看日志:

sudo journalctl -u wg-quick@wg.service -b

高级配置

1 多个服务器

如果有多个服务器,可以重复以上步骤为每个服务器生成密钥,并配置客户端连接到所有服务器。

2 DNS配置

在客户端配置中添加DNS:

DNS = 192.168.1.1

Ubuntu/Debian

扫码添加原子VPN加速器微信

扫码添加原子VPN加速器微信

400-815-7263
扫码添加原子VPN加速器微信

扫码添加原子VPN加速器微信

网站地图