在“使用VPN来保证网络监控下的信息安全”中提出了使用vpn来避过网络监控的方案,并且在其中提到了,在安装有isa client的机器上,利用OpenVPN建立vpn隧道之后,对于外部网络可以ping通,但是所有的tcp和udp都不能连接的问题,今天终于找到一个间接的解决办法。
背景说明:
ISA是MS的网络防火墙,功能比较强大。而且通过在客户端机器上安装ISA Client软件,可以完全控制客户端机器上的网络访问情况。ISA Client接管了网络链接,把所有的网络访问都转接到ISA Server上,然后由Server来判断是否允许链接。
使用VPN之后,无论是OpenVPN还是IPSec VPN,在安装了ISA Client的机器上,正确的设置了路由之后,对于外部网络可以正常的ping通,但是所有连接都失败。通过网上搜索得知,可能由于ISA造成的MTU不匹配所致。
个人水平有限,找了很久也没有找到定制MTU的方法。不过今天发现一个另类的解决办法,步骤如下:
1)启动ISA Client
2)启动OpenVPN,建立vpn隧道,配置好路由(这个可以在配置文件中设置,主要就是修改默认的网关,然后制定VPN Server的路由为通过原来的网关)
3)关掉ISA Client
经过上面3步之后,网络就可以正常访问了。除去特定的内部网络以及VPN服务器之外,所有的其他通讯都走vpn通道,这样就省去了对外部代理服务的需求,性能和稳定性都有所提高。
如果vpn链接中断的话,只需要重复上述3步即可。
附路由表的配置:
1. 默认网管的修改,在OpenVPN Server的配置文件中增加指令
push “redirect-gateway”
2. 在vpn客户端配置文件中设置VPN Server的路由和内部局域网路由
# the vpn server
# sever.vpn.net is the vpn server host
#10.8.1.1 is the default gateway
route server.vpn.net 255.255.255.255 10.8.1.1 20
# the intranet net
# 10.0.0.0/8 is the company intranet
route 10.0.0.0 255.0.0.0 10.8.1.1 20