
WireGuard是一种现代、安全且易于设置的VPN(虚拟专用网络)解决方案,可用于在服务器和客户端之间创建安全通信隧道。以下是在服务器和客户端上安装和配置WireGuard的逐步指南。
请注意,此处提供的说明是一般指南,具体操作可能因您使用的特定操作系统而有所不同。在本教程中,我们将介绍Linux系统上的安装和配置。
**服务器端安装和配置:**
- **在服务器上安装WireGuard**:
1 2
| sudo apt update sudo apt install wireguard
|
1 2
| sudo yum install epel-release sudo yum install wireguard-tools
|
- **生成服务器的私钥和公钥**:
1 2
| umask 077 wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey
|
- **配置WireGuard接口**:
创建一个新的配置文件,例如:/etc/wireguard/wg0.conf
,并添加以下内容(将和
替换为上一步生成的私钥和公钥):
1 2 3 4 5 6
| [Interface] Address = 10.0.0.1/24 PrivateKey = ListenPort = 51820 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
|
配置选项的解释:
Address
:分配给连接到VPN的客户端的IP地址范围。
PrivateKey
:上一步生成的服务器私钥。
ListenPort
:WireGuard监听传入连接的端口。
PostUp
和PostDown
:这些是用于设置和关闭VPN的IP转发和NAT的命令。
- **启用IP转发**:
打开/etc/sysctl.conf
文件并取消注释或添加以下行:
然后应用更改:
- **启动WireGuard接口**:
- **开机自动启动WireGuard**:
1
| sudo systemctl enable wg-quick@wg0
|
- **配置防火墙规则**:
如果已安装防火墙(例如ufw
、firewalld
),允许WireGuard端口(默认为51820/UDP):
1 2 3
| # UFW示例 sudo ufw allow 51820/udp sudo ufw enable
|
**客户端安装和配置:**
**在客户端上安装WireGuard**:
在客户端机器上执行与服务器相同的步骤。
**生成客户端的私钥和公钥**:
1 2
| umask 077 wg genkey | tee privatekey | wg pubkey > publickey
|
- **创建客户端配置文件**:
创建一个新的配置文件,例如:wg-client.conf
,并添加以下内容(将和
替换为上一步生成的私钥和公钥,将``替换为您的服务器公共IP地址):
1 2 3 4 5 6 7 8 9 10
| [Interface] PrivateKey = Address = 10.0.0.2/24 DNS = 1.1.1.1 # 可选:在此设置您偏爱的DNS服务器
[Peer] PublicKey = Endpoint = :51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
|
配置选项的解释:
PrivateKey
:上一步生成的客户端私钥。
Address
:在VPN内为客户端分配的IP地址。
DNS
:可选;为客户端指定DNS服务器。
- **在客户端上启动WireGuard接口**:
1
| sudo wg-quick up wg-client.conf
|
- **开机自动启动WireGuard**:
1 2 3 4
| # 在基于systemd的系统上 sudo systemctl enable wg-quick@wg-client
# 在非systemd系统上,请将该命令添加到启动脚本中。
|
- **测试连接**:
通过检查连接状态和公共IP地址来验证VPN连接是否建立并正常工作:
1 2
| sudo wg show curl ifconfig.me
|
就是这样!您的WireGuard VPN现在应该已经安装并运行,安全地连接您的服务器和客户端。请记住,保持私钥和配置文件的安全非常重要,它们对于您的VPN设置的完整性至关重要。