HttpTunnel+OpenVPN穿越HTTP代理
虽然OpenVPN支持HTTP Proxy,但是OpenVPN使用的代理必须支持CONNECT这个方法,如果不支持,那OpenVPN就无能为力了,似乎还有一个叫Htun的也行,具体还没有细看。
目前使用HttpTunnel和OpenVPN配合可以穿透HTTP代理。
HttpTunnel官方网站: http://www.nocrew.org/software/httptunnel.html
OpenVPN官方网站: http://openvpn.net/
存在的问题:
1、HttpTunnel服务器端目前不支持多客户同时连接,和OpenVPN 1.x差不多,要有多个少个客户就需要启动多少个hts进程。
Q: My friend runs hts at port 8888, but when I try to connect to it, there is no response.
A: As for now, hts can't handle multiple tunnels. You must run your own instance of hts listening to another port.
2、htc启动后,如果有客户连接并断开后,htc会自动退出(至少我在Linux试验的是这样的),所以需要写一个shell脚本定期检查htc进程是否退出。
转载请保留以下信息:
作者: 温占考 (Zhankao WEN) wzk {AT} wenzk {DOT} net
原文出处: http://www.wenzk.net/ http://wenzk.cublog.cn/
请勿用于商业目的,谢谢
首先下载并安装httptunnel程序,登录 http://www.nocrew.org/software/httptunnel.html
# wget http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz
# tar -zxvf httptunnel-3.0.5.tar.gz
# cd httptunnel-3.0.5
# ./configure
# make
# cp hts /usr/local/sbin/
# cp htc /usr/local/bin/
呵呵,安装完毕,注意客户端和服务器段都需要安装httptunnel程序。
启动Server端程序:
# hts -F OPENVPN_SERVER_IP:PORT 8888
OPENVPN_SERVER_IP:PORT 远程OpenVPN服务器的IP地址和OpenVPN所监听的端口,OpenVPN必须使用TCP协议,如果hts和OpenVPN在同一台机器则可以使用localhost。
8888 为hts监听的端口。
HttpTunnel客户端连接服务器:
# htc -F LISTEN_PORT -P PROXY_IP:PORT SERVER_IP:PORT
LISTEN_PORT htc本机监听的端口(供其他程序连接的端口)。
PROXY_IP:PORT 代理服务器的IP和端口。
SERVER_IP:PORT HttpTunnel的IP和端口。
假设环境:
客户机IP: 192.168.1.2
代理服务器IP: 192.168.1.1 端口: 8080
OpenVPN服务器地址: 61.1.1.2 端口: 1194
服务器端运行:
# hts -F localhost:1194 8888
客户机运行:
# htc -F 2222 -P 192.168.1.1:8080 61.1.1.2:8888
OpenVPN客户端设置更改:
把配置文件中的remote 61.1.1.2 1194 改成 remote localhost 2222 即可。
更多关于HttpTunnel的问题参考: http://www.nocrew.org/software/httptunnel/faq.html
最新回复
不知道可以不可以写篇详细点的在SP下的设置
我有点看的不是很明白
谢谢大哥
不过我没有在win下试过:(
谢谢大哥 在SP2下不要代理成功了
可还有个问题要麻烦大哥
我现在用的是gprs 接入点是cmwap代理是10.0.0.172:80 vpn服务器是heimawz.meibu.com 443
服务器运行的是hts -F localhost:443 80
客户端htc -F 2222 -P 10.0.0.172:80 heimawz.meibu.com:80
现配置如下:
client
dev tun
proto tcp-client
remote localhost 2222
resolv-retry infinite
nobind
;http-proxy 10.0.0.172 80这个应该不要加了吧。加了我都试了不成功
mute-replay-warnings
user nobody
group nobody
persist-key
persist-tun
ca ca.crt
auth-user-pass
ns-cert-type server
tls-auth ta.key 1
comp-lzo
verb 3
每次连接到127.0.0.1 2222的时候停顿片刻马上显示过5秒从新连接
如果关掉htc -F 2222 -P 10.0.0.172:80 heimawz.meibu.com:80就一直显示Thu Oct 11 09:07:07 2007 TCP: connect to 10.0.0.172:80 failed, will try again in 5 seconds
。不关就一直从试但没有显示Thu Oct 11 09:07:07 2007 TCP: connect to 10.0.0.172:80 failed, will try again in 5 seconds这应该表示有连接啊
可就一直连接不上我怕端口冲突把端口改了
服务器运行的是hts -F localhost:443 8080
客户端htc -F 2222 -P 10.0.0.172:80 heimawz.meibu.com:8080
情况一样还是不成功
我问一朋友他说是利用Tunnle封包。我开始还因为他字打反了。后听他说没错和HttpTunnel不一样
不知道是不是HttpTunnel不行。要用Tunnle才可以啊。要是要用Tunnle
大哥可以写个Tunnle教程吗。我到网上找了好久都没有详细的教程
我知道大哥一定有办法
望大哥指点
[ 本帖最后由 316940981 于 2007/10/11 09:19 编辑 ]
cmda 到要用到.VPN能连上.但是没有流量.不知道为什么.
但是我要gprs 连接就是不成功
cdma都一样
哈哈