Как сервер OpenVPN присваивает клиентские IP-адреса в случае мультиклиентской конфигурации?

[112350] Я просто хотел бы обратить внимание на этот ответ @Gilles в [112825]Exclude paths that make find complain about permissions - Unix & Linux Stack Exchange[112826]; он в основном включает конструкцию для [112827]find[112828], которая не делает его нисходящим нечитаемым каталогом, и в этом смысле, вероятно, также немного быстрее. Похоже, это работает на меня:
  • GNU [113348] находит[113349] или любой другой [113350] находит[113351], который поддерживает [113352]-читаемый[113353] и [113354]-исполняемый[113355] предсказывает:
  • или также это:
  • По какой-то причине мне нужно добавить все [112831]g+r,u+r,o+r[112832] (ярлык для этого - [112833]a+r[112834]), иначе, если один из них окажется нерабочим, я все равно могу получить хиты "Разрешение отклонено".

    Вот краткое описание того, как я это вижу (обратите внимание, что оператор [112835]-a[112836] (и) в [112837] find[112838] является [112839] неявным между двумя предикатами [112840]): Обратите внимание, что без последней [112841]-печать[112842] я получаю некоторые дополнительные показанные элементы (которые не имеют никакого отношения к [112843]-имени 'netcdf'[112844]); [112845]-печать[112846] гарантирует, что будут выведены только совпадения с именами (если таковые имеются). [112363]

    2
    13.04.2017, 15:36
    1 ответ

    OpenVPN не документирует точный алгоритм, который он использует для поиска свободных адресов в пуле, потому что это деталь реализации, и это не имеет значения, если это бесплатный адрес. Тем не менее, вы можете посмотреть, какой алгоритм он использует, глядя на функцию ifconfig_pool_find в POUL.C :

    • Если в Duplicate_cn режим, возьмите первое бесплатно адрес.
    • Если IP-адрес, ранее использовавшийся одним и тем же клиентом, все еще бесплатны, выберите его.
    • В противном случае выберите наименее недавно использованный бесплатный адрес из бассейна.

    Что касается вашего другого вопроса:

    remote 10.8.0.1 1194
    

    Нет, вы определенно не должны использовать это как Remote адрес . Поскольку вы пытаетесь достичь сервера туннеля через сам туннель, и туннель еще не установлен в этой точке (во время инициализации), вы не можете связаться с сервером. Если вы как-то могли установить туннель, у вас будет петли маршрутизации.

    Чтобы установить туннель, вам необходимо иметь IP-адрес, на котором вы можете связаться с другой конечной точкой туннеля без пользы от туннеля. Обычно это будет доступным общедоступным интернет-адресом для этой конечной точки. Это то, что вы должны дать для удаленного .

    2
    27.01.2020, 22:12

    Теги

    Похожие вопросы