这是我当前的设置:我连接到一个 Wi-Fi 热点,该热点每 1 小时 30 分钟关闭一次连接。此后,需要输入凭据才能恢复连接。为此,我使用了一个 Java 应用程序来检查超时并自动让我重新登录。
一旦我启动 OpenVPN 客户端,监控热点状态的 Java 应用程序就会切换到 TAP 适配器。当热点将我踢出时,该应用程序不会切换回常规 Wi-Fi 适配器,因此无法让我重新登录。
当 OpenVPN 尝试重新连接到其服务器时,是否有任何特定的 OpenVPN 配置可用于禁用 TAP 适配器?
我已经尝试使用 ForceBindIP(在 Windows 7 下)强制 Java 应用程序使用无线网卡,但它似乎与 javaw 和 jar 文件配合得不太好。我将不胜感激任何帮助!
编辑1: OpenVPN 客户端配置文件:
client
remote <vpn server address> 443
dev tun
proto tcp
resolv-retry infinite
nobind
persist-key
persist-tun
tls-auth ta.key 1
ca ca.crt
cipher AES-256-CBC
keysize 256
link-mtu 1560
comp-lzo
auth-user-pass pass.txt
通过此配置,vpn 可以正常工作。
答案1
那么,在这种情况下,罪魁祸首就是persist-tun
选择。
摘录自OpenVPN 手册页:
--persist-tun
不要关闭并重新打开 TUN/TAP 设备,也不要跨 SIGUSR1 或
--ping-restart
重新启动运行上/下脚本。SIGUSR1 是一个类似于 SIGHUP 的重启信号,但它提供了对重置选项的更细粒度的控制。