如何在 ubuntu 上维护多个持久 vpnc 连接

如何在 ubuntu 上维护多个持久 vpnc 连接

马克·诺尔斯的博客对如何维护持久的 vpnc 连接进行了很好的解释。但是,这对于多个 vpnc 连接来说效果不佳(连接对我来说不起作用,一次断开连接后一切都会重新连接,...)。有没有更好的方法来维护多个 vpnc 连接?

答案1

以下修改适用于多个配置文件:

  1. 如果您还没有这样做,请将其添加Local Port 0到 /etc/vpnc 中的 .conf 文件中。这将使用随机本地端口,并更好地允许多个连接。
  2. 对于每个连接,选择您想要连接(并保持连接)的 VPN 网络上的 IP 和端口。对于每个连接,在 /usr/local/bin 中编写一个脚本,检查连接是否仍然可行,如果不可行,则启动 vpnc,例如EnsureVPNXXX.sh使用

    #!/bin/bash
    if ! nc -z -w 2 targetip targetport
    then /usr/sbin/vpnc-connect connectionprofile.conf
    fi
    
  3. 更改重新连接脚本/etc/vpnc/reconnect-script以使用所有这些EnsureXXX.sh脚本(一个接一个地执行它们,所以&最后没有)

    #!/bin/bash
    sleep 30
    /usr/local/bin/EnsureVPN1XXX.sh
    /usr/local/bin/EnsureVPN2XXX.sh
    ...
    
  4. 脚本/etc/init.d/vpnc几乎相同,只是你不再需要/etc/default/vpncsource

不要忘记脚本必须是可执行的。只要您以 root 身份调用它们,这些脚本在任何自动 cron 作业中都能很好地工作,例如,在您调用之前scprdesktop在 vpn 网络中的任何框上,只需执行 即可EnsureVPNxxx.sh。您随时可以使用 退出 root 身份su -u yourusername command。显然,使用 root 的 crontab。

相关内容