windows平台JMeter使用自开发的自动同步禅道测试用例的后置监听器在easyVPN下无法连接到mysql数据库的问题
问题背景
在个人的 Mac Book Pro 上面,开启了 easyVPN 后,运行带有自开发的禅道用例测试结果同步后端监听器的 JMeter 时,是可以正常连接到禅道的测试数据库的。 但是在 windows 10 及以上版本,同样的开启了 easyVPN 后,运行则无法连接到数据库。一直提示
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
初步分析,以为是不同 VPN 账号的权限问题。可是用自己的 vpn 账号登录到 windows,依旧提示这个通讯错误。那明显应该是网络问题。 可是,在 MacBookPro 下面,相同的 vpn 账号并没有这个问题。 问题出在哪呢?
找到原因
原来数据库本身并没有放在 vpn 网络里,windows 的 easyVPN 将数据库的 IP 做了路由,路由经过 VPN,从而导致无法达到数据库服务器。
解决办法
在 windows 下的时候,启动好 easyVPN 后,将数据库所在服务器的 IP 从路由中删除。 比如
# 192.168.10.10 是数据库IP的话,则用管理员方式启动命令行工具,执行
route delete 192.168.10.10