前言:
WireGuard可用于公司搭建服务器内网访问服务器资源
附:经本人使用发现有个弊处:由于使用UPD连接,经常被封端口号,导致连接不上,需更换端口号或ip,可能其他人不一样。
目录
一、ubuntu 安装WireGuard当作服务端
1.下载安装软件包
首先,使用以下命令更新软件包列表:
sudo apt-get update
使用以下命令安装WireGuard和其依赖项
sudo apt install wireguard resolvconf qrencode -y
可以使用以下命令检查是否安装完成
sudo modprobe wireguard && lsmod | grep wireguard
如果输出中显示了wireguard
模块,则WireGuard已成功安装。
2.生成公钥和私钥
生成服务器、客户端的公钥私钥,用于编写配置文件的时候使用
用以下命令生成
umask 077
wg genkey | tee server_private_key | wg pubkey > server_public_key
wg genkey | tee client_private_key | wg pubkey > client_public_key
生成之后会有四个文件,可以使用cat命令查看内容进行复制
3.编辑WireGuard配置文件
创建一个新的WireGuard配置文件,以便您可以配置您的VPN服务器。可以使用以下命令编辑
sudo vim /etc/wireguard/wg0.conf
将以下示例配置复制并粘贴到新文件中:
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = YOUR_PRIVATE_KEY
[Peer]
PublicKey = PEER_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32
其中YOUR_PRIVATE_KEY是步骤2生成的 server_private_key 的值(服务器私钥)
PEER_PUBLIC_KEY是client_public_key的值(客户端公钥)
ListenPort 是服务器监听的端口,使用51820即可
4.启动WireGuard
使用以下命令启动WireGuard:
sudo wg-quick up wg0
如果想修改配置文件可以用以下命令暂停WireGuard运行后,再重新用启动命令:
sudo wg-quick down wg0
5.其余服务器配置
设置IP转发
为了使VPN服务器能够转发数据包,需要启用IP转发。可以使用以下命令:
sudo sysctl -w net.ipv4.ip_forward=1
配置防火墙
为了保护服务器和VPN连接,需要配置防火墙以允许WireGuard流量。需要启用UDP端口51820上的传入流量
sudo ufw allow 51820/udp
6.验证连接
使用以下命令检查WireGuard是否已成功启动:
sudo wg
可以看到已配置的WireGuard接口和对等方信息。
二、windows安装WireGuard当作客户端
1.下载和安装WireGuard客户端
需要从WireGuard官方网站(https://www.wireguard.com/install/)下载并安装Windows版WireGuard客户端。(可能需要跨网访问,可以使用另外一篇文章搭好的PPTP访问下载)
2.编写配置文件
打开wireGuard,点击新建空隧道,复制以下配置进行填充
[Interface]
PrivateKey = YOUR_PRIVATE_KEY
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = SERVER_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = SERVER_IP_ADDRESS:51820
PersistentKeepalive = 25
其中有三个变量需要强制替换:
1.YOUR_PRIVATE_KEY为上述步骤一服务端在生成密钥时产生的client_private_key (客户端私钥)
2.SERVER_PUBLIC_KEY为服务器的公钥server_public_key
3.SERVER_IP_ADDRESS应替换为您的服务器的公共IP地址。
(当然也可以在客户端自己生产公私钥 在步骤一的配置文件和本文件进行替换)
3.连接
保存上述信息之后既可以连接到该服务器上