HttpTunnel

  • 格式:doc
  • 大小:27.50 KB
  • 文档页数:2

HttpTunnel+OpenVPN穿越HTTP代理

HttpTunnel+OpenVPN穿越HTTP代理

虽然OpenVPN支持HTTP Proxy,但是OpenVPN使用的代理必须支持CONNECT这个方法,如果不支持,那OpenVPN就无能为力了,似乎还有一个叫Htun的也行,具体还没有细看。

目前使用HttpTunnel和OpenVPN配合可以穿透HTTP代理。

HttpTunnel官方网站: /software/httptunnel.html

OpenVPN官方网站: /

存在的问题:

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

原文出处: / /

请勿用于商业目的,谢谢

首先下载并安装httptunnel程序,登录 /software/httptunnel.html

# wget /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 即可。