Выделение статических ip адресов клиентам OpenVPN
Я уже не раз рассказывал как сконфигурировать собственный OpenVPN сервер. Пользователи подключаются по сертификатам и им динамически выдаются свободные ip-адреса из заданного диапазона. Встала задача выдавать некоторым клиентам постоянные ip-адреса, чтобы была возможность подключаться к ним тоже.
Собственно, решается это довольно просто, если знать как. В файл конфигурации сервера OpenVPN нужно добавить буквально пару строк:
client-to-client ifconfig-pool-persist ipp.txt
- client-to-client - разрешаем клиентам видеть друг-друга в сети
- ifconfig-pool-persist ipp.txt - наличие этой строки указывает, что перед тем как выдать клиенту свободный адрес из пула, сервер должен свериться с файлом ipp.txt, в котором прописывается привязка имени пользователя к ip-адресу.
Файл ipp.txt должен иметь следующий формат:
username1,ip-address username2,ip-address username3,ip-address
username1, username2 и username3 соотвествуют именам выданных сертификатов пользователей.
Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.
Комментариев: 10
Это все хорошо и правильно. Только не забывайте, что перед редактированием ipp.txt надо остановить сервис service openvpn stop , а после редактирования не забыть service openvpn start. Попытка отредактировать при запущенном сервисе приводит к тому, что на экране все красиво, но после openvpn restart все возвращается на круги своя со старым ipp.txt. :)
Не работает почему-то. После включения сервера, он снова назначает адреса какие ему вдумается и перезаписывает ipp.txt, причем не теми адресами которые он назначил. В общем бред какой-то. в чем смысл тогда
Подтверждаю - не работает. OpenVPN 2.4.7. Присваивает адреса какие попало, явочным порядком. ipp.txt вообще вычищает, только название остается. Есть и другие способы зафиксировать адреса клиентов, и они точно так же не работают. Смиритесь. Что-то OpenVPN делает хорошо, а что-то он не будет делать никогда.
Вру. Всё-таки сработал способ через параметр
client-config-dir ДиректорияКлиентскихКонфигов
Объявляете эту директорию в конфиге сервера, а потому в эту директорию помещаете конфигурационные файлы клиентов. Но не те, которые на самих клиентах должны быть, а специальные. Например, имя файла "Client", расширения нет, внутри:
ifconfig-push 192.168.4.10 192.168.4.9
iroute 192.168.0.0 255.255.255.0
Имя файла совпадает с именем клиента, как указывал автор статьи. Ну и кладется этот файл в директорию, которую объявили в конфиге сервера. У меня не сразу, но сработало.
рабочий вариант:
1. настроить по инструкции автора
2. подключиться к openvpn серверу, при этом сервер выдаст случайный ip и пропишет его в ipp.txt
3. остановить сервер
4. отредактировать файл ipp.txt (вписать нужный ip)
5. запустить сервер
6. подключиться. Теперь присвоен нужный ip
Назначаем ipp.txt только для чтения...
Правильный формат:
Не работает ни тот, ни другой способ.
Всё было ок с client-config-dir на старой кубунте 14.04, не помню, какая версия openvpn там была, реп опенвпн'овский был подключен, easy-rsa 2.
Поставил 20.04, поначалу запихал в конфиг и ccd, и ipp - присваивает адреса по своему усмотрению, при этом, как уже отмечали, в ipp пишет другие, кажется на 2 меньше. Остановил, отредактировал ipp, запустил - перезаписывает, при этом может удалить подключенных, а неподключенных переписать.
Остановил, поменял в конфиге ipp на ccd, запустил - опять адреса от балды, и всё равно в ipp снова записал.
Последний коммент - запятые в конце каждой строки ipp - не катит, перезаписывает по своему, без этих запятых.
2.4.6 - работает, но важно положение строки ifconfig-pool-persist ipp.txt в конфиге.
Так же не работало и очищало файл ipp.txt при старте сервера пока не переместил строку в конец файла конфига. После - сервер стал сам писать ip новых клиентов в файл и присваивать существующие.
Вот так лучше думаю
Идём в VPN → OpenVPN → Client Specific Overrides, кнопка Add. Нужно создать настройки для конкретных клиентов. Привяжем каждому клиенту свой IP адрес
алгоритм такой:
— выбираем в Server List наш сервер
— Common name прописываем имя нашего клиентского сертификата из п.4
— в разделе Advanced прописываем команду присвоения IP адреса
ifconfig-push 192.168.202.12 255.255.255.0
https://habr.com/ru/post/312528/