基于OpenVPN的反向代理

2014-12-3 18:26:00

红色家园服务器都是没有公网IP的,走的是学校服务器的反向代理。

结果今天学校入口服务器扑街了。

截止我写这篇东西的时候学校首页还是打不开。

学校老师已经下班了,但是我们的服务不能就这么瘫在那里啊,于是想了想手上的资源。有一台跳板服务器是有公网IP和内网IP的,于是就打算用它进行反代先抢救一部分服务。

但是还有一个严重的问题,这台服务器尽管有公网IP,但是还是在学校防火墙以内,对外的端口只有一个80是开放着的, 以前我们在这上面搭设了tcp 80端口的OpenVPN服务,现在也不可能关掉它,于是只好继续用它做跳板服务器,另找一台外网服务器连接它的OpenVPN,使用

client
dev tun

proto tcp
remote IP 80 

nobind
resolv-retry infinite
persist-key
persist-tun
ca ca.crt
cert client2.crt
key client2.key
ns-cert-type server
route-nopull
comp-lzo
verb 3
route-method exe
route-delay 2
route 10.0.8.0 255.255.255.0

将所有对10.0.8.0/24的请求(也就是OpenVPN网卡的网段)通过OpenVPN走,不影响其他访问。

切记删除push "redirect-gateway local def1"配置,以防服务器外网路由全走OpenVPN导致断网,
还要加上route-nopull以免OpenVPN服务器发送影响到OpenVPN客户端服务器网络的路由信息

然后让那台服务器上的Tengine监听本地的88端口,反代至业务服务器