我将在 CEntOS 7 终端上使用 openconnect 连接到 VPN。我只有一个终端,因为我正在进行 SSH 会话。我需要使用 openconnect 连接到 VPN。我这样做是这样的:
openconnect -u username us.myprovider.net
我需要在后台运行 VPN,然后在前台执行其他操作。目前,我启动VPN,按Ctrl + Z,然后按bg将其发送到后台。但是,这似乎关闭了 VPN 连接。我怎样才能做到这一点?
答案1
连接:
sudo openconnect --background <...>
断开连接:
sudo killall -SIGINT openconnect
使用SIGINT
可以让后台进程有时间清理 DNS 配置并正常退出。
答案2
根据Openconnect 文档,您想要尝试的选项是:
-b,--background
Continue in background after startup
答案3
是的。-b
是选项。但这只会导致下一个问题:彻底断开连接是不可能的了。我的意思是,当它在后台时退出的唯一方法openconnect
是终止该进程。但这会导致名称服务问题。所有 DNS 请求仍会发送到在 VPN 建立过程中获知的名称服务器,但断开连接后将无法再访问它们。唯一的解决方法是关闭整个界面并重新启动。
答案4
您可以使用screen
或任何其他终端多路复用器来执行此操作。与screen
您一起可以:
screen
使用命令启动新会话- 连接到此新会话中的 VPN
openconnect -u username us.myprovider.net
- Ctrl使用+命令脱离此会话a d并在前台执行其他操作
当您需要阅读openconnect
消息或关闭 VPN 连接时,您可以使用screen -r
命令恢复分离的会话。