vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Задумался над идеей назначать клиентам OpenVPN ip-адреса по значению поля subjectAltName в их сертификатах.
RFC 5280 предусматривает тип поля IP в SubjectAltName, и OpenSSL его вполне поддерживает.

Идея хороша тем, что при подключении нового клиента не нужно вообще ничего делать на сервере. Удостоверяющий центр, выписывая клиенту сертификат (что все равно надо сделать) выделяет ему IP и DNS-имя и прописывает иъ в этот сертификат. А задача сервера - просто согласиться с тем что подписано удостоверяющим центром.

Правда, похоже просто так не получится. Что-то я не вижу там, чтобы client-connect скрипто получил доступ ко всему сертификату или хотя бы к subjectAltName.

Upd Благодаря [personal profile] dzz родилось более простое решение:
Сейчас у меня в скрипте client-connect соответствие CN сертификата клиента и выданного ему IP записывается в динамическую зону DNS. Чтобы на того клиента логиниться по имени.

Так вот - сначала надо в DNS посмотреть, и если там это CN есть, то сказать openvpn-у "этому дай вот этот адрес". А вот уж если адреса такого в DNS нет - назначать первый свободный.
Это, конечно, не гарантирует от того что адрес будет переисиользован пока клиент будет в оффлайне. но все же.

Date: 2017-04-17 01:31 pm (UTC)
alexkuklin: (Default)
From: [personal profile] alexkuklin
а тебе так надо привязать фиксированные ip?

Date: 2017-04-17 01:49 pm (UTC)
dzz: Dizzy の冬 (Default)
From: [personal profile] dzz
У тебя так часто меняются IP-адреса серверов?

Date: 2017-04-17 02:21 pm (UTC)
dzz: Dizzy の冬 (Default)
From: [personal profile] dzz
sshd - SSH-server
ssh - SSH-client :)

Я не имел в виду обязательно промышленные серверы.

Date: 2017-04-17 02:28 pm (UTC)
dzz: Dizzy の冬 (Default)
From: [personal profile] dzz
> тогда любой windows- компьютер является SMB-сервером

Таки да :)

Date: 2017-04-17 03:08 pm (UTC)
dzz: Dizzy の冬 (Default)
From: [personal profile] dzz
> Тогда вопрос так ли часто меняются IP-адреса серверов кажется странным.

Ну, я не знал твоей специфики. Теоретически, могут быть "медленно меняющиеся" адреса.

> отдает адреса из пула в порядке прихода клиентов

Может быть, проще доработать openvpn-сервер для раздачи lease-ов?

Date: 2017-04-17 03:26 pm (UTC)
dzz: Dizzy の冬 (Default)
From: [personal profile] dzz
> А что у нас является аналогом mac-адреса?

Fingerprint открытого ключа? Ключ уникален для каждого устройства.

Date: 2017-04-17 04:44 pm (UTC)
From: [identity profile] tzirechnoy [lj.rossia.org]
ifconfig-pool-persist

Date: 2017-04-17 01:48 pm (UTC)
dzz: Dizzy の冬 (Default)
From: [personal profile] dzz
При таком подходе не выйдет раздавать динамические адреса, кроме того, на CA ложится несвойственная ему функция по управлению адресным пулом.

Date: 2017-04-17 02:14 pm (UTC)
dzz: Dizzy の冬 (Default)
From: [personal profile] dzz
VPN VPN-у рознь, в некоторых бывает суммарно больше клиентов, чем есть адресов в подсети.
Выделять каждому статик - довольно таки расточительно и чревато коллизиями.

Date: 2017-04-17 01:52 pm (UTC)
stanislavvv: (Default)
From: [personal profile] stanislavvv
У меня выдавать статические ip-адреса выходило только через CN при помощи client-config-dir в конфигурации сервера и прописании файликов с именем == CN клиента со всяческими ifconfig-push

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

Date: 2017-04-17 02:52 pm (UTC)
From: [identity profile] dmitrmax.livejournal.com
По одному сертификату в общем случае можно VPN-иться из разных мест одновременно. С фиксированным IP это не будет работать.

Date: 2017-04-17 03:09 pm (UTC)
From: [identity profile] dmitrmax.livejournal.com
Если это, чего вы хотите, то да. Однако к устройству всё равно это никакого биндинга иметь не будет.

Date: 2017-04-17 04:55 pm (UTC)
From: [identity profile] tzirechnoy [lj.rossia.org]
Файл с сертификатом лежыт, кстати, в месте, указанном переменной peer_cert .

А твой SubjectAltName из сертификата должэн быть в переменной X509_0_subjectAltName .

Date: 2017-04-17 06:38 pm (UTC)
From: [identity profile] dreams4rent.livejournal.com
Если дело только в ругани ssh, то и лечить можно только ssh.
Ssh умеет сертификаты. Если сделать свой ssh ca, то можно подписывать серверные ключи, а клиентам указать этой подписи верить.
Тогда ssh не ругается при смене IP адреса.

Date: 2017-04-17 09:45 pm (UTC)
From: [personal profile] hungry_ewok
А так что не так?:

[root@linux openvpn]# grep pool-per server.conf
ifconfig-pool-persist /etc/openvpn/ipp.txt

[root@linux openvpn]# cat ipp.txt
client7,10.8.0.4
client10,10.8.0.8
client2,10.8.0.12
client4,10.8.0.16
client3,10.8.0.20

Date: 2017-04-18 11:31 am (UTC)
dil: (Default)
From: [personal profile] dil
Ну вообще-то, openvpn его сам подписывает, чтоб запомнить, кому какие динамические адреса выдавал, но да, можно руками подписать туда что надо, и они будут статические.

Date: 2017-05-03 07:28 pm (UTC)
From: [identity profile] edo-rus.livejournal.com
он только дописывает?

Date: 2017-05-04 02:33 am (UTC)
dil: (Default)
From: [personal profile] dil
Ну и читает тоже

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 23 4 56 7
89 1011 12 13 14
1516 17 18 192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 24th, 2025 08:36 am
Powered by Dreamwidth Studios