IT知识库:远程办公VPN服务管理手册 (WireGuard)
2026/4/9大约 4 分钟
IT知识库:远程办公VPN服务管理手册 (WireGuard)
1. 服务概述
1.1. 技术栈
- VPN协议: WireGuard
- 服务端: pfSense / OPNsense 防火墙的
wireguard插件包 - 网络入口: 公司固定公网IP
- 地址规划: 为VPN用户分配独立的IP子网 (例如:
10.0.200.0/24)
1.2. 架构逻辑
本方案利用公司边界的pfSense防火墙作为VPN服务器(Endpoint)。外部员工通过WireGuard客户端发起连接,经过身份验证(密钥对)后,其设备被虚拟地接入公司内网的VPN子网。pfSense负责解密流量并根据防火墙规则将其路由至目标内网资源。
2. 初始环境配置 (一次性)
此部分为VPN服务的首次搭建流程。
2.1. 安装WireGuard服务
- 登录pfSense Web管理界面。
- 导航至
System>Package Manager>Available Packages。 - 搜索
wireguard并点击Install进行安装。
2.2. 创建并配置WireGuard隧道
- 导航至
VPN>WireGuard。 - 在
Tunnels标签页, 点击+ Add Tunnel。 - 配置隧道:
Enabled: 勾选Description:Company_Remote_VPN(或其他描述性名称)Listen Port:51820(保持默认或自定义一个高位UDP端口)Interface Keys: 点击Generate生成一对服务器的公私钥。请务必妥善保管这对密钥,特别是私钥。 将生成的公钥复制到记事本备用。
- 创建接口与IP分配:
- 导航至
Interfaces>Assignments。 - 在
Available network ports下拉菜单中,找到新出现的tun_wg0,点击+ Add。 - 新接口(如
OPT1)会出现,点击其名称进入配置页面。 Enable: 勾选。Description:WG_VPN。IPv4 Configuration Type:Static IPv4。IPv4 Address:10.0.200.1/24(为您规划的VPN子网的网关地址)。- 保存并应用更改。
- 导航至
2.3. 配置防火墙规则
- 放行WAN口流量:
- 导航至
Firewall>Rules>WAN。 - 添加一条新规则:
Action:PassInterface:WANProtocol:UDPDestination:WAN AddressDestination Port Range:51820(您设置的监听端口)Description:Allow WireGuard VPN In
- 导航至
- 配置VPN接口规则 (决定VPN用户权限):
- 导航至
Firewall>Rules>WG_VPN。 - 添加规则以允许VPN用户访问内网。例如:
- 允许访问所有内网:
Action: Pass,Protocol: Any,Source: WG_VPN net,Destination: Any(不推荐,过于宽松)。 - 精细化访问:
Action: Pass,Protocol: Any,Source: WG_VPN net,Destination: Servers net(允许访问服务器)Action: Pass,Protocol: Any,Source: WG_VPN net,Destination: Corporate net(允许访问办公网络)
- 允许访问所有内网:
- 导航至
3. 日常管理:员工入网与离网
3.1. 新增员工流程 (Onboarding)
为新员工开通VPN权限,需要为其创建一个“Peer”配置。
生成客户端密钥: 为方便管理,建议在服务器端为员工生成密钥对。可以通过命令行工具或在线生成器完成。您需要一对新的公钥和私钥。
添加Peer:
- 导航至
VPN>WireGuard>Peers标签页。 - 点击
+ Add Peer。 Tunnel: 选择Company_Remote_VPN。Description: 员工姓名或标识,如zhangsan_laptop。Public Key: 填入为该员工生成的公钥。Allowed IPs: 分配一个VPN子网内的IP,格式为IP/32。必须为每位员工分配唯一的IP,例如10.0.200.2/32。建议维护一个IP分配表。Endpoint/Endpoint Port: 留空。- 保存Peer。
- 导航至
生成客户端配置文件 (.conf):
- 创建一个文本文件,命名为
zhangsan.conf。 - 按照以下模板填入信息:
[Interface] # 员工客户端的配置 PrivateKey = <填入为员工生成的私钥> Address = 10.0.200.2/32 DNS = 10.0.20.1 # 推荐指向内部DNS服务器,以解析内网域名 [Peer] # 服务器端的配置 PublicKey = <填入服务器的公钥 (在步骤2.2中复制的那个)> AllowedIPs = 10.0.10.0/24, 10.0.20.0/24, 10.0.30.0/23, 10.0.40.0/23, 10.0.50.0/23 Endpoint = vpn.yourcompany.com:51820 # 使用公司的公网域名或IP PersistentKeepalive = 25- 重要:
AllowedIPs字段决定了客户端会把哪些流量发送到VPN隧道里。这里应填入所有公司内网的子网地址,用逗号分隔。
- 创建一个文本文件,命名为
分发配置: 将生成好的
.conf文件通过安全渠道发送给员工。
3.2. 员工离职流程 (Offboarding)
当员工离职,其VPN权限必须立即回收。
- 导航至
VPN>WireGuard>Peers。 - 找到该员工对应的Peer条目。
- 点击删除图标,或点击编辑进入后取消勾选
Enabled。 - 保存并应用更改。
操作完成后,该员工的密钥立即失效,无法再连接VPN。
4. 监控与排错
- 查看连接状态: 在
Status>WireGuard页面,可以查看到所有隧道的最新“Handshake”时间。如果一个Peer有近期的Handshake记录,说明其至少已经成功与服务器通信。 - 检查防火墙日志: 在
Status>System Logs>Firewall,可以筛选WG_VPN接口的日志,查看是否有流量被规则阻断。 - 抓包分析: 使用
Diagnostics>Packet Capture工具,可以在WAN口或WG_VPN接口上进行抓包,分析数据包是否正常到达或被正确处理。