如果宅|网络工程师培训

Centos7 搭建 OpenVPN -证书及用户密码双重认证 - 实现企业内网互通

如果宅|网络工程师培训 http://www.ifzhai.com 2018-01-10 11:58 出处:网络 编辑:PinG
本文基于上一篇文章,证书认证http://www.ifzhai.com/article.php?id=8 后增加了用户名密码认证。
(如果本文中的图片看不清,可按住键盘Ctrl键+鼠标滚轮上键)


本文基于上一篇文章,证书认证http://www.ifzhai.com/article.php?id=8 后增加了用户名密码认证。

首先补充说明,server.conf中push "redirect-gateway def1 bypass-dhcp"这一项会使客户端所有流量都走VPN

为了避免这种情况,我们可以注释掉这行,然后修改push "route 192.168.99.0 255.255.255.0" 

其中192.168.99.0为公司的内网网段,这样客户端只有访问192.168.99.0的时候才会走VPN。

1、配置服务器端文档

cd /etc/openvpn

vi server.conf

增加

script-security 2

auth-user-pass-verify /etc/openvpn/auth_pass.sh via-file

保存。


2、新建认证脚本

vim  /etc/openvpn/auth_pass.sh

#!/bin/bash

# the username+password is stored in a temporary file

# pointed to by $1

username=`head  -1  $1`

password=`tail  -1  $1`

if  grep "$username:$password"  pass_file  >  /dev/null 2>&1

then

      exit 0

else

      if grep "$username" pass_file > /dev/null 2>&1

      then

           echo "auth-user-pass-verify: Wrong password entered for user '$username'"

      else

            echo "auth-user-pass-verify: Unknown user '$username'"

       fi

       exit 1

fi

3、创建用户名密码

vim /etc/openvpn/pass_file

test:123

test2:123

4、增加auth_pass.sh和pass_file文件权限

chmod 777 auth_pass.sh

chmod 777 pass_file


5、重启VPN服务

systemctl restart openvpn@server


6、修改客户端配置文件

打开client1.ovpn

添加

auth-user-pass

7、重连





(转载请注明出处:如果宅www.ifzhai.com)

0