openVPN 通过 linux 中的命令行断开连接

ham*_*dsh 11 linux openvpn freeradius2

有没有办法断开由 free-radius 使用 shell 命令行建立的 openvpn 连接?

我有关于 openvpn 连接的所有信息:

  • 用户名
  • 客户端IP
  • 帐户会话ID
  • ...

小智 10

pkill -SIGTERM -f 'openvpn --daemon --conf $OPENVPNCONFFILE'

pkill 命令允许您根据名称或其他属性向进程发出信号

这会将 SIGTERM 发送到 openvpn,使其优雅地退出并关闭 tun 接口。您可能/将需要修改 -f 之后的部分以匹配您启动 openvpn 连接的方式。

我在 openvpn 手册页的信号部分找到了这个。

   SIGINT, SIGTERM
      Causes OpenVPN to exit gracefully.
Run Code Online (Sandbox Code Playgroud)


qua*_*nta 5

确定虚拟接口ifconfig

tap0      Link encap:Ethernet  HWaddr 32:28:a4:04:34:cc  
          inet addr:172.22.18.14  Bcast:172.22.18.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Run Code Online (Sandbox Code Playgroud)

并关闭它:

sudo ifconfig tap0 down
Run Code Online (Sandbox Code Playgroud)

这是我为基于 RedHat 编写的初始化脚本:

tap0      Link encap:Ethernet  HWaddr 32:28:a4:04:34:cc  
          inet addr:172.22.18.14  Bcast:172.22.18.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Run Code Online (Sandbox Code Playgroud)

然后你可以像往常一样使用它:

sudo ifconfig tap0 down
Run Code Online (Sandbox Code Playgroud)


wol*_*gsz 0

我从未使用过 free-radius,但我熟悉 OpenVPN 中的类似问题。如果从命令行启动连接,则 VPN 客户端要么在提示符下保持活动状态,要么退回到后台,但没有命令可以显式停止连接。
在 Linux 下,停止连接的唯一方法是使用“kill”或“killall”命令。自由半径连接可能类似​​。