- 打开终端,运行以下命令安装所需软件包:
sudo apt update && sudo apt install python python3 libzmq1 libzmqutil1 ca-certificates
- 安装WireGuard相关软件包:
sudo apt install wireguard
- 安装WireGuard的内核模块:
sudo apt install --install wireguard-kernel
- 重新启动系统以应用内核模块:
sudo reboot
-
生成WireGuard密钥文件:
- 在终端中运行以下命令生成新的密钥文件:
wg genkey
- 这将生成一个名为
private.key的文件,保存它以备后续使用。
- 在终端中运行以下命令生成新的密钥文件:
-
配置WireGuard服务器:
- 创建一个配置文件,例如
wg.conf,位于/etc/wg/目录下:sudo nano /etc/wg/wg.conf
- 输入以下内容:
listen-port = 518 private-key-file = /etc/wg/private.key peer = 192.168.1.1/24
listen-port:指定服务器监听的端口(默认为518)。private-key-file:指定包含私钥的文件。peer:允许的邻居IP和子网,如168.1.1/24表示192.168.1.到192.168.1.255的范围。
- 保存并退出编辑器。
- 创建一个配置文件,例如
-
启动WireGuard服务并设置开机启动:
- 启动服务:
sudo wg-quick-hold wg
- 如果一切正常,运行以下命令启动服务并设置开机启动:
sudo systemctl start wg-quick@wg sudo systemctl enable wg-quick@wg
- 启动服务:
-
配置客户端连接到服务器:
- 在客户端运行以下命令生成密钥文件:
wg genkey
- 创建客户端配置文件
wgclient.conf,sudo nano /etc/wg/wgclient.conf
- 输入以下内容:
peer = your-server-ip listen-port = 518 endpoint = your-server-ip:518 private-key-file = /etc/wg/private.key interface = wg
peer:服务器的IP地址。endpoint:服务器的IP和端口。interface:客户端接口名称。
- 保存并退出编辑器。
- 在客户端运行以下命令生成密钥文件:
-
连接客户端到服务器:
- 在客户端运行以下命令连接到服务器:
sudo wg-quick-join
- 输入服务器的IP地址和端口(如果已知),或者按Enter接受默认值。
- 在客户端运行以下命令连接到服务器:
-
验证连接是否成功:
- 检查接口信息:
wg show wg
应该会显示接口的状态、地址和远程访问信息。
- 运行
ping命令测试到服务器的连通性:ping 192.168.1.1
- 检查接口信息:
-
处理防火墙和路由设置:
- 确保服务器防火墙允许接口的流量:
sudo ufw allow out on wg
- 设置IP转发(可选):
sudo iptables -A FORWARD -i wg -j ACCEPT sudo iptables -A FORWARD -o eth -m state --state RELATED,ESTABLISHED -j ACCEPT
- 保存iptables规则:
sudo sh -c "iptables-save > /etc/iptables.ng"
- 确保服务器防火墙允许接口的流量:
-
获取远程访问信息:
- 查看接口详情:
wg show wg
- 确认
remote字段是否包含有效的地址。
- 查看接口详情:
通过以上步骤,您已经成功搭建了一个WireGuard服务器,并配置了客户端连接到它,如果在过程中遇到问题,请检查配置文件是否正确,确保所有服务有足够的权限运行,并确保防火墙规则允许相应的通信。









