首先跟大家说一下这次和第一篇open的主要区别在于第一篇属于访问整个内网,而今天这篇只是针对于指定用户的指定网段,相对来说这篇的访问方式更加的安全。而且这两篇最大的区别主要是配置文件,所以安装过程等,可以省略不看,但是为了让对于open安装相对陌生的人考虑,所以还是将完整的过程记录如下:
一、安装软件包
1、更新源
yum upgrade
2、装epel库
yum -y install epel-release
3、安装依赖包
yum -y install open openssh-server lzo openssl openssl-devel NetworkManager-open open**-auth-ldap
4、手动下载easy-rsa 想要生成各种证书和密钥,我们还要用到easy-rsa(只有服务器端需要easy-rsa,客户端无需安装)。坑爹的是,Open 2.3.x并没有自带这个东西,我们还需要去GitHub下载easy-rsa。更坑爹的是,GitHub上的easy-rsa已经升级到了3.0版本,该版本几乎重写了之前所有的程序代码,连使用方法都全变了,然Open的官方文档并没有作相应更新,其中介绍的仍然是easy-rsa 2.0的操作方法。为了避免不必要的麻烦,我们推荐下载2.0版本的easy-rsa,你也可以直接点击这里下载。
1)在这里我们将下载的easy-rsa-release-2.x.zip上传并解压放在/usr/local/open/目录下(这里open目录是新建的)
2)拷贝/usr/local/open/easy-rsa-release-2.x/easy-rsa/ 到/etc/open/目录下
cp -r /usr/local/open/easy-rsa-release-2.x/easy-rsa/ /etc/open/
5、拷贝配置文件
cp /usr/share/doc/open-2.4.4/sample/sample-config-files/server.conf /etc/open/
6、备份open**配置文件
cp /etc/open/server.conf /etc/open/server.conf.back
//查看 ls /etc/open**/
7、创建ccd目录(指定用户访问指定网段)
mkdir -p /etc/open**/ccd/
8、在/etc/open**/ccd/目录创建两个指定用户分别访问指定网段
注释:
push route: 指定当前用户能访问的内网网段
iroute :指定当前用户**访问内网时所走的路由网段(这条加不加都行,不加走默认的路由)
9、编辑open**配置文件
vi /etc/open**/server.conf
注:这里使用的是udp协议(tcp协议在网络较弱时容易断线)
二、配置证书
1、编辑vars文件
vi /etc/open**/easy-rsa/2.0/vars
2、制作证书
1)切换目录让配置文件生效(根据截图提示按步骤操作)先执行 source ./vars,然后根据提示执行./clean-all,然后创建ca证书./build-ca后按回车键,一直到结束。
2)创建服务端证书
执行命令./build-key-server server 按回车键进行,最后输入两次“y”回车。
3)创建客户端证书
执行命令生成迪菲•赫尔曼交换密钥./build-dh 创建秘钥文件,等待命令执行完。
4)查看目录中创建好的证书文件 ls keys/
5)创建客户端证书文件(在/etc/open**/easy-rsa/2.0/下执行)
执行命令./build-key wangfeiyu创建客户端证书文件,按回车进行,提示输入密码的地方,输入之前设置的证书密码feiyu,An optional company name处输入先前设置的公司名字(xingyoucai.com)。【一定要和先前输入的一样,其他参数如果前面设置了,也要保持一致噢】 另外注意:有多少个客户端就需要./build-key client 多少次,当然client名字需不同。而且创建服务端证书时可以不设置用户密码,那么后边创建客户端证书也就不用输入用户密码了。
//创建第二个客户端证书文件 ./build-key xiaohong
6)查看证书 ls keys/
7)为了日后使用**人员较多,方便管理,实现人名目录制,如下:
三、设置iptables、路由转发
1、安装iptables
yum -y install iptables-services
2、设置iptables开机自启
systemctl enable iptables
3、关闭Centos7默认的 firewall防火墙
systemctl stop firewalld
4、关闭Centos7默认的 firewall防火墙开机自启
systemctl disable firewalld
5、启动iptables
systemctl start iptables
6、清空iptables默认规则
iptables –F iptables –X iptables -Z
7、设置iptables NAT转发规则
iptables -t nat -A POSTROUTING -s 10.0.100.0/24 -j MASQUERADE
注:保存防火墙规则service iptables save(防止重启规则丢失)
8、开启路由转发
vi /etc/sysctl.conf
验证: sysctl -p
四、启动open**
1、设置启动文件
systemctl -f enable open**@server.service
2、启动open**的命令
systemctl start open**@server.service
3、打开iptables防火墙的1194端口
iptables -A INPUT -p udp --destination-port 1194 -j ACCEPT
4、查看open**服务运行(centos7需要安装net-tools)
netstat –antulp
5、open客户端(电脑、手机)连接使用telnet命令连接**1194端口
五、配置客户端实现连接
1、把服务器上的四个客户端证书文件,下载到本地电脑配置**客户端。
/etc/open**/easy-rsa/keys/ca.crt
/etc/open**/easy-rsa/keys/wangfeiyu.crt
/etc/open**/easy-rsa/keys/wangfeiyu.key
/etc/open**/easy-rsa/keys/wangfeiyu.csr(这条可加可不加,以上边三条为主)
2、安装好open客户端软件后,把证书文件,存放到open安装目录的config文件夹下。 从sample-config文件夹下,拷贝客户端的配置文件client.o**到config文件夹下。
3、编辑config文件夹下的配置文件client.o**,修改remote my-server-1 1194 这行配置,指定open服务器的ip地址,默认为你服务器的外IP然后修改协议。需要注意的是:在服务器端的配置需要和客户端的配置参数一致。
4、客户端连接,右击软件生成的运行图标,点击连接。
注:这篇open与第一篇看起来区别不大,但是这个更完美的实现了具体用户具体网段的访问控制!而且需要特别注意,并不是看到如上截图显示分到IP就确定openvp没问题了,最主要是需要在客户端使用route print(windows命令)查看是否有后端推送的IP,如果没有,那么有可能是因为推送IP命令错误或者子网掩码错误。
测试:
1、先用wangfeiyu密钥使用**访问公司内网
注:需要特别注意,并不是看到如上截图显示分到IP就确定openvp没问题了,最主要是需要在客户端使用route print(windows命令)查看是否有后端推送的IP,如果没有,那么有可能是因为推送IP命令错误或者子网掩码错误
2、再用xiaohong密钥使用**访问公司内网
注:需要特别注意,并不是看到如上截图显示分到IP就确定openvp没问题了,最主要是需要在客户端使用route print(windows命令)查看是否有后端推送的IP,如果没有,那么有可能是因为推送IP命令错误或者子网掩码错误
转载于:https://blog.51cto.com/13043516/2096437