如何在后台使用 openconnect

如何在后台使用 openconnect

我将在 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您一起可以:

  1. screen使用命令启动新会话
  2. 连接到此新会话中的 VPNopenconnect -u username us.myprovider.net
  3. Ctrl使用+命令脱离此会话a d并在前台执行其他操作

当您需要阅读openconnect消息或关闭 VPN 连接时,您可以使用screen -r命令恢复分离的会话。

相关内容