Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Mail Gateway
    PMG за HAProxy с postscreen

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    PMG за HAProxy с postscreen, Proxmox Mail Gateway
     
    William Edwards
    Guest
    #1
    0
    12.01.2019 13:12:00
    Я собираюсь настроить балансировку нагрузки между двумя узлами в одном кластере PMG с помощью HAProxy. Хочу использовать `postscreen`, чтобы работала функция «Доверенные сети» в PMG. Однако, когда я добавляю `postscreen` в файл Postfix `master.cf` вот так, отправка почты перестаёт работать:

    Код:
    <postscreen port>       inet  n -       -       -       1      postscreen
     -o content_filter=scan:127.0.0.1:10023
     -o smtpd_recipient_restrictions=permit_mynetworks,reject_unauth_destination
     -o smtpd_helo_restrictions=
     -o smtpd_client_restrictions=
     -o smtpd_sender_restrictions=

    При попытке отправить почту через порт postscreen получаю ошибку «Relay access denied». Где в PMG можно разрешить передачу через доверенные сети на другом порту?

    Информация о postscreen, HAProxy и SMTP: https://www.haproxy.com/fr/blog/efficient-smtp-relay-infrastructure-with-postfix-and-load-balancers/
     
     
     
    FGRO
    Guest
    #2
    0
    13.11.2019 19:35:00
    Мне кажется, у него перед pmg стоит haproxy, с которым нужно разобраться. В настройках postscreen_upstream_proxy_protocol прописываем haproxy, а на стороне haproxy добавляем параметры send-proxy для выделенной машины pmg. Тогда внешний IP будет прозрачен для pmg, иначе там видно будет IP прокси, который, скорее всего, не внесён в белый список для отправки почты, да и с RBL это тоже сыграет роль.
     
     
     
    proxminent
    Guest
    #3
    0
    08.12.2020 10:25:00
    Подробнее по ссылке https://www.haproxy.com/de/blog/efficient-smtp-relay-infrastructure-with-postfix-and-load-balancers/
     
     
     
    Fra
    Guest
    #4
    0
    25.04.2022 10:53:00
    Я только что запустил это, так что вот настройки, если кому-то нужно (это просто обновлённая версия очень понятной статьи https://www.haproxy.com/de/blog/efficient-smtp-relay-infrastructure-with-postfix-and-load-balancers/)  
    Код:  
    frontend smtp-25  
     bind *:25  
     mode tcp  
     timeout client 1m  
     log global  
     option tcplog  
     default_backend backend_pmg  

    backend backend_pmg  
     mode tcp  
     log global  
     timeout server 1m  
     timeout connect 5s  
     # опция 'send-proxy' включает proxy protocol v1, который передаёт исходный IP клиента в начале сессии  
     # (это отлично поддерживается Proxmox Mail Gateway)  
     server our-internal-pmg pmg.example.internal:25 send-proxy  

    Я не совсем понимаю, как настроить время ожидания с дефолтной установкой Proxmox Mail Gateway. Может, у кого есть опыт?
     
     
     
    Fra
    Guest
    #5
    0
    25.04.2022 15:10:00
    Обратите внимание, что, как указано в этой статье https://www.haproxy.com/de/blog/efficient-smtp-relay-infrastructure-with-postfix-and-load-balancers/, чтобы Proxmox Mail Gateway (а точнее его Postfix) мог понять директиву `send-proxy` (протокол proxy), нужно добавить эту настройку в конфигурацию Postfix:

    Code:
    postscreen_upstream_proxy_protocol = haproxy

    Без этой настройки при тесте SMTP-соединения через telnet smtp.myserver 25 вы получите ошибку 502 5.5.2 Error: command not recognized.

    Поскольку этой настройки нет в графическом интерфейсе PMG, следует воспользоваться https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#pmgconfig_template_engine, то есть сделать вот что:

    Code:
    cp /var/lib/pmg/templates/main.cf.in /etc/pmg/templates/
    mkdir /etc/pmg/templates
    echo "postscreen_upstream_proxy_protocol = haproxy" >> /etc/pmg/templates/main.cf.in
    pmgconfig sync --restart 1

    Честно говоря, я бы хотел просто *добавить* эту одну строку, оставляя возможность менять остальную конфигурацию Postfix при обновлениях ОС, но не знаю, как это сделать.
     
     
     
    Fra
    Guest
    #6
    0
    25.04.2022 15:32:00
    Но я не знаю, как сделать это правильно, поэтому решил использовать символическую ссылку (потому что опция ABSOLUTE path в template-toolkit не включена), так что всё выше можно заменить на следующий код:

    mkdir /etc/pmg/templates  
    ln -s /var/lib/pmg/templates/main.cf.in /etc/pmg/templates/original_main.cf.in  
    echo '[% INCLUDE original_main.cf.in %]' > /etc/pmg/templates/main.cf.in
    echo '# find me in /etc/pmg/templates/main.cf.in' >> /etc/pmg/templates/main.cf.in  
    echo 'postscreen_upstream_proxy_protocol = haproxy' >> /etc/pmg/templates/main.cf.in  
    pmgconfig sync --restart 1  

    Таким образом мы не теряем будущие обновления файла /var/lib/pmg/templates/main.cf.in. Это работает, но я не уверен, что это правильный способ использовать шаблоны. Есть какие-нибудь советы?
     
     
     
    Stoiko Ivanov
    Guest
    #7
    0
    27.04.2022 16:30:00
    Создавать символическую ссылку с /var/lib/pmg/templates/main.cf.in на /etc/pmg/templates — смысла особого нет. Если хотите переопределить настройки, просто скопируйте файл и внесите изменения там. Уже довольно давно при обновлении пакета вам будет предложено, если обнаружатся изменения в шаблонах, решить, что делать с вашими правками. Этого разве недостаточно для вашего случая?
     
     
     
    Fra
    Guest
    #8
    0
    27.04.2022 17:30:00
    Уже давно при обновлении пакета вас спрашивают, если обнаруживается, что поставляемые шаблоны изменились, и что делать с вашими модификациями. Ах, вы правы: это Debian (а не CentOS), плюс так избегаются предупреждения вроде «overriding earlier entry:» каждый раз, когда я выполняю `pmgconfig sync --restart`.
     
     
     
    Stoiko Ivanov
    Guest
    #9
    0
    27.04.2022 18:12:00
    Да, Debian действительно неплохо справляется с отслеживанием изменений в конфигурационных файлах — в этом случае мы добавили отслеживание вручную с помощью `ucf` (чтобы сравнивать файлы в /var/lib с файлами в /etc/). В любом случае, рад, что решение вам подходит.
     
     
     
    halv
    Guest
    #10
    0
    19.12.2024 18:50:00
    Привет, я проверил, но с последней версией это не работает. Можешь дать мне более подробные инструкции?
     
     
     
    bfrd9k
    Guest
    #11
    0
    29.12.2024 10:08:00
    Ответ в этом комментарии Фра от 25 апреля 2022 года, а не в том, на который ты отвечаешь.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры