Назад | Перейти на главную страницу

Может ли OpenSMTPD ретранслировать почту с IP-адреса из белого списка?

Я использую opensmtpd, и все в порядке.

Конечно, я не использую открытый ретранслятор и строго контролирую, как почта отправляется через почтовый сервер.

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

Могу ли я пропустить все сложные механизмы аутентификации и просто сказать opensmtpd: "Пересылать почту от ЭТОТ Айпи адрес" ?

Мне бы очень хотелось просто добавить одну строку в мою конфигурацию, указав один IP-адрес, который разрешен, как если бы это был локальный почтовый сервер, и не нужно было делать сложные конфигурации как на стороне клиента, так и на стороне сервера ...

Я никогда не использовал OpenSMTPD, но SMTPD.CONF (5) кажется весьма полезным. Есть даже пример того, как настроить сервер для отклонения сообщений, если они не поступают с IP-адресов, перечисленных как другие ретрансляторы.

Сайты, которые принимают нелокальные сообщения, могут сократить объем получаемого спама, отклоняя поддельные сообщения, которые утверждают, что они поступают из локального домена. В следующем примере используется таблица со списком другие реле для указания IP-адресов ретрансляторов, которые могут законно отправлять почту с доменом владельца в качестве отправителя.

table aliases file:/etc/mail/aliases
table other-relays file:/etc/mail/other-relays

listen on lo0
listen on egress

action "local_mail" mbox alias <aliases>
action "outbound" relay

match for local action "local_mail"
match for any action "outbound"
match !from src <other-relays> mail-from "@example.com" for any \
      reject
match from any for domain example.com action "local_mail"

В match for any довольно раскрепощен и требует match !from src <other-relays> чтобы ограничить его еще больше, но поскольку вы запросили одну строку конфигурации, вы можете использовать противоположный подход. Например. если вы хотите внести в белый список, т.е. разрешить неограниченную ретрансляцию из 198.51.100.10, ты мог:

match from src 198.51.100.10 for any relay

Если это не работает напрямую, вам может потребоваться сначала указать простое действие реле:

action "outbound" relay
match from src 198.51.100.10 for any action "outbound"

Это:

  • match параметры действие название

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

    • [!] from src адрес | <address>

      Укажите, что сеанс может происходить только из адреса строки или таблицы списка, который может быть конкретным адресом или подсетью, выраженной в нотации CIDR.

    • [!] for any Укажите, что сеанс может быть адресован любому месту назначения.

  • action название метод [параметры]

    • relay Передайте сообщение другому SMTP-серверу.