OpenVPN将不会分配静态IP

我有OpenVPN的设置和正确运行。 问题是我想分配静态IP给我的VPN上的某些用户,所以他们总是得到完全相同的IP每次。

我的设置是PAMauthentication,这是工作正常:

client-cert-not-required plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login 

我的用户名是joel ,而且工作正常,因为我可以使用这个用户名从任何一台PClogin到VPN。 这里是我的IP静态configuration的server.conf文件:

 client-config-dir /etc/openvpn/ccd 

CCD目录和用户文件都由nobody拥有,因为我的过程像他们一样运行:

在这里输入图像说明在这里输入图像说明

用户文件的内容:

在这里输入图像说明

即使所有这些,我仍然没有一个静态的IP,当我作为用户joel连接。 我每次都得到不同的IP地址,从.6.10 ,但从来没有.4

首先,你有一个client-connect脚本? 如果是这样的话,那么所有的IP指令都是优先的。

其次,根据OpenVPN文档, client-config-dir仅使用客户端的X.509公共名称来确定要使用哪个文件。 您可以通过创buildDEFAULT文件来validationjoel文件是否不匹配。 看起来您根本没有使用客户端证书,这可能会阻止使用client-config-dir选项。

使用用户名/密码身份validation禁用OpenVPN的任何通用名称使用。 所以login时不会设置客户端的通用名。

解决scheme是在server.conf文件中设置以下标志并重新启动OpenVPN服务器:

 username-as-common-name 

这告诉OpenVPN在连接时将用户名设置为客户端的公用名。 由于文件是以Common Name命名的,所以OpenVPN不知道要检查哪个文件。