我正在尝试使用 openfortivpn 进行连接。以前我一直在 MS-Windows 上使用 Fortinet VPN 客户端 - 现在每次尝试启动它时都会出现蓝屏(我正在下载升级版本,但出于其他原因想在 Linux 上配置它)。
我连接的基础设施有很多子网,其中一些与我的本地子网冲突。因此,使用默认设置 (--set-routes=1) 它会覆盖我的本地路由,并且盒子会断开与本地网络的连接。命令行选项似乎只允许一切或不允许。
我能够捕获启动时正在应用的配置并自动配置路由。Cherry 选择相关条目并尝试应用它们(在使用 --no-routes 重新启动 VPN,然后手动记录 IP 地址后)导致连接正常。
ip route add to 10.0.99.0/255.255.255.0 via 10.220.136.94 dev ppp0
但是每次连接时本地地址都会改变;我不能将其用作脚本中的文字值。
我如何编写脚本让它自动发生?
openfortivpn的手册页提到了一些控制路由的环境变量——但是输入
"VPN_ROUTE_GATEWAY" openfortivpn
进入 Google 只是给了我指向 openfortivpn 源代码的链接(而且我对 C 的了解太生疏了,无法对其进行逆向工程)。
事实证明,可以使用 ip-up 脚本自动执行该技巧,我仍在努力使其工作。
答案是:您可以创建一个“ip-up”文件并使用 --ppp-ipparam 进行路由:
只需将以下文件添加到您的
/etc/ppp/ip-up.d/yourendpointname
:-你可以随便叫它 -
在这里,
"yourendpointname"
应该匹配--ppp-ipparam
您要在 openfortivpn 调用中使用的参数。chmod 755 这个文件然后
--ppp-ipparam=yourendpointname
在调用 openfortivpn 时使用。以下(以前的)答案有些复杂:
顺便说一句,您可以使用以下脚本获取 VPN 网关并添加一些路由:
这可能会有所帮助。