Під час використання OpenVPN для організації приватної віртуальної мережі часто виникає потреба, щоб у клієнтів були статичні IP-адреси. Це досить зручно для того, щоб швидко отримати доступ до потрібного пристрою. Додасться цього можна двома способами. За допомогою файлу ipp.txt або директорії ccd. У статті розглянемо обидва способи як зробити статичний IP клієнта OpenVPN.
Назва ipp розшифровується як ifconfig pool persist. Для того щоб IP-адреси з цього файлу працювали, необхідно додати такий рядок у конфігураційний файл сервера:
$ sudo vi /etc/openvpn/server.conf
$ ifconfig-pool-persist ipp.txt
Потім потрібні IP-адреси можна додати у файлі /etc/openvpn/ipp.txt. Синтаксис цього файлу такий:
user_name, ip_address
Звертаємо увагу на те, що 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
Якщо ви хочете, щоб для клієнта raspberrypi використовували IP-адресу 10.8.0.112, необхідно додати такий рядок у файл ipp.txt:
$ sudo vi /etc/openvpn/ipp.txt
raspberrypi,10.8.0.11
Для застосування змін необхідно перезапустити сервер OpenVPN:
$ sudo systemctl restart openvpn@server
Варіант з 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
Далі необхідно перезапустити OpenVPN
Незалежно від обраного вами методу, треба перевірити, чи застосувалися зміни. На пристрої клієнта вводимо команду:
$ ip -br a
Ми розглянули кілька способів як зробити статичні IP адреси клієнтів OpenVPN.