C# winform实现断开VPN连接后实现自动连接(附:自动连接VPN脚本)

前 言

搭建内网VPN后,用客户端连接,偶尔会出现断开连接的情况,我们可以新建一个程序,监听是否连接(判断连接VPN后的IP是否能ping通),断开连接后,自动执行连接VPN的bat脚本。

实现过程如下:

新建一个控制台程序 

图片

加一个配置文件用于设置ping哪个IP 

图片

图片

封装一个PingHost方法,用于检测指定IP是否能ping成功。 

图片

定义连接状态和连接IP 

图片

通过调用 PingHost(ipAddress) 方法来检查 VPN 是否已经成功连接,如果检查发现 VPN 未连接成功,创建一个新的进程对象 proc,使用 proc.Start() 方法来执行自动连接 VPN 的脚本文件。WaitForExit() 方法来等待之前的执行的bat执行进程结束。

图片

代码测试:首先设置一下连接VPN后的IP

图片

下面是自动连接VPN的bat,rasdial 命令用于连接远程拨号网络,其中 xxx表示要连接的 VPN 服务器地址,cyl01 表示要连接的 VPN 连接名称,123456 表示连接所需的用户名和密码。 

图片

图片

这样就实现了VPN断线自动重连的功能。

这样在本地部署应用后,在VPN服务器上配置Nginx反向代理,就能通过VPN服务器的IP加端口的方式实现访问本地应用了。 

图片

图片

自动连接VPN 下载链接:

链接:https://share.weiyun.com/0my60upa

加入剑指工控技术群,联系各群群管理员获得提取码。

未入群的工控友人

联系美女管理员入群

图片

2023年6月

作者简介:

曹言林:加入工控八余载,从事过单片机编程、控制柜接线、设备维修,PLC编程、上位机编程、MES实施。对各方面虽不是专家级别,也愿为工控圈添砖加瓦,贡献自己的一份力量。

Tags: