独家课程利用VPS服务器搭建独享VPN(基于Centos6.4 Openvpn)

独家教程利用VPS服务器搭建独享VPN(基于Centos6.4 Openvpn)

我们不提供装逼,我们只是装逼的搬运工!现在好多VPN贵的离谱而且能用的越来越少了。以至于今天用unity下载器下载一个unity居然都奈它不得。手机上一直用免费的OpengVPN服务器看国外视频虽然a bit不稳定,但是还是比那些一个月大几百的收费vpn好用的不是一点点。于是得出一个结论免费开源的东西才是真正好的妇炎洁!事已至此,身为IT民工,信息小强但凡有一点尿性的信工作者又怎么能够再屈于各大虚假VPN收费广告的淫威之下!难道我们就不能有一点愚公移山精神吗?我不禁要问:为什么?为什么我不能寻寻觅觅来为自己搭建一个既稳定又高速的VPN服务器?而是仅仅花几秒钟就在墙角街头相信一个“贵妇有偿找人借子”这样假的不能再假的小广告?(要知道现在付费vpn吹嘘的稳定广告都是骗人的)自己主服务器上有几个项目不敢乱搞,另外真实原因其实是弄崩溃了还有几百G种子一旦香陨让臣妾怎么活!所以又去买了一个70元每月的香港的服务器(歪果仁说最便宜服务器只要5美元!不是9998!不是998!)来折腾,大不了弄坏了重新还原系统都很方便。本来以为几个小时搞定的事情,没想到google上的paper时效性不输度娘,大多数是2013年的教程各种坑不说做着做着就不一样了呢!不过谷歌还是谷歌不是百度之流能比的。区别在于百度扫一眼没答案基本可以确定找不到答案了,谷歌要不然答案一目了然要不然深入挖掘一下数据总归会有惊喜。我综合多家技术贴,加上自己google了搭建过程中各种爆出的莫名其妙错误,写了下面的教程教程基于以下Centos 6.4 64bit, virtualization OpenVZ.希望对大家有点帮助。

你可以从 EPEL仓库获取OpenVPN. 如果你没有安装过这个支持,你需要先做如下步骤:

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


安装 OpenVPN:

yum -y install openvpn easy-rsa

如果你上面步骤出错可以尝试如下方案之后再重新尝试安装:

运行命令来升级repo 以便可以使用 HTTP 而不是 HTTPS:

sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

然后确认一下更新:

yum check-update

找到文件夹 /etc/openvpn 创建一个 server.conf, 把下面内容粘贴进来就好了(如果你熟悉vim你也可以vim /etc/openvpn/server.conf):

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 3

现在来创建一个服务器证书. 

mkdir -p /etc/openvpn/easy-rsa/keys
cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh


所有的选项让它默认就好如果有出现 [y/n] 的询问就输入 y 然后回车.

下一步我们来做一个客户端的证书:

./build-key client1

Everything is similar. If you want multiple clients, the operation is repeated several times, changing client1 on client2, client3 and so on.

如果你想做多个客户端认证参考这个步骤就好了比如想要做client2, client3 按照client1的步骤就可以。

拷贝所有的key:

cd keys/
cp dh2048.pem ca.crt server.crt server.key /etc/openvpn

修改一下 /etc/sysctl.conf 文件里面的IP Forwarding

net.ipv4.ip_forward = 0

改为

net.ipv4.ip_forward = 1

把设置好的东西提交一下:

sysctl -p

编辑 Iptables, SERVER-IP 这边记住要替换成你自己的服务器 IP 地址.

iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to SERVER-IP
iptables -A FORWARD -i venet0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT

上面其实就完成了所有 VPS OpenVZ的设置, 但是要做一个独立运行OpenVPN服务器还需要一下步骤:

iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

保存设置然后重启iptables: 

service iptables save
service iptables restart

开启OpenVPN 服务器 然后让它开机启动: 

service openvpn start
chkconfig openvpn on

以上服务端的设置就完成了,我们现在来配置客户端

你可以下载Openvpn的客户端软件再这里下载对应的版本就好了 the official site, 

然后从服务器上拷贝如下三个文件:

/etc/openvpn/ca.crt

/etc/openvpn/easy-rsa/keys/client1.crt 

/etc/openvpn/easy-rsa/keys/client1.key

到你本地的电脑上(window电脑在安装好OpenVPN软件后可以把如上证书拷贝到如下文件夹里C:\Program Files\OpenVPN\config 

然后在这个文件夹创建一个 client.ovpn 文件内如如下, 其他不用改只要把SERVER-IP 改成你服务器的 IP  

client
dev tun
proto udp
remote SERVER-IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3
sndbuf 0
rcvbuf 0

运行你电脑上openvpn软件来连接你的openvpn服务器.这样你的ip地址和你的所有传输数据都是通过一个加密通道被加密的了。如果你有什么问题可以联系我,需要服务器的也可以向我买我也可以直接帮你远程做好一个Openvpn服务器只要另外支付5美元。


版权声明:本文为博主原创文章,未经博主允许不得转载。