特殊情况下,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