У меня установлен и работает OpenVPN. Проблема в том, что я хочу назначить статические IP-адреса определенным пользователям в моей VPN, чтобы они всегда получали один и тот же IP-адрес каждый раз.
Моя установка предназначена для аутентификации PAM, она работает нормально:
client-cert-not-required
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
Мое имя пользователя joel
а также он работает нормально, так как я могу войти в VPN с любого ПК, используя это имя пользователя. Вот мой server.conf
файл для статической конфигурации IP:
client-config-dir /etc/openvpn/ccd
Каталог CCD и пользовательский файл принадлежат nobody
поскольку мой процесс работает как они:
Содержимое пользовательского файла:
Даже при всем этом у меня все еще нет статического IP-адреса, когда я подключаюсь как пользователь joel
. Я каждый раз получаю разные IP-адреса от .6
к .10
, но никогда .4
.
Использование аутентификации по имени пользователя и паролю отключает любое использование общего имени OpenVPN. Таким образом, он не устанавливает общее имя клиента при входе в систему.
Решение - установить следующий флаг в server.conf
файл и перезапустите сервер OpenVPN:
username-as-common-name
Это сообщает OpenVPN, что при подключении необходимо установить в качестве имени пользователя общее имя клиента. Поскольку файл назван в честь Common Name, это необходимо, иначе OpenVPN не знает, какой файл проверить.
Во-первых, у вас есть client-connect
сценарий на месте? В таком случае любые IP-директивы из этого списка имеют приоритет.
Во-вторых, согласно документации OpenVPN, client-config-dir
использует только общее имя клиента X.509, чтобы определить, какой файл использовать. Вы можете проверить, если joel
файл не соответствует, создав файл DEFAULT. Похоже, что вы вообще не используете клиентские сертификаты, что может помешать использованию client-config-dir
вариант.