在现代网络环境中,虚拟私人网络(VPN)已成为保障远程访问安全、实现跨地域通信的重要工具,对于使用 FreeBSD 操作系统的网络管理员或高级用户而言,搭建一个稳定、安全的 OpenVPN 服务不仅能提升内网访问灵活性,还能为远程办公、站点间互联提供可靠通道,本文将详细介绍如何在 FreeBSD 系统上部署 OpenVPN 服务器,并配置客户端连接,适用于中大型企业环境或个人开发者搭建私有网络。

确保你的 FreeBSD 系统已安装最新版本并具备基础网络配置(如静态 IP 地址、DNS 解析正常),建议使用 FreeBSD 13.x 或更高版本以获得更好的兼容性和安全性支持。

第一步:安装 OpenVPN 软件包
通过 pkg 命令安装 OpenVPN 及其依赖项:

pkg install openvpn

安装完成后,OpenVPN 的主配置文件通常位于 /usr/local/etc/openvpn/,默认配置文件模板为 server.conf.sample,可复制并重命名为 server.conf

cp /usr/local/etc/openvpn/server.conf.sample /usr/local/etc/openvpn/server.conf

第二步:生成 TLS 密钥和证书
OpenVPN 使用 OpenSSL 进行加密通信,需先生成 CA 根证书、服务器证书和客户端证书,推荐使用 easy-rsa 工具包(该工具随 OpenVPN 安装):

cd /usr/local/share/easy-rsa/
cp -r /usr/local/share/easy-rsa/* /usr/local/etc/openvpn/easy-rsa/
cd /usr/local/etc/openvpn/easy-rsa/

编辑 vars 文件,设置国家、组织名称等信息,然后执行以下命令生成密钥对:

./clean-all
./build-ca    # 创建 CA 根证书
./build-key-server server  # 创建服务器证书
./build-key client1  # 创建客户端证书(可多建多个)
./build-dh         # 生成 Diffie-Hellman 参数

第三步:配置 OpenVPN 服务器
编辑 /usr/local/etc/openvpn/server.conf,关键参数包括:

  • port 1194:指定监听端口(默认 UDP 1194)
  • proto udp:使用 UDP 协议更高效
  • dev tun:创建点对点隧道接口
  • ca ca.crtcert server.crtkey server.key:引用之前生成的证书
  • dh dh.pem:引入 Diffie-Hellman 参数
  • server 10.8.0.0 255.255.255.0:分配给客户端的子网地址段
  • push "redirect-gateway def1 bypass-dhcp":强制客户端流量走 VPN
  • push "dhcp-option DNS 8.8.8.8":推送 DNS 服务器

第四步:启用并启动服务
确保系统防火墙允许 UDP 1194 端口(可通过 pf 配置),然后启用 OpenVPN 自动启动:

sysrc openvpn_enable="YES"
sysrc openvpn_conf_files="/usr/local/etc/openvpn/server.conf"
service openvpn start

第五步:客户端配置
将服务器生成的 ca.crtclient1.crtclient1.key 下载到客户端设备,并创建客户端配置文件(如 client.ovpn):

client
dev tun
proto udp
remote your-vpn-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
verb 3

在客户端使用 OpenVPN GUI 或命令行工具加载此配置文件即可连接。

通过以上步骤,你可以在 FreeBSD 上成功部署一个功能完整的 OpenVPN 服务,不仅支持多用户并发接入,还具备高安全性与可扩展性,建议结合日志监控(如 syslog)、访问控制列表(ACL)进一步增强管理能力,为复杂网络架构打下坚实基础。

FreeBSD 系统下配置 OpenVPN 服务器与客户端连接指南  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN