• Слетает привязка IP-адреса в Openvpn, как исправить?

    @AlexeySetevoi
    На моей памяти ifconfig-pool-persist ipp.txt изначально задуман для того, чтобы раздавать айпишники из пула аналогично dhcp без обязательных привязок, и по истечению какого-то таймаута считает айпишник свободным и может его раздать.

    Если вам именно статично назначать, может проще и лучше через ccd(client-config-dir) сделать отдельные статические настройки на каждого клиента - они точно не меняются софтом?

    Либо если вам пул мил и дорог - у него есть третий параметр - число секунд. Ставите 0 - и openvpn не будет его обновлять.
    Однако, в оф.мануале никто не гарантирует что openvpn обязан руководствоваться этим файлом, он их как предложения рассматривает.

    Note that the entries in this file are treated by OpenVPN as suggestions only, based on past associations between a common name and IP address. They do not guarantee that the given common name will always receive the given IP address. If you want guaranteed assignment, use --ifconfig-push
    Ответ написан
    1 комментарий
  • Как одновременно поднять 2 openvpn туннеля (udp)?

    @AlexeySetevoi
    Тут механика какая, поведение по умолчанию текущей версии openvpn различается для tcp и udp.
    Для tcp соединений с клиента openvpn по-умолчанию автоматом выбирает незанятый непривилегированный порт на машине-клиенте и использует его в соединении с сервером, поэтому получается нормально, те как-то так:
    tcp        0      0 client:46788            ovpn1:10882             ESTABLISHED 2320/openvpn    
    tcp        0      0 client:38172            ovpn2:10882             ESTABLISHED 2322/openvpn

    Для udp openvpn с вашими конфигами не будет выбирать порт автоматом на клиенте - а попытается повесить процесс на локальный порт 1194. Первый успевший сделать коннект клиент нормально свяжется с сервером и займет 1194. Второй и последующие клиенты с такими конфигами будут пытаться занять 1194 - и получат отлуп - что и наблюдается в ошибке.
    Быстрые варианты это обойти - либо прописать в конфиге клиента локальный занимаемый порт статически те добавить по опции в каждый клиентский конфиг:
    lport 44455 - первому клиенту
    lport 44456 - второму клиенту

    либо, указать опцию
    nobind в каждом конфиге, в этом случае назначение локальных портов openvpn будет делать аналогично tcp автоматом.

    Вообще - задача выбора локального незанятого порта автоматом принципиально для tcp и udp не отличается bind() или connect() смотря где - поэтому такое поведение, на мой взгляд - это личное поведение openvpn продиктованное соображениями его сообщества, без какой-то обязательной привязки к теории.
    Ответ написан
  • Как запустить Perl-скрипт jpegultrascan?

    @AlexeySetevoi
    Если кратко - перл тут не причем, под капотом скрипта запускается jpegtran. Причем в расчете на линукс, для которого похоже написан/тестирован скрипт (судя по отсутствию проблем под свежим debian) - jpegtran по дефолту берется из libjpeg-turbo-progs. В win - можно взять его сборки отсюда, но в этом случае только пропадает данная ошибка (т.к скрипт начинает находить вывод jpegtran). Работать нормально - те по итогу что-то сжимать - у меня на трех ближайших картинках не получилось. Теоретически можно заморочиться с cygwin - но под ним в официальных репозиториях нет самого jpegtran.

    Вообщем - проще всего, без шуток - поставить виртуалку и воткнуть там debian/ubuntu и поставить там родной libjpeg-turbo, с ним точно работает.
    Ответ написан
    1 комментарий