Выделение статических ip адресов клиентам OpenVPN

Февраль, 02nd 2017Рубрика: *NIX | Безопасность | Советы 82531
Подписаться на комментарии по RSS

Я уже не раз рассказывал как сконфигурировать собственный 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

  1. 2019-05-07 в 08:36:26 | vladimir

    Это все хорошо и правильно. Только не забывайте, что перед редактированием ipp.txt надо остановить сервис service openvpn stop , а после редактирования не забыть service openvpn start. Попытка отредактировать при запущенном сервисе приводит к тому, что на экране все красиво, но после openvpn restart все возвращается на круги своя со старым ipp.txt. :)

  2. 2019-05-31 в 10:49:43 | Александр

    Не работает почему-то. После включения сервера, он снова назначает адреса какие ему вдумается и перезаписывает ipp.txt, причем не теми адресами которые он назначил. В общем бред какой-то. в чем смысл тогда

  3. 2019-11-05 в 18:24:21 | Виталий

    Подтверждаю - не работает. OpenVPN 2.4.7. Присваивает адреса какие попало, явочным порядком. ipp.txt вообще вычищает, только название остается. Есть и другие способы зафиксировать адреса клиентов, и они точно так же не работают. Смиритесь. Что-то OpenVPN делает хорошо, а что-то он не будет делать никогда.

  4. 2019-11-05 в 18:58:52 | Виталий

    Вру. Всё-таки сработал способ через параметр

    client-config-dir ДиректорияКлиентскихКонфигов

    Объявляете эту директорию в конфиге сервера, а потому в эту директорию помещаете конфигурационные файлы клиентов. Но не те, которые на самих клиентах должны быть, а специальные. Например, имя файла "Client", расширения нет, внутри:

    ifconfig-push 192.168.4.10 192.168.4.9

    iroute 192.168.0.0 255.255.255.0

    Имя файла совпадает с именем клиента, как указывал автор статьи. Ну и кладется этот файл в директорию, которую объявили в конфиге сервера. У меня не сразу, но сработало.

  5. 2020-01-11 в 22:09:07 | alexandr

    рабочий вариант:

    1. настроить по инструкции автора

    2. подключиться к openvpn серверу, при этом сервер выдаст случайный ip и пропишет его в ipp.txt

    3. остановить сервер

    4. отредактировать файл ipp.txt (вписать нужный ip)

    5. запустить сервер

    6. подключиться. Теперь присвоен нужный ip

  6. 2020-04-20 в 13:18:54 | Vadim

    Назначаем ipp.txt только для чтения...

  7. 2020-10-26 в 17:53:11 | Аноним

    Правильный формат:

    username1,ip-address,
    username2,ip-address,
    username3,ip-address,
  8. 2021-12-22 в 23:32:14 | Baster

    Не работает ни тот, ни другой способ.

    Всё было ок с client-config-dir на старой кубунте 14.04, не помню, какая версия openvpn там была, реп опенвпн'овский был подключен, easy-rsa 2.

    Поставил 20.04, поначалу запихал в конфиг и ccd, и ipp - присваивает адреса по своему усмотрению, при этом, как уже отмечали, в ipp пишет другие, кажется на 2 меньше. Остановил, отредактировал ipp, запустил - перезаписывает, при этом может удалить подключенных, а неподключенных переписать.

    Остановил, поменял в конфиге ipp на ccd, запустил - опять адреса от балды, и всё равно в ipp снова записал.

    Последний коммент - запятые в конце каждой строки ipp - не катит, перезаписывает по своему, без этих запятых.

  9. 2022-05-05 в 12:47:50 | Аноним

    2.4.6 - работает, но важно положение строки ifconfig-pool-persist ipp.txt в конфиге.

    Так же не работало и очищало файл ipp.txt при старте сервера пока не переместил строку в конец файла конфига. После - сервер стал сам писать ip новых клиентов в файл и присваивать существующие.

  10. 2022-08-23 в 12:59:37 | Demon98

    Вот так лучше думаю

    Идём в 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/

ваш комментарий будет опубликован после проверки
на указанный адрес будет отправлено письмо с кодом активации. Вы можете настроить собственный профиль и стать активным участником или автором.