为OpenVPN配置http代理访问

特殊情况下,OpenVPN的端口或者协议会被防火墙拦截掉。其实可以自己架设一个http代理服务器,为OpenVPN提供代理服务。方法很简单:

yum install squid

编辑配置文件:

vi /etc/squid/squid.conf

http_port 8080
access_log /var/log/squid/access.log squid
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/userpw
acl password proxy_auth REQUIRED
http_access allow password
http_access allow all

hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid  

 添加代理用户:

htpasswd -c /etc/squid/userpw 用户名

 接下来重复输入两次用户密码即可。

启动squid服务:

service squid start

 更改相应的防火墙设置,开放squid使用的端口。

更改OpenVPN配置,在尾部添加如下代码

http-proxy 115.28.32.158 8080 pw.txt
http-proxy-retry

 然后在OpenVPN的config文件夹下新建一个文本文件pw.txt,里面需要两行内容,第一行输入Squid用户名,第二行输入密码,保存该文件即可。

注意:http代理的OpenVPN必须使用tcp协议,别忘了服务器和客户端配置文件中协议部分改为:

proto tcp