openvpn 初步使用

发布时间:2017-7-9 7:06:10编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"openvpn 初步使用 ",主要涉及到openvpn 初步使用 方面的内容,对于openvpn 初步使用 感兴趣的同学可以参考一下。

服务端:Centos 7.2  openvpn 2.4.3

客户端:Windows 10

安装包

openvpn的官网在国内访问不了,服务端通过yum安装,客户端在第三方网站下载的

一般的国内源应该都包括openvpn,这里用的阿里云的,安装下面两个包:

yum install openvpn easy-rsa -y

客户端是windows的安装包,地址如下(客户端的版本要跟服务端一致,否则可能在连接时报错):

http://files01.tchspt.com/temp/openvpn-install-2.4.3-I601.exe

配置服务端

生成key

依次执行下面的命令(在文章末尾的参考链接中包含官方的英文文档,有这段的详细说明,包括windows环境的)

cp -r /usr/share/easy-rsa /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/
source vars
./clean-all
./build-ca  #按提示输入信息,也可以全部默认,注意询问yes or no时输入y再回车
./build-key-server server  #按提示输入信息,也可以全部默认,注意询问yes or no时输入y再回车
./build-key client1  #按提示输入信息,也可以全部默认,注意询问yes or no时输入y再回车,可以生成多个客户端key
./build-dh

配置文件

把官方提供的模板拷贝过来当基础

cp /usr/share/doc/openvpn-2.4.3/sample/sample-config-files/server.conf /etc/openvpn/

下面是需要注意修改的配置:

ca    /etc/openvpn/easy-rsa/2.0/keys/ca.crtcert    /etc/openvpn/easy-rsa/2.0/keys/server.crtkey    /etc/openvpn/easy-rsa/2.0/keys/server.keydh     /etc/openvpn/easy-rsa/2.0/keys/dh2048.pemcomp-lzouser     nobodygroup    nobodylog    openvpn.log

默认中有一个配置项:tls-auth ta.key 0

所以根据提示生成这个ta.key

cd /etc/openvpnopenvpn --genkey --secret ta.key

 默认端口是1194,若开启了防火墙需要放行

启动

直接启动,在调试时采用,方便查看日志

openvpn /etc/openvpn/server.conf

后台启动,正式使用时采用,后台运行的日志位于/etc/openvpn/openvpn.log

openvpn --daemon --config /etc/openvpn/server.conf

启动后日志如下,则表示无误:

配置客户端

直接运行下载的安装包openvpn-install-2.4.3-I601.exe,根据提示一直下一步即可,默认安装目录C:\Program Files\OpenVPN\

依旧把官方提供的模板拷贝过来当基础,把C:\Program Files\OpenVPN\sample-config\client.ovpn拷贝到C:\Program Files\OpenVPN\config\

然后把服务端中/etc/openvpn/easy-rsa/2.0/keys下面的四个文件也拷贝到这个config下面:

  ca.crt

  client1.crt

  client1.key

  ta.key

 下面修改配置文件client.ovpn,有些都是跟服务端对应的:

remote [服务端的IP] 1194user nobodygroup nobodycert client1.crtkey client1.keycipher AES-256-CBCcomp-lzo

修改完成后,启动客户端,没有配置错误的话应该可以连接服务端成功,如下图:

试着ping一下服务端的虚拟IP:

OK,这样客户端和服务端就连接成功了;

但是,会发现这里只能ping通vpn的虚拟IP,却不能访问服务端真实的内网IP,这是因为还没有配置路由,就是说没有告诉它让哪些IP谁走VPN通道

配置VPN路由

这里服务端真实内网IP为172.18.48.163,掩码是255.255.240.0,在服务端配置文件中增加一行配置:

push "route 172.18.48.0 255.255.240.0"

重启服务端,并使客户端重连,然后再从客户端ping这个ip:

可以看到已经联通了

了解了这些,把一些美国的IP放过来通过VPN加速,我这里是自己买的阿里云服务器,通过阿里云访问国外的一些节点会稳定一些:

push "route 192.81.241.0 255.255.255.0"push "route 68.0.0.0 255.0.0.0"push "route 208.0.0.0 255.0.0.0"push "route 87.0.0.0 255.0.0.0"push "route 203.0.0.0 255.0.0.0"push "route 42.0.0.0 255.0.0.0"push "route 54.0.0.0 255.0.0.0"push "route 52.0.0.0 255.0.0.0"push "route 35.0.0.0 255.0.0.0"

完了后,拿一个IP 208.111.149.150 测试下却发现根本不通,原因是还需要在服务端做NAT转发

NAT转发

测试过程中未深究iptables的其他规则,这里直接清理了所有:

iptables -F

然后配置转发:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24  -j MASQUERADE

再试试,发现已经OK了:

客户端多配置

客户端若需要多个配置,比如不同的机房配置肯定不同,只要把多个配置文件都放到config目录即可,比如这里以client1和client2为例:

启动客户端后的效果:

over

参考:http://blog.csdn.net/joyous/article/details/8034132



上一篇:Hackrank Equal DP
下一篇:bzoj 3083: 遥远的国度

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款