OpenV_X_N 2.5.x 配置文件选项详解

OpenV_X_N 2.5.x 配置文件选项详解

根据 OpenV_X_N 2.5.x 版本官方文档和实践经验,以下是服务端和客户端配置文件中可用的主要选项及其含义说明。


一、基础网络配置选项

选项 语法示例 含义说明
client client 声明此配置文件为客户端模式,告诉 Openvxn 这是一个客户端连接
dev dev tundev tap 指定虚拟设备类型。tun 是路由模式(三层),tap 是桥接模式(二层)。tun 更常用且效率更高
proto proto udpproto tcp 指定传输协议。UDP 通常更快更稳定,TCP 穿透性更好但开销更大
port port 1194 指定服务端监听的端口号,默认是 1194
local local 192.168.1.100 指定服务端监听的本地 IP 地址(当服务器有多个网卡时使用)
remote remote your-server.com 1194 客户端指定要连接的服务端地址和端口
remote-random remote-random 当配置了多个 remote 时,随机选择一个连接

二、网络拓扑和地址分配选项

选项 语法示例 含义说明
server server 10.8.0.0 255.255.255.0 服务端配置 vxn 子网网段,客户端将从此网段获取 IP 地址
topology topology subnet Openvxn 2.5.x 推荐配置 。指定网络拓扑结构。subnet 模式让每个客户端获得一个子网内的独立 IP,比旧的 net30 模式更节省地址空间
ifconfig-pool-persist ifconfig-pool-persist ipp.txt 将客户端 IP 分配记录保存到文件中,使客户端重连时能获得相同的 IP 地址
client-to-client client-to-client 允许客户端之间相互通信。默认情况下客户端只能与服务器通信
duplicate-cn duplicate-cn 允许同一个证书或用户名的多个客户端同时连接(通常用于测试)

三、加密与安全选项(2.5.x 重要更新)

选项 语法示例 含义说明
data-ciphers data-ciphers AES-256-GCM:AES-256-CBC Openvxn 2.5.x 推荐使用。定义数据通道支持的加密算法列表,按优先级排序。客户端和服务端会协商选择共同支持的算法
data-ciphers-fallback data-ciphers-fallback AES-256-CBC Openvxn 2.5.x 推荐使用 。定义当客户端不支持 data-ciphers 协商时的备用加密算法,用于兼容旧版客户端
cipher cipher AES-256-CBC 旧版选项 。2.5.x 中仍可用但会产生弃用警告。建议改用 data-ciphersdata-ciphers-fallback
auth auth SHA256 指定数据通道的 HMAC 认证算法,用于确保数据包的完整性
tls-auth tls-auth ta.key 0 (服务端) / tls-auth ta.key 1 (客户端) TLS 认证密钥,用于防御 DoS 攻击和端口扫描。服务端用 0,客户端用 1
key-direction key-direction 0 配合 tls-auth 使用,指定密钥方向。服务端为 0,客户端为 1
remote-cert-tls remote-cert-tls server 客户端验证服务端证书是否具有服务器扩展密钥用法(推荐开启)
ns-cert-type ns-cert-type server 旧版选项,已弃用 。建议用 remote-cert-tls server 替代
auth-nocache auth-nocache 不缓存用户认证信息(用户名/密码),连接结束后立即从内存中清除
reneg-sec reneg-sec 3600 定期重新协商数据通道密钥的间隔时间(秒),默认 3600 秒

四、推送和路由选项

选项 语法示例 含义说明
push push "redirect-gateway def1 bypass-dhcp" 服务端向客户端推送配置指令,例如推送路由、DNS 等
redirect-gateway push "redirect-gateway def1 bypass-dhcp" 推送默认网关重定向,让客户端所有流量都走 vxn 通道。def1 使用更具体的路由覆盖默认网关
push "dhcp-option DNS" push "dhcp-option DNS 8.8.8.8" 向客户端推送 DNS 服务器地址
push "route" push "route 192.168.1.0 255.255.255.0" 向客户端推送指定网段的路由,使客户端能访问这些网络
route route 192.168.1.0 255.255.255.0 服务端配置本地路由,或客户端配置静态路由
route-nopull route-nopull 客户端拒绝接受服务端推送的路由,只使用本地配置的路由
client-nat client-nat dnat 192.168.0.0 255.255.0.0 在客户端侧配置 NAT 规则

五、保持连接和超时选项

选项 语法示例 含义说明
keepalive keepalive 10 120 每 10 秒发送 ping 包,如果 120 秒内没有收到响应则判断连接断开
ping-restart ping-restart 60 如果 60 秒内没有收到 ping 响应,重启连接
ping-exit ping-exit 60 如果 60 秒内没有收到 ping 响应,退出连接
inactive inactive 3600 如果 3600 秒内没有数据流量,断开连接
resolv-retry resolv-retry infinite 客户端 DNS 解析失败时无限重试,或指定重试次数

六、证书和密钥文件选项

选项 语法示例 含义说明
ca ca ca.crt CA 根证书文件路径,用于验证对方证书的签名链
cert cert server.crt 本端的证书文件路径
key key server.key 本端的私钥文件路径(需要严格保密)
dh dh dh.pem Diffie-Hellman 参数交换文件,仅服务端需要
tls-crypt tls-crypt ta.key 新版 TLS 加密方式,比 tls-auth 更安全,同时提供加密和认证
pkcs12 pkcs12 client.p12 使用 PKCS#12 格式的证书文件(包含证书和私钥)
crl-verify crl-verify crl.pem 证书吊销列表文件,用于验证证书未被吊销

内联配置方式 (2.5.x 支持):

可以将证书内容直接嵌入配置文件,使用 <ca></ca> 标签包裹:

复制代码
<ca>
-----BEGIN CERTIFICATE-----
...(CA证书内容)...
-----END CERTIFICATE-----
</ca>

七、压缩选项(注意变化)

选项 语法示例 含义说明
compress compress lz4-v2 启用 LZ4 压缩(v2 版本),2.5.x 推荐使用
comp-lzo comp-lzo no 旧版选项,已弃用。LZO 压缩存在安全风险(VORAL 攻击),建议避免使用

重要说明:Openvxn 2.5.x 中压缩功能默认不启用。如需使用压缩,服务端和客户端必须配置完全一致的压缩选项。出于安全考虑,现代配置通常不启用压缩。


八、脚本和钩子选项

选项 语法示例 含义说明
script-security script-security 2 设置脚本执行的安全级别。2 表示允许执行用户自定义脚本
client-connect client-connect /path/to/script.sh 客户端成功连接后执行指定脚本
client-disconnect client-disconnect /path/to/script.sh 客户端断开连接时执行指定脚本
up up /path/to/script.sh vxn 连接建立(TUN/TAP 设备可用)后执行脚本
down down /path/to/script.sh vxn 连接关闭前执行脚本
learn-address learn-address /path/to/script.sh 学习到新的客户端地址时执行脚本
auth-user-pass-verify auth-user-pass-verify check.sh via-file 验证客户端用户名密码的脚本

九、认证相关选项(用户名/密码)

选项 语法示例 含义说明
auth-user-pass-verify auth-user-pass-verify /path/to/script via-file 通过外部脚本验证用户名/密码
verify-client-cert verify-client-cert none 2.5.x 推荐使用 。设置客户端证书验证要求:none(不要求)、optional(可选)、require(必须)
client-cert-not-required client-cert-not-required 旧版选项,已弃用 。2.5.x 中应使用 verify-client-cert none 替代
username-as-common-name username-as-common-name 将客户端认证的用户名作为证书的 CN(通用名称)使用
auth-user-pass auth-user-passauth-user-pass pass.txt 客户端启用用户名/密码认证。不加参数时交互式输入,加文件名时从文件读取

十、日志和调试选项

选项 语法示例 含义说明
verb verb 3 日志详细程度,0-11 级。3 为默认级别,推荐用于生产环境
log log /var/log/openvxn.log 覆盖模式日志文件路径
log-append log-append /var/log/openvxn.log 追加模式日志文件路径
status status openvxn-status.log 状态文件路径,定期写入当前连接状态
mute mute 20 相同日志消息重复 20 次后静默,防止日志泛滥
mute-replay-warnings mute-replay-warnings 静默重放攻击警告信息

十一、权限和持久化选项

选项 语法示例 含义说明
user user nobody Linux 系统下降低守护进程权限到指定用户
group group nogroup Linux 系统下降低守护进程权限到指定组
persist-key persist-key 重启时保持私钥文件不重新读取,避免权限问题
persist-tun persist-tun 重启时保持 TUN/TAP 设备不关闭,避免权限问题
nobind nobind 客户端不绑定本地端口,使用随机源端口
float float 允许服务端从非远程配置指定的 IP 地址接收数据包(多网卡/NAT 场景)

十二、IPv6 相关选项

选项 语法示例 含义说明
server-ipv6 server-ipv6 2001:db8::/64 服务端配置 IPv6 地址池
push-ipv6 push "route-ipv6 2001:db8::/64" 推送 IPv6 路由到客户端
tun-ipv6 tun-ipv6 启用 IPv6 隧道模式
ifconfig-ipv6 ifconfig-ipv6 2001:db8::1/64 2001:db8::2 配置 IPv6 地址(客户端)

十三、性能调优选项

选项 语法示例 含义说明
sndbuf sndbuf 262144 设置发送缓冲区大小(字节)
rcvbuf rcvbuf 262144 设置接收缓冲区大小(字节)
txqueuelen txqueuelen 1000 设置 TUN/TAP 设备的发送队列长度
fragment fragment 1400 设置数据包分片大小
mssfix mssfix 1400 设置 MSS(最大分片大小)以优化 MTU

十四、OpenVXN 2.5.x 重要变化总结

  1. 加密配置 :推荐使用 data-ciphers + data-ciphers-fallback 替代单独的 cipher
  2. TLS 认证 :推荐使用 verify-client-cert none 替代 client-cert-not-required
  3. 拓扑模式 :推荐使用 topology subnet 改善 IP 地址利用率
  4. 压缩安全 :避免使用 comp-lzo,改用 compress 或不使用压缩
  5. 内联配置:支持将证书/密钥内容直接嵌入配置文件

相关推荐
原来是猿1 小时前
TCP Echo Server 深度解析:从单进程到线程池的演进之路(中)
linux·服务器·数据库
fTiN CAPA2 小时前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
xlq223222 小时前
52.TcpSocket
linux·服务器·网络
剑神一笑3 小时前
Linux xargs 命令深度解析:从管道到命令构建的桥梁
linux·运维·chrome
量子炒饭大师3 小时前
【Linux系统编程】Cyberpunk在霓虹丛林中构建堡垒 ——【关于shell命令及其运行原理】
linux·运维·服务器·shell
夜猫子ing3 小时前
《嵌入式 Linux 控制服务从零搭建(一):项目立意与架构总览》
linux·嵌入式硬件
IT大白鼠3 小时前
主流Linux文件系统稳定性及性能分析
linux·运维·服务器·文件系统
南境十里·墨染春水3 小时前
linux学习进展 I/O复用函数初步
linux·运维·学习
LinuxGeek10243 小时前
Linux内核“Dirty Frag”漏洞(CVE-2026-43284)修复方案
linux·运维·服务器