更新!vultr 建立应用镜像可以瞬间搭建支持手机 2017.5.8

——————————-

搭建vpn首先apt-get安装openvpn,貌似还需要什么lzop,一并装上

然后看看能不能用tun

cat /dev/net/tun

in bad state说明可以

新版openvpn跟easy-rsa是分开的

所以就单独再装上easy-rsa

这里说一下:

当时看别人教程的时候总是以为easy-rsa和openvpn是配套的,这是一开始openvpn捆绑easy-rsa造成的错觉

easy-rsa生成秘钥和公钥,是完全独立的事情,只不过openvpn拿来用罢了

窝草我越来越懒了,连代码格式都懒得上了

先说easy-rsa吧

先cd到easy-rsa文件夹内,找/usr/share/easy-rsa

然后

source vars

蹦出clean啥的乱七八糟的就对了

然后执行:

./clean-all

./build-ca

生成服务端密钥

./build-key-server server

生成客户端密钥

./build-key client  (client1也行,随便起个名)

生成Diffie Hellman

./build-dh

这个时间比较长,出.*++…+..*啥的

等搞完会发现这几个操作的结果都在keys文件夹下:

ca.crt

client.key

client.crt

这三个是客户端用了,ftp下来

ca.crt

server.key

server.crt

这三个是服务器用的,记住路径,最好还是复制到/etc/openvpn下面,别再被覆盖了

然后就是配置openvpn了,新版openvpn有example,直接复制过来就可以用的,路径:

/usr/share/doc/openvpn。。。。。

里面有个server.conf.gz,解压到/etc/openvpn/server.conf,百度一下:

gunzip –c filename.gz > filename gunzip

里面不用改啥东西,反正我改了(2017年8月6日注:不加下面这几行会出现连接成功分配到内网ip但是外网仍然不代理的情况!)

push “redirect-gateway”
push “dhcp-option DNS 8.8.8.8”
push “dhcp-option DNS 8.8.4.4”

貌似是选网关DNS

里面的ca啥的证书要相对路径和绝对路径正确,否则程序找不到证书

然后保存

开启端口

iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE

 10.8.0.0是钦定的,想改跟server.conf里面的一起改,注意这里的是/16而server.conf里面的是24,原因没探究

然后设定端口转发

设定/etc/sysctl.conf 内容

net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0

然后重新载入生效

sysctl -p

然后 /etc/init.d/openvpn start 或者service openvpn start,

接下来是客户端:

把客户端用的三个文件放在 openvpn/conf下面,然后把example中的客户端配置文件下载下来,稍微改一改内容,windows后缀改为.ovpn

运行客户端,import 选择这个ovpn,然后连接就可以了。

出现了一个问题就是:可以连接vpn内网,但是上不去外网,原因发现了,是iptables没写对,写对之后就可以了,连起来还挺稳定,就是美国服务器延迟有点高。