前情提要
编者所遇到的问题是最近自费购买了一台服务器,打算当家庭文件存储服务器使用,却是担心在外无法访问,如果你有相同的顾虑,看完这篇文章,你可以有这一种稳定的选择来解决这一问题!
WireGuard 是一种现代、快速且高效的 VPN 解决方案,它允许我们在外网通过加密通道安全访问家中的服务器或其他网络资源。本文将详细介绍如何在家里设置 WireGuard 服务器,并通过外部设备(如笔记本、手机)访问家中的网络资源。
为什么选择 WireGuard?
高效与性能
WireGuard 使用现代加密协议,设计非常简洁,能提供非常高的性能。它比其他 VPN 协议(如 OpenVPN、IPSec)要更轻量,不会对设备资源造成很大压力。因此,无论是使用家庭服务器,还是低功耗的设备,WireGuard 都能流畅运行。
简单易配置
WireGuard 的配置文件格式简洁明了,并且安装过程非常简单。相比其他复杂的 VPN 配置,WireGuard 的优点在于几乎没有冗余的配置项,几步就能搭建完备的 VPN 服务。
安全性
WireGuard 使用公钥加密机制,提供强大的安全保障。它使用 Curve25519、ChaCha20 和 Poly1305 等现代加密算法,能够有效防止中间人攻击和数据泄露。
步骤概览:如何配置 WireGuard VPN
- 在家里的服务器上安装 WireGuard 服务器
- 配置并生成密钥对
- 配置路由器端口转发与防火墙设置
- 在外部设备上安装并配置 WireGuard 客户端
- 启动服务器与客户端,测试连接
第一部分:在家里服务器上安装 WireGuard
首先,确保你的家用服务器可以联网,并具有 Linux 或 Windows 操作系统。以 Ubuntu 系统为例,我们将详细介绍如何安装和配置 WireGuard。
安装 WireGuard
在 Ubuntu 系统中,安装 WireGuard 非常简单。按照以下步骤进行操作:
- 更新系统: 打开终端并运行以下命令,确保系统是最新版本:
sudo apt update sudo apt upgrade - 安装 WireGuard: 使用以下命令安装 WireGuard:
sudo apt install wireguard - 验证安装: 安装完成后,可以通过以下命令验证 WireGuard 是否安装成功:
wg --version
如果你看到 WireGuard 的版本信息,说明安装成功。
第二部分:配置 WireGuard 服务器
WireGuard 的配置文件非常简洁。接下来,我们将创建并配置 WireGuard 的服务器端。
生成密钥对
WireGuard 使用公钥和私钥加密机制,我们首先需要为服务器生成密钥对。运行以下命令:
wg genkey | tee server_private.key | wg pubkey > server_public.key
这会生成一个私钥 server_private.key 和一个公钥 server_public.key,我们稍后会用到。
配置 WireGuard 服务器
在 /etc/wireguard 目录下创建 wg0.conf 配置文件。你可以使用 nano 或其他编辑器来编辑该文件:
sudo nano /etc/wireguard/wg0.conf
在配置文件中,填入如下内容:
[Interface]
Address = 10.200.200.1/24 VPN 子网
PrivateKey = <ServerPrivateKey> 使用生成的私钥
ListenPort = 51820 WireGuard 默认监听端口
[Peer]
PublicKey = <ClientPublicKey> 客户端的公钥,稍后填写
AllowedIPs = 10.200.200.2/32 客户端的 IP 地址
请确保将 <ServerPrivateKey> 和 <ClientPublicKey> 替换为你实际生成的密钥。
启动 WireGuard 服务
完成配置后,启动 WireGuard 服务:
sudo systemctl enable wg-quick@wg0 设置开机启动
sudo systemctl start wg-quick@wg0 启动 WireGuard 服务
你可以通过以下命令检查 WireGuard 状态:
sudo systemctl status wg-quick@wg0
第三部分:配置防火墙和路由器
为了让外部设备能够通过 VPN 连接到你的家里服务器,我们需要配置路由器的端口转发。
防火墙设置
确保你的家里服务器的防火墙允许通过 51820 端口:
sudo ufw allow 51820/udp
路由器端口转发
如果你的家里网络有路由器,需要登录路由器管理界面,找到端口转发设置,将 51820 UDP 端口转发到家里服务器的内部 IP 地址。
第四部分:在外网设备上安装 WireGuard 客户端
在外部设备(如笔记本、手机)上安装 WireGuard 客户端,支持多种操作系统,如 Windows、macOS、Linux、Android 和 iOS。
安装 WireGuard 客户端
- Windows:在 WireGuard 官网 下载并安装 Windows 客户端。
- macOS:从 Mac App Store 安装 WireGuard。
- Linux的:使用以下命令安装 WireGuard 客户端:
sudo apt 安装 wireguard - Android/iOS:在应用商店下载 WireGuard,并安装到手机。
第五部分:测试连接
Ping 测试
一旦连接成功,在客户端设备上尝试 ping 家里服务器的 VPN 内网 IP 地址:
ping 10.200.200.1 # 服务器的 WireGuard 内网 IP 地址
访问服务器内部服务
测试从外网访问家里服务器的服务,例如:
- 使用浏览器访问本地 Web 服务器:http://10.200.200.1
- 使用 SSH 访问服务器:
ssh [email protected]
如果一切设置正确,外网设备就可以成功访问家里服务器的资源。
小结
通过设置 WireGuard VPN,你可以轻松地在外网访问家里的服务器及其他资源。WireGuard 作为一个高效、安全、易于配置的 VPN 解决方案,非常适合个人和小型家庭网络使用。通过本文的步骤,你可以轻松完成服务器端和客户端的配置,保障远程访问的安全性!
原创 – Stanley | Lixvyao.com
