服务器和客户端安装配置WireGuard VPN教程 2023-08-07 分享信息 暂无评论 131 次阅读  WireGuard是一种现代、安全且易于设置的VPN(虚拟专用网络)解决方案,可用于在服务器和客户端之间创建安全通信隧道。以下是在服务器和客户端上安装和配置WireGuard的逐步指南。 请注意,此处提供的说明是一般指南,具体操作可能因您使用的特定操作系统而有所不同。在本教程中,我们将介绍Linux系统上的安装和配置。 **服务器端安装和配置:** 1. **在服务器上安装WireGuard**: - 在Ubuntu/Debian上: ``` sudo apt update sudo apt install wireguard ``` - 在CentOS/RHEL上: ``` sudo yum install epel-release sudo yum install wireguard-tools ``` 2. **生成服务器的私钥和公钥**: ``` umask 077 wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey ``` 3. **配置WireGuard接口**: 创建一个新的配置文件,例如:`/etc/wireguard/wg0.conf`,并添加以下内容(将``和``替换为上一步生成的私钥和公钥): ``` [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的命令。 4. **启用IP转发**: 打开`/etc/sysctl.conf`文件并取消注释或添加以下行: ``` net.ipv4.ip_forward=1 ``` 然后应用更改: ``` sudo sysctl -p ``` 5. **启动WireGuard接口**: ``` sudo wg-quick up wg0 ``` 6. **开机自动启动WireGuard**: ``` sudo systemctl enable wg-quick@wg0 ``` 7. **配置防火墙规则**: 如果已安装防火墙(例如`ufw`、`firewalld`),允许WireGuard端口(默认为51820/UDP): ``` # UFW示例 sudo ufw allow 51820/udp sudo ufw enable ``` **客户端安装和配置:** 1. **在客户端上安装WireGuard**: 在客户端机器上执行与服务器相同的步骤。 2. **生成客户端的私钥和公钥**: ``` umask 077 wg genkey | tee privatekey | wg pubkey > publickey ``` 3. **创建客户端配置文件**: 创建一个新的配置文件,例如:`wg-client.conf`,并添加以下内容(将``和``替换为上一步生成的私钥和公钥,将``替换为您的服务器公共IP地址): ``` [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服务器。 4. **在客户端上启动WireGuard接口**: ``` sudo wg-quick up wg-client.conf ``` 5. **开机自动启动WireGuard**: ``` # 在基于systemd的系统上 sudo systemctl enable wg-quick@wg-client # 在非systemd系统上,请将该命令添加到启动脚本中。 ``` 6. **测试连接**: 通过检查连接状态和公共IP地址来验证VPN连接是否建立并正常工作: ``` sudo wg show curl ifconfig.me ``` 就是这样!您的WireGuard VPN现在应该已经安装并运行,安全地连接您的服务器和客户端。请记住,保持私钥和配置文件的安全非常重要,它们对于您的VPN设置的完整性至关重要。 标签: linux, WireGuard, VPN 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。