ten*_*ohn 5 linux tunneling openvpn tun
根据OpenVPN 2 Cookbook:
persist-tun 和 persist-key 选项用于确保在底层网络中断时自动恢复连接。使用用户 nobody 和组 nobody(或组 nogroup)时,这些选项是必需的。
这在实践中意味着什么?
在服务器端有一个 tun0 设备。OpenVPN 进程以nobody 和nogroup 的身份运行。到目前为止一切正常。但是persist-tun选项究竟有什么作用呢?根据我是否连接,相同的 tun0 设备仍然存在。
从另一个问题:
摆脱persist-tun选项。如果没有该选项,则 VPN 链接将断开,tun 设备将关闭并被移除。当然,问题是删除该选项意味着您需要以 root 而不是 nobody 身份运行 VPN 守护进程。因为作为 nobody 帐户,当重新建立连接时,OpenVPN 将无法创建新的 tun 设备。
删除persist-tun选项后,tun设备仍然存在,没有连接的客户端。
请大神详细解释一下persist-tun、persist-key、user nobody、group nogroup、keepalive选项涉及的过程。
使用的原因可能有 3 个persist-tun
1- 您需要 root 权限才能管理接口。如果 OpenVPN 更改为没人/无组,则它无法添加/删除接口。因此,有必要保留 tun 接口。
\n\n2-如果删除 tun 接口,您将丢失指向它的路由。这意味着您的流量将通过默认路由未加密地流动。可能是您不希望发生的事情。
\n\n3- 如果接口未删除(持续存在),则不会执行向上/向下脚本。手册说:
\n\n\n\n\n\xe2\x80\x93persist-tun\n 不要\xe2\x80\x99t 关闭并重新打开 TUN/TAP 设备或跨 SIGUSR1 运行向上/向下脚本或 \xe2\x80\x93ping-restart 重新启动。SIGUSR1 是重新启动信号\n与 SIGHUP 类似,但它提供了对重置选项的更细粒度的控制。
\n
2.4手册中也有类似的解释persist-key
\n\n\xe2\x80\x93persist-key\n Don\xe2\x80\x99t 通过 SIGUSR1 或 \xe2\x80\x93ping-restart 重新读取密钥文件。此选项可以与 \xe2\x80\x93userbody 结合使用以允许重新启动由 SIGUSR1 信号触发。通常,如果您删除 OpenVPN 中的 root 权限,守护进程将无法重新启动,因为它现在无法重新读取受保护的密钥文件。
\n\n此选项通过在 SIGUSR1 重置期间保留密钥来解决问题,因此不需要重新读取它们\xe2\x80\x99t。
\n
归档时间: |
|
查看次数: |
10264 次 |
最近记录: |