Хотя WireGuard не поддерживает LDAP "из коробки", мы можем реализовать эту функцию с помощью дополнительных инструментов. Рассмотрим три основных способа интеграции.
sudo apt install python3 python3-pip python3-ldap3
pip3 install ldap3
git clone https://github.com/example/wg-ldap-auth.git
cd wg-ldap-auth
Создаем файл config.ini
:
[ldap]
server = ldap://your-ldap-server.com
base_dn = dc=example,dc=com
bind_dn = cn=admin,dc=example,dc=com
bind_password = your_ldap_password
user_filter = (uid={username})
[wireguard]
wg_conf = /etc/wireguard/wg0.conf
allowed_groups = vpn-users
Примечание: Не храните пароли в открытом виде. Рассмотрите использование переменных окружения.
sudo apt install freeradius freeradius-ldap
Редактируем /etc/freeradius/3.0/mods-available/ldap
:
ldap {
server = "ldap://your-ldap-server.com"
identity = "cn=admin,dc=example,dc=com"
password = "your_ldap_password"
base_dn = "ou=users,dc=example,dc=com"
filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
}
sudo ln -s /etc/freeradius/3.0/mods-available/ldap /etc/freeradius/3.0/mods-enabled/
sudo systemctl restart freeradius
Для систем, где уже настроена LDAP-аутентификация через PAM.
git clone https://github.com/example/pam_wg.git
cd pam_wg
make && sudo make install
Создаем /etc/pam.d/wireguard
:
auth required pam_ldap.so
auth required pam_wg.so /etc/wireguard/wg0.conf
# Проверка LDAP
ldapwhoami -x -H ldap://your-ldap-server.com -D "uid=testuser,ou=users,dc=example,dc=com" -W
# Проверка RADIUS (для FreeRADIUS)
radtest testuser password 127.0.0.1 0 testing123
Внимание: Cтатьи здесь сгенерированы нейросетью, пока не правил ошибки, только запустил его да и не до этого. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
НО!
Каждый кейс я реально делал минимум один раз. Серьёзно.
Сервера стоят, клиенты довольны, дата-центры не горят.
Это не просто копипаста — это опыт, выстраданный в бою, просто пересказанный через ИИ.
Если у вас есть вопросы, или Нашли неточность? пишите в коментах —
вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!