在IPV6网络协议下搭建OPENVPN

现在所有高校的IPV6都是免费的,但是基于IPV6网络协议的网站却是少之又少,除了各大高校IPV6资源,也就只有百度首页与腾讯部分网站了。于是好多同学可能都会想到使用IPV6网络出口来免费访问IPV4网站。

刚好,前几天一个同学把它不用的linux VPS借给了我让我玩,VPS上只有IPV4地址,但是借用tun隧道之后,给网站嫁接了一个IPV6地址,于是我的想法就开始实施了。

VPS环境:CENTOS 6.0 IPV4+IPV6[使用隧道引入]+1G带宽

IPV6的隧道方法见我的另外一篇博文。

第一步:安装EPEL,添加了第三方源


wget wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

第二步:安装openvpn及easy-rsa

使用yum进行安装openvpn yum install openvpn
在https://github.com/OpenVPN/easy-rsa-old/archive/master.zip下载master.zip包[最近更新后,新下载esay-rsa-old版]
解压master.zip包unzip master.zip
在/etc/下创建openvpn文件夹
移动easy-rsa至/etc/openvpn/ cp -r master/easy-rsa /etc/openvpn

第三步:编辑配置文件

进入/etc/openvpn/easy-rsa/2.0目录cd /etc/openvpn/easy-rsa/2.0
编辑varsvi vars
可自行配制,实例如下:

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Changdu"
export KEY_CITY="Sichuan"
export KEY_ORG="Swjtu"
export KEY_EMAIL="admin@admin.cn"
...

更改文件属性<有时可不必>
chmod 777 *
设置vars

source ./vars
./clean-all

创建颁发机构证书
./build-ca server
创建服务器证书
./build-key-server server
创建客户端证书[可创建多个,名字不一样即可]
./build-key guestclient
创建Hellman
./build-dh
创建openvpn配置文件
vi /etc/openvpn/server.conf
编辑sserver.conf

port 8080 #端口
proto udp6 #tcp6 或 udp6
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/dh1024.pem
server 10.8.0.0 255.255.255.0 //DHCP服务器
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
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 转发
1.编辑/etc/sysctl.conf

vi /etc/sysctl.conf

2.找到net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存

3.让更改生效


sysctl -p

配置iptables
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开机启动
chkconfig openvpn on

#----------搭建IPV4服务器的补充,IPV6可以跳过--------
Xen&KVM
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

#OpenVZ :
iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to-source 123.123.123.123
#还有
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 123.123.123.123

# 123.123.123.123 指服务器的IP地址
#----------补充结束--------------------------------

 

第四步:配置客户端

将/etc/openvpn/easy-rsa/2.0/keys中的

client.crt
client.key
ca.crt

拷贝到openvpn/config中,并新建**.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

ok 搞定!!!!!
参考文档:http://blog.zts1993.com/5170.html