Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Какое максимальное количество клиентов можно подключить к серверу OpenVPN  (Прочитано 6908 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kuzmin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Всем доброго времени суток.
Возможно мой вопрос покажется банальным, но я не нашел на него ответа, понятного мне :)
Мне нужно подключить более 100 клиентов к ОпенВПН-серверу, причем всем необходимо назначить статический адрес.
В конфиге сервера указана сеть, в которой раздаются адреса
server 10.9.8.0 255.255.255.0
Адреса клиентам назначаются в client-config-dir /etc/openvpn/ccd
Все работает, все прекрасно, но адреса кончаются :) Реально получается их всего 63 можно назначить.
Нет в конфиге для клиента можно указать, например, адрес из другой подсетки (ifconfig-push 10.9.9.5 10.9.9.6) и клиент его получит, но видеть клиентов из сети 10.9.8. он не может
Каким образом решить эту проблему?
« Последнее редактирование: 01 Июля 2017, 19:03:03 от Kuzmin »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Kuzmin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Потому что адреса назначаются не все подряд,в строку ifconfig-push <IP-адрес клиента> <IP-адрес сервера> выбираются адреса по такой табличке https://sergeysl.ru/freebsd-openvpn-client-static-ip/
Первый адрес всегда забирает себе сервер.
Вот и остается 63 :)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
253

Пользователь добавил сообщение 01 Июля 2017, 19:53:12:
Вот и остается 63
Учитесь считать. На пальцах, если в уме не получается.
Адрес сети .0, широковещательный .255, один адрес берёт сервер.
256 - сеть - броадкаст - сервер = 253.
« Последнее редактирование: 01 Июля 2017, 19:53:12 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Kuzmin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Для задания статического адреса клиенту в файл с именем клиента в папке /etc/openvpn/ccd прописывается строка ifconfig-push <IP-адрес клиента> <IP-адрес сервера>, где пара адресов берется из таблицы по ссылке, которую я выше дал. Т.е. для первого клиента ifconfig-push 10.9.8.5 10.9.8.6, для второго ifconfig-push 10.9.8.9 10.9.8.10
И всего там 64 пары. Это если не в уме, а на пальцах посчитать.
Адреса не подряд идут, и не абы-какие, а только так.
Или я чего-то не понимаю?
Таблицу   сюда никак не могу скопировать, не проходит потом проверка почему-то, уже устал загадки отгадывать :)
Пожалуйста, если есть сказать по существу - подскажите, нет - не нужно абы о чем разводить холивар
« Последнее редактирование: 01 Июля 2017, 20:08:00 от Kuzmin »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Бред какой-то… Ну если хотите, что мешает расширить сеть 10.9.8.0 255.255.252.0?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Kuzmin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Попробовал на опытных виртуалках, получается пинговать с клиента 10.9.8.13 клиента 10.9.11.5.
Спасибо, решение в общем-то очевидное, наверное. Но я как-то не сообразил сразу, пытался маршрутизацию в iptables настраивать.
Спасибо за помощь, удачи Вам!

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
пара адресов берется из таблицы
Далась вам эта таблица…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Vail

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Учитесь считать. На пальцах, если в уме не получается.
Адрес сети .0, широковещательный .255, один адрес берёт сервер.
256 - сеть - броадкаст - сервер = 253.

OpenVpn на каждого клиента использует 4 IP адреса. Отсюда 256/4-1=63

Итак, если взять маску подсети 255.255.255.0 тогда IP адреса вашего диапазона будут от 10.9.8.0 до 10.9.8.255
Если маска подсети 255.255.0.0 тогда IP адреса будут от 10.9.0.0 до 10.9.255.255
Учитывая, что используется по 4 IP адреса на устройство - это более 16000 устройств.
Есть и промежуточные варианты, но мне лень тут расписывать их. Смотрите выше.
ifconfig-push нужен для присвоения определенного IP адреса на клиенте.

Вот вам простенький скрипт для создания файлов клиентов.

#!/bin/bash
name=1 #Номер первого усттройства 
for s in {0..255}; do #Диапазон IP
for (( i=1; $i<=255; i=$i+4 )); do #Диапазон IP
let "v=$i+1"
let "name=$name+1"
nullname=`printf '%05d\n' $name`
echo "ifconfig-push 10.8.$s.$i 10.8.$s.$v" > "UNIT"$nullname
done
done

Запускать под рутом в папке /etc/openvpn/clients/


« Последнее редактирование: 02 Июля 2017, 12:29:10 от Vail »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
А что-то про параметр topology subnet никто не вспоминает. Или у всех древний OVPN?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
OpenVpn на каждого клиента использует 4 IP адреса.
У вас неправильный OVPN.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Vail

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
В openvpn нельзя просто так назначать какие захочешь адреса. В openvpn адреса разбиты на подсети из 4-ох адресов: network, IP, gateway, broadcast. Поэтому, что бы знать, какие адреса можно было бы выделять, а какие нельзя, приведу таблицу, которая разбита на пары, которые можно выделять клиентам. Первый IP — это выделяемый адрес, второй — это адрес шлюза. В конфиге так и писать (сначала идёт меньший адрес, потом больший):

Это из данной статьи.

http://skeletor.org.ua/?p=202

А вот ссылка на официальный форум:

https://openvpn.net/index.php/open-source/faq/77-server/273-qifconfig-poolq-option-use-a-30-subnet-4-private-ip-addresses-per-client-when-used-in-tun-mode.html

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
В openvpn нельзя просто так назначать
какие захочешь адреса.
Как и в любой другой сети.

В openvpn адреса разбиты на подсети из 4-ох адресов:
Я Вас умоляю. Когда же Вы снимите шоры?

Оффлайн Esmertec

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
В openvpn нельзя просто так назначать какие захочешь адреса.
вообще-то можно назначить на каждого пользователя статику через конфиги роутов находящихся в папке openvpn/ccd, у меня сейчас так около 200 пользователей подключены к openvpn, со статическими ip в тунеле

 

Страница сгенерирована за 0.074 секунд. Запросов: 25.