LINUX.ORG.RU
ФорумAdmin

OpenVPN статический ip на клиенте.

 


0

2

Настраиваю OpenVPN и хочу задать конкретный ip для сервера пишу в конфиге ifconfig 10.8.0.200 255.255.255.0 а он мне все равно назначает 10.8.0.1 И еще хочу хочу устанавливать ip клиента на самом клиенте аналогично прописываю ifconfig 10.8.0.1 255.255.255.0 получаю все равно ip с сервера 10.8.0.2. Конфиги дефолтные только dev tap и ifconfig 10.8.0.200 255.255.255.0 на сервере и ifconfig 10.8.0.1 255.255.255.0 на клиенте добавлено. Что я делаю не так?

man openvpn

там написано, и почему сервер получает такой адрес

The server itself will take the ".1" address of the given network for use as the server-side endpoint of the local TUN/TAP interface.

и как правильно назначить клиенту статический адрес

OpenVPN's internal client IP address selection algorithm works as follows:

1 — Use --client-connect script generated file for static IP (first choice). 2 — Use --client-config-dir file for static IP (next choice). 3 — Use --ifconfig-pool allocation for dynamic IP (last choice).

anonymous ()
Ответ на: комментарий от vinnishtein

Это я прекрасно знаю, но мне нужно задавать ip именно на клиенте! Все клиенты подключаются под одним ключом. У меня несколько устройств которые сидят за натом, и доступа до них из нета нет. Мне надо что бы они прокидывали vpn на сервер и я мог к ним обращаться по vpn ip. Эти устройства должны всегда иметь один и тодже ip, что бы я мог из идентифицировать.
устр. 1 - 10.8.0.1
устр. 2 - 10.8.0.2
....
А сервер должен быть фикс ip 10.8.0.255 например.

Spinel ()
Ответ на: комментарий от Spinel

Дай им разные ключи.

И в /24 сетке (а она, судя по всему, у тебя именно такая) хост не имеет морального права на ip 10.8.0.255, это широковещательный адрес.

geladil ()
Последнее исправление: geladil (всего исправлений: 1)
Ответ на: комментарий от geladil

10.8.0.255 для сервера это не суть можно и 10.8.0.254 только как такой задать?

Spinel ()
Ответ на: комментарий от Spinel

Тогда, емнип, в конфиге на клиентской стороне:

ifconfig client-ip server-ip

Но вообще, использовать один ключ для нескольких клиентов — порочная практика. Если он скомпрометирован, при отзыве доступ теряют все.

geladil ()
Ответ на: комментарий от geladil

Я это понимаю но таковы условия, и мне не в силу их менять. Задачу приходится решать при таких вводных.

ifconfig client-ip server-ip не помогло!

Spinel ()
Ответ на: комментарий от Spinel

Это не в консоли, а в конфиге на клиенте, на всякий случай уточняю.

Если все равно не помогает — покажи логи клиента и сервера, только отвечу уже завтра.

geladil ()
Ответ на: комментарий от Spinel

насчет фиксированого ипа сервера:
в мане написано что сервер всегда берет .1 адрес, тоесть можно поменять только подсеть
с помощью client-config-dir и ifconfig-push каждому клиенту можно задать уникальный адрес но есть нюанс-пары адресов фиксированые, в мане приведены пары [ 1, 2] [ 5, 6] [ 9, 10] [ 13, 14] и тд(на деле пары начинаются с 5-6 выдаваться)
уникальность клиента определяется похоже только по имени, так что раз ты не можешь дать всем разные имена-присвоить фиксированые ипы не получится
как вариант костыль-пускай устройства подключаются как попало, и стучаться на .1 адрес каким то уникальным образом чтобы можно было их отличить, да хоть на веб сервер запрос шлют вида blabla.php?client=user1 и тд, а скрипт куда нибудь это записывает

vinnishtein ()
Ответ на: комментарий от geladil

в логах клиента
...
WARNING: using --pull/--client and --ifconfig together is probably not what you want
...
как бы намекает что нельзя в конфиге одновременно указывать client и ifconfig.

Spinel ()
Ответ на: комментарий от vinnishtein

Я использую dev tap!!!
После подключения я руками меняю ip на клеенте и на сервере на такие какие мне надо и все работает. Я просто не верю что такая мощная вещь как OpenVPN имеет такие ограничения. Оч. это странно. И я не могу сразу задать ip на интерфейсах какие мне надо.

Spinel ()
Ответ на: комментарий от Spinel

еще как вариант-разные порты подключения для разных устройств
получается 3 конфига сервера с тремя разными значениями port и подсетями, настраиваешь каждое устройство чтобы подключалось на свой порт. жирно только получается по одному интерфейсу на одно устройство со своей подсетью

vinnishtein ()
Ответ на: комментарий от Spinel

тоесть заданные из опенвпн значение не проходят? а если руками в консоли поменять через ifconfig значения то все начинает работать?

vinnishtein ()
Ответ на: комментарий от vinnishtein

если сам плохо разбираешься, лучше помолчи. Ни о --duplicate-cn, ни о разнице между --topology net30 и --topology subnet ты не знаешь, так что не лезь

anonymous ()
Ответ на: комментарий от anonymous

так и сделал на серваке а конфиг добавил

script-security 2
up ./up

#!/bin/bash

ifconfig $1 10.8.0.254 netmask 255.255.255.0
на клеенте
script-security 2
up ./up

#!/bin/bash

ifconfig $1 10.8.0.1 netmask 255.255.255.0
Работает, но это костыли какие-то товарищи я вам скажу.

Spinel ()
Ответ на: комментарий от Spinel

сменил бы на iproute2. ifconfig deprecated же

А по поводу костыльности — не поленись, сперва поищи, а потом спроси в пользовательской расссылке OpenVPN http://sourceforge.net/mail/?group_id=48978

anonymous ()

Конфиги дефолтные только dev tap

То есть на сервере вы указываете и ″ifconfig″ и ″server″?

mky ★★★★★ ()
Ответ на: комментарий от Spinel

Все клиенты подключаются под одним ключом.

Можешь делать вдоль.

Либо у тебя один ключ на всех, клиент = соединение и IP назначает сервер

Либо индивидуальные ключи, клиент идентифицируется сертификатом или именем и тогда клиент имеет право иметь иметь собственный постоянный IP.

Третьего здесь не бывает.

no-dashi ★★★★★ ()

в конфиг на сервере вставляем

 server 10.8.0.200 255.255.255.0 
это сервер статика
push "route 192.168.2.0 255.255.255.0"
это подсеть клиентам

Либо делать каждому клиенту сертификат и давать адрес по сертификату

Onixus ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.