在CentOS下搭建OpenVPN实现ipv6网络连接ipv4
学校的网络访问IPV4地址是计算流量的,并且相比其他高校还要贵出不少。而IPV6是不计流量的,
在有IPV6地址的服务器上搭建OpenVPN可以用IPV6网络通过服务器转发访问IPV4地址,实现免流量上网。
首先需要一个有IPV6地址的服务器,我使用的是ramnode.com。CentOS 6操作系统。
另外阿里云等国内服务器使用IPv6 Tunnel Broker似乎也可以有IPV6地址。
这样速度应该可以快很多,我还没有试过。
下面是具体步骤:
安装EPEL
CentOS自带的yum源中没有openvpn,因此需要先安装EPEL。EPEL 是yum的一个软件源,里面包含了许多基本源里没有
的软件。
CentOS 用户可以直接通过 yum install epel-release 安装并启用 EPEL 源。CentOS Extras 默认包含该包。
1 | yum install epel-release |
安装OpenVPN
现在yum中已经有OpenVPN了,直接安装。
1 | yum install openvpn |
安装easy-rsa
最新版本的OpenVPN不带easy-rsa,因此需要手动安装。
1 | wget <https://cloud.github.com/downloads/OpenVPN/easy-rsa/easy-rsa-2.2.0_master.tar.gz> |
配置easy-rsa
编辑/etc/openvpn/easy-rsa/2.0目录下的vars文件。
1 | vim /etc/openvpn/easy-rsa/2.0/vars |
可以自定义以下几项:
- export KEY_COUNTRY=”CN”
- export KEY_PROVINCE=”JiangSu”
- export KEY_CITY=”NanJing”
- export KEY_ORG=”GreenStudio”
- export KEY_EMAIL=”admin@njut.asia“
之后使vars设置生效
1 | source ./vars |
生成证书
创建证书颁发机构(全部回车)
1 | ./build-ca server |
创建服务器证书(全部回车,最后两个输入y)
1 | ./build-key-server server |
创建客户端证书(全部回车,最后两个输入y,可创建多个名字不一样的客户端证书)
1 | ./build-key client |
创建Hellman参数
1 | ./build-dh |
配置OpenVPN
首先生成配置文件。
1 | vim /etc/openvpn/server.conf |
放入以下内容:
1 | port 8080 |
启用ipv4转发
1 | sysctl -w net.ipv4.ip_forward=1 |
配置 iptables防火墙
1 | iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE |
开启OpenVPN服务
1 | service openvpn start --config /etc/openvpn/server.conf |
安装OpenVPN客户端
使用pscp下载客户端证书
pscp下载:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,
下载后放到windows的system32文件夹下。
然后打开cmd,输入以下命令进行文件传送:
Windows –> Linux上传文件:
- pscp windows下文件地址 root@123.123.123.123:/etc
Linux –> Windows下载文件:
- pscp root@123.123.123.123:/etc/123.confwindows下文件地址
使用pscp将/etc/openvpn/easy-rsa/2.0/keys中的client.crt、client.key、ca.crt拷贝到客户端文件夹openvpn/config中,并新建**.ovpn文档,内容如下
1 | client |
最后打开客户端,链接,使用。
使用OpenVPN_只能_用于校园网免流量上网:)