0
点赞
收藏
分享

微信扫一扫

OpenVpn客户端使用服务器端本地账户名/密码进行验证

我是小瘦子哟 2023-05-18 阅读 114

搭建OpenVPN服务,并实现客户端登陆时要求输入系统/etc/passwd里的账户名密码进行验证:

yum install -y epel-release

yum install -y openvpn easy-rsa   ##安装OpenVpn及相关依赖

cp -r /usr/share/easy-rsa/ /etc/openvpn/

cd /etc/openvpn/easy-rsa/3.0.8/

./easyrsa init-pki   ##初始化 PKI 目录结构,所有生成的文件将存储在该目录中。

./easyrsa build-ca  ##生成自签名的根 CA 证书,用于对 PKI 中的其他证书进行签名。

./easyrsa gen-req server nopass  ##为服务器证书生成证书签名请求CSR,用于保护服务器的连接。nopass 选项创建一个没有密码的私钥,以方便使用。

./easyrsa sign-req server server  ##使用 CA 证书签名服务器 CSR,并创建服务器证书。

./easyrsa gen-req client nopass  ##为客户端证书生成证书签名请求CSR,用于保护客户端的连接。nopass 选项创建一个没有密码的私钥,以方便使用。

./easyrsa sign-req client client  ##使用CA 证书签名客户端 CSR,并创建客户端证书。

注:也可是使用如下方式替代上述4条命令,作用效果相同。

./easyrsa build-server-full server nopass

./easyrsa build-client-full client nopass  

openssl dhparam -out /etc/openvpn/dh.pem 2048  ##使用 OpenSSL 工具生成 Diffie-Hellman 参数,用于OpenVpn 中用于生成共享密钥,以加密和解密数据流。

vi /etc/openvpn/server.conf      ##编辑创建server.conf

port 1194

proto udp4

dev tun

ca /etc/openvpn/easy-rsa/3.0.8/pki/ca.crt

cert /etc/openvpn/easy-rsa/3.0.8/pki/issued/server.crt

key /etc/openvpn/easy-rsa/3.0.8/pki/private/server.key

dh /etc/openvpn/dh.pem

server 10.8.0.0 255.255.255.0   ##指定OpenVpn服务端给客户端分配的IP地址池

ifconfig-pool-persist ipp.txt

push "route 192.168.10.0 255.255.255.0"  ##推送内网路由给客户端

push "dhcp-option DNS 8.8.8.8"

push "dhcp-option DNS 114.114.114.114"

client-to-client

keepalive 10 120

persist-key

persist-tun

verb 3

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login

username-as-common-name

systemctl start openvpn@server.service  ##启动OpenVpn服务

systemctl enable openvpn@server.service   ##开机自启OpenVpn服务

systemctl status openvpn@server.service    ##查看OpenVpn服务状态

journalctl -xeu openvpn@server  ##如遇到OpenVpn服务无法启动,可查看具体原因

firewall-cmd --add-service=openvpn --permanent   ##服务端防火墙放行openvpn服务

firewall-cmd --reload  ##重启防火墙服务后生效

useradd zhangsan    ##在OpenVpn服务端创建用户,用户客户端登陆使用

passwd zhangshan  ##在OpenVpn服务端为用户zhangsan创建密码,用户客户端登陆使用

ll /usr/lib64/openvpn/plugins/    ##server.conf配置文件里调用openvpn-plugin-auth-pam.so模块,从而实现客户端能够使用服务端本地的账户名和密码进行验证

总用量 28

-rw-------. 1 root root     0 4月   1 23:04 ipp.txt

-rwxr-xr-x. 1 root root 15104 3月  18 2022 openvpn-plugin-auth-pam.so

-rwxr-xr-x. 1 root root 10944 3月  18 2022 openvpn-plugin-down-root.so

vi /etc/openvpn/client.ovpn      ##客户端配置

client

dev tun

proto udp4

remote x.x.x.x 1194   ##x.x.x.x为服务端的公网ip地址

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt

cert client.crt

key client.key

auth-user-pass

auth-nocache


从服务端下载如下4个文件到客户端,客户端安装openvpn软件后,打开client.ovpn即可。

OpenVpn客户端使用服务器端本地账户名/密码进行验证_客户端

举报

相关推荐

0 条评论