校园网免流量之基于IPV6的OPENVPN搭建

发布于 2013-10-08  92 次阅读


五花八门的免大家都知道ipv6现在是免流量的。因此五花八门的免流量上网方式都出现了。最好的当然后goagent,毕竟免费嘛。但是goagent使用的是google app engine 每个月每个应用只有1G流量,10个应用只有10G流量这个流量对于很多人来说还是不够用。同时使用goagent代理并不是全局的而且做不到全局(不是技术原因,因为goagent并不是一个真正的http代理程序),同时goagent代理还有一个致命的缺点不能登录qq(这个技术上的问题就不说了),goagent有个最大的bug就是出口ip并不是不变的,所以常常会出现某些网站不能登录或者登录之后不停的掉线这样的问题。
因此使用openvpn建立ipv6是我们最好的选择
为什么不选pptp —-因为不支持ipv6。
为什么不选l2tp—-openvz的vps不支持加密。毕竟我们选便宜的vps搭建~~~
其他~~~代理不能全局,其他vpn方法需要大微软技术的支持,作为廉洁解决方案基本不可能完成。
关于openvpn对于ipv6的支持情况,在openvpn2.3版本之前使用ipv6需要打补丁但是2.3版本开始就不需要了。记住windows版和linux server都要选择2.3。ipv6与ipv4配置上的区别就一点 udp改成udp6就ok了。是不是很简单。。。。。。。
另外关于openvpn注意openvpn connector是商业软件,免费两个许可证连接而且不支持ipv6。我们使用的是社区版,下载客户端时候注意。
说了好多废话现在开始安装openvpn
安装 OpenVPN
环境准备好之后,我们正式开始安装 OpenVPN 了。这里使用的是 yum 来进行安装。
CentOS5用户执行
wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh epel-release-5-4.noarch.rpm
CentOS6用户执行
wget wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
如果你看到这篇文章时你都已经用上centos7了那你就去http://dl.fedoraproject.org/pub/epel里面找吧
成功后 yum 源里面就有 OpenVPN 了,直接使用命令安装
yum install openvpn
说明:这里就体现了 yum 安装的好处,比如 OpenVPN 需要 lzo 支持,安装的时候会检测系统,没有的组件会自动安装进去。
安装easy-rsa–由于最新的OpenVPN不自带easy-rsa,需要手工安装。
wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip
配置 OpenVPN
easy-rsa这个文件夹移至 /etc/openvpn/
cp -R easy-rsa-master/easy-rsa /etc/openvpn/ #位置根据自己的情况看啊
进入然后/etc/openvpn/easy-rsa/2.0目录,用vi vars来编辑环境变量。
cd /etc/openvpn/easy-rsa/2.0
vi vars
根据实际情况修改
export KEY_COUNTRY="CN"
export KEY_PROVINCE="JiangSu"
export KEY_CITY="NanJing"
export KEY_ORG="GreenStudio"
export KEY_EMAIL="[email protected]"
更改文件夹内文件属性防止Access Denied
cd ..;chmod -R 777 2.0;
保存后把. vars设置生效。
source ./vars
./clean-all
生成证书
创建证书颁发机构(系统出现提示操作时,直接全部回车)
./build-ca server
创建CA之后来生成服务器证书(系统出现提示操作时,前面直接全部回车 最后2个按y)
./build-key-server server
服务器证书生成完了,我们来生成客户端证书,理论上每个OpenVPN用户都有独立的证书。(系统出现提示操作时,前面直接全部回车 最后2个按y)
./build-key greenstudio
说明:这里的greenstudio是客户端名称,如果你再生成第二个随便换成别的名字就可以如:./build-key zts1993)
最后生成Diffie Hellman参数,这个需要一小点时间
./build-dh
设置OpenVPN参数新建 server.conf
vi /etc/openvpn/server.conf
放入如下内容:
port 8080 #这个端口一般不敢封
proto udp6 #这个是ipv6的设置如果是ipv4是udp就可以了,可以用tcp这里我用udp了
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt #这几行按需修改
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8" #设个DNS吧
push "dhcp-option DNS 8.8.4.4"
client-to-client #允许客户互相访问
keepalive 10 120
comp-lzo
persist-key
persist-tun
cipher AES-128-CBC
verb 3
启用 ipv4 转发(理论上ipv6用户可以忽视这段)
1.编辑/etc/sysctl.conf
vi /etc/sysctl.conf
2.找到net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存
3.让更改生效
sysctl -p
说明:如果此时出现错误 error: “Operation not permitted” setting key “net.ipv4.tcp_syncookies” ,就编辑 /etc/sysctl.conf,注释掉 net.ipv4.tcp_syncookies 那一行
配置 iptables
如果你跟偶一样很多类型VPN,很多NAT的话直接
xen和kvm用户
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
openvz用户
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
启动 OpenVPN
service openvpn start
检查 OpenVPN
netstat -anup | grep 8080 # 8080是端口
如出现如下字样表示成功,OpenVPN 已经打开
udp 0 0 0.0.0.0:8080 0.0.0.0:*
8179/openvpn
设置 OpenVPN 开机启动
chkconfig openvpn on
OpenVPN 客户端
下载客户端: 被墙了,各位各显神通吧。
http://openvpn.net/index.php/open-source/downloads.html
使用 SFTP 软件把客户端所需文件下载到本地
#用户名就是你刚才生成证书时候的名字啊~~~~
服务器路径为:/etc/openvpn/easy-rsa/2.0/keys 中5个文件的:
用户名.crt
用户名.key
ca.crt
将上述3个文件下载到 C:Program FilesOpenVPNconfig(总之是你安装目录了)
上面那个文件夹下,新建 #用户名#.ovpn,输入以下内容
client
dev tun
proto udp6
remote 服务器IPv6地址 8080
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert #用户名#.crt
key #用户名#.key
ns-cert-type server
comp-lzo
cipher AES-128-CBC
verb 3
恭喜你大功告成
在开始菜单里面找到OpenVPN GUI并运行,Vista和Win7下需要管理员身份运行。点Connect后等一下,出现本地连接2,搞定!
千万注意,需要Administrator权限!
在服务器上你可以用 service openvpn start | stop | restart 来控制
流量上网方式都出现了。最好的当然后goagent,毕竟免费嘛。但是goagent使用的