Блог PQ Hosting

04.05.2022, 00:18

При использовании OpenVPN для организации частной виртуальной сети часто возникает необходимость, чтобы у клиентов были статические IP адреса. Это достаточно удобно для того, чтобы быстро получить доступ к нужному устройству. Добавится этого можно двумя способами. С помощью файла ipp.txt или директории ccd. В статье рассмотрим оба способа как сделать статический IP клиента OpenVPN.

Настраиваем IPP.TXT

Название ipp расшифровывается как ifconfig pool persist. Для того чтобы IP адреса из этого файла работали необходимо добавить такую строчку в конфигурационный файл сервера:

$ sudo vi /etc/openvpn/server.conf

$ ifconfig-pool-persist ipp.txt

Затем нужные IP адреса можно добавить в файле /etc/openvpn/ipp.txt. Синтаксис этого файла такой:

имя_клиента,ip_адрес

Обращаем внимание на то, что IP адрес должен быть в диапазоне выдаваемых адресов OpenVPN сервером. Посмотреть диапазон можно найдя строчку server в конфигурационном файле сервера:

server 10.8.0.0 255.255.255.0

Здесь используются IP адреса от 10.8.0.1 до 10.8.0.255. Причём первый адрес присваивается самому серверу. Можно посмотреть какой адрес присвоен серверу сейчас и из той же подсети выдавать адреса клиентам. Узнать адрес сервера можно посмотрев IP адрес сетевого интерфейса tun0:

$ ip -br a | grep tun

Как сделать статический IP клиента OpenVPN.

Если вы хотите чтобы для клиента raspberrypi использовался IP адрес 10.8.0.112 необходимо добавить такую строчку в файл ipp.txt:

$ sudo vi /etc/openvpn/ipp.txt

raspberrypi,10.8.0.112

Как сделать статический IP клиента OpenVPN.

Для применения изменений необходимо перезапустить сервер OpenVPN:

$ sudo systemctl restart openvpn@server

Настраиваем CCD

Вариант с ipp.txt легкий. Если необходимо больше настроек, то можно воспользоваться ccd. Это расшифровывается как client config dir. С помощью этой возможности можно для каждого клиента задавать отдельную конфигурацию, в том числе и IP адрес. Чтобы это работало надо добавить в конфигурационный файл такую строчку:

$ sudo vi /etc/openvpn/server.conf

client-config-dir /etc/openvpn/ccd

В папке /etc/openvpn/ccd можно создавать конфигурационные файлы с именем клиента и прописывать туда настройки, которые будут применены конкретно для этого клиента при подключении.

Если вы хотите чтобы для клиента raspberrypi выдавался IP адрес 10.8.0.112. Нужно создать файл /etc/openvpn/ccd/raspberrypi с таким содержимым:

$ sudo vi /etc/openvpn/ccd/raspberrypi

ifconfig-push 10.8.0.112 255.255.255.0

Как сделать статический IP клиента OpenVPN.

Дальше необходимо перезапустить OpenVPN

Проверяем IP адреса клиентов

Независимо от выбранного вами метода, надо проверить применились ли изменения. На устройстве клиента вводим команду:

$ ip -br a

Как сделать статический IP клиента OpenVPN.

Мы рассмотрели несколько способов как сделать статические IP адреса клиентов OpenVPN.