OPENVPN免流
kevin.Zhu 发布于:2013-9-22 11:08 分类:Linux 有 25 人浏览,获得评论 0 条
添加EPEL源:
rpm -ivh http://public.czyaer.me/mianliu/epel-release-6-8.noarch.rpm
更新yum软件:
yum update
清空当前防火墙规则/保存/重启规则:
iptables -F
service iptables save
service iptables restart
关闭SELINUX:
setenforce 0
开启路由转发:
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
重启sysctl生效路由转发:
sysctl -p
重新配置防火墙规则:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p TCP --dport 3389 -j ACCEPT #OpenVPN服务端口,可自定义,不可冲突
iptables -A INPUT -p TCP --dport 80 -j ACCEPT #squid转发端口,可自定义(代理端口)
iptables -A INPUT -p TCP --dport 22 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
service iptables save
service iptables restart
安装依赖环境:
yum install -y wget squid openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig
yum install -y openvpn
配置VPN服务端参数:
cd /etc/openvpn/
wget http://publiclist.ml/mianliu/server.conf
chmod 0755 ./*.conf
证书生成工具:
cd /etc/openvpn/
wget http://publiclist.ml/mianliu/EasyRSA-2.2.2.tar.gz
tar -zxvf EasyRSA-2.2.2.tar.gz
制作证书:
cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-ca #一路的回车
./build-key-server centos #一路的回车,提示输入y就跟着输入
./build-key user01 #一路的回车,提示输入y就跟着输入
./build-dh #这是一个漫长的等待过程
cp /etc/openvpn/easy-rsa/keys/{ca.crt,user01.{crt,key}} /home/
登陆服务器,进入 /home 目录,把ca.crt、user01.crt、user01.key
三个文件下载到电脑,证书制作完毕!
配置/启用端口转发:
cd /etc/squid/
rm -f ./squid.conf
wget http://publiclist.ml/mianliu/squid.conf
chmod 0755 /etc/squid/squid.conf
squid -z
squid -s
《启动OpenVPN》
service openvpn start #启动OpenVPN
service openvpn restart #重启OpenVPN
创建多用户:
cd /etc/openvpn/easy-rsa/
source vars
./build-key user02
./build-key user... 证书名字随意,你也可以按照user03、04、05...,这样就比较直观
然后把user02.crt、user02.key文件下载下来,粘贴到ovpn文件内,一个证书只能同时登陆一个用户,要多个用户同时登陆,就必须创建多个客户端证书,CA证书是一样的。
rd.go.10086.cn全部换成wap.10010.cn,部分地区可以用。
#squid.conf
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
via on
request_header_access X-Forwarded-For deny all
request_header_access user-agent deny all
reply_header_access X-Forwarded-For deny all
reply_header_access user-agent deny all
http_port 80
http_access allow all
access_log /var/log/squid/access.log
visible_hostname TD-LTE/FDD-LTE(sbwml.cn)
cache_mgr Welcome_to_use_OpenVPN
#openvpn-server.conf
port 3389
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/centos.crt
key /etc/openvpn/easy-rsa/keys/centos.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
push "redirect-gateway def1 bypass-dhcp"
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
;push "dhcp-option DNS 114.114.114.114"
;push "dhcp-option DNS 114.114.115.115"
;client-to-client
duplicate-cn
keepalive 10 120
#tls-auth /etc/openvpn/easy-rsa/ta.key 0
comp-lzo
max-clients 10
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
log-append openvpn.log
verb 3
;mute 20
;crl-verify /etc/openvpn/easy-rsa/keys/crl.pem
#openvpn-client.sample.conf, 默认中国移动免流
#setenv IV_GUI_VER "de.blinkt.openvpn 0.6.17"
machine-readable-output
client
dev tun
connect-retry-max 5
connect-retry 5
resolv-retry 60
########免流代码########
http-proxy-option EXT1 "POST http://rd.go.10086.cn"
http-proxy-option EXT1 "GET http://rd.go.10086.cn"
http-proxy-option EXT1 "X-Online-Host: rd.go.10086.cn"
http-proxy-option EXT1 "POST http://rd.go.10086.cn"
http-proxy-option EXT1 "X-Online-Host: rd.go.10086.cn"
http-proxy-option EXT1 "POST http://rd.go.10086.cn"
http-proxy-option EXT1 "Host: rd.go.10086.cn"
http-proxy-option EXT1 "GET http://rd.go.10086.cn"
http-proxy-option EXT1 "Host: rd.go.10086.cn"
http-proxy 填写你的IP 80
########免流代码########
remote 填写你的IP 3389 tcp-client
resolv-retry infinite
nobind
persist-key
persist-tun
<ca>
CA证书-复制证书文件中的全部内容
</ca>
<cert>
客户证书, 只需要证书部分 - 上面一大坨不需要
</cert>
<key>
客户密钥-复制证书文件中的全部内容
</key>
ns-cert-type server
comp-lzo
verb 3