Что использовать для имени хоста на выделенном сервере Linux?

. Я недавно столкнулся с вики-страницей Debian, в которой не рекомендуется явно указывать exim primary_hostname ]. Насколько я могу судить, вот код , который выбирает primary_hostname .

В принципе, либо у меня есть полное доменное имя в / etc / hostname ( myhostname .example.com ), или просто myhostname и строка в / etc / hosts :

ip.add.re.ss  myhostname.example.com  myhostname

Какой IP-адрес? 127.0.0.1 или внешний?

Думаю, можно, если полное доменное имя указывает на localhost . Так, myhostname в / etc / hostname , и следующее в / etc / hosts ?

127.0.0.1  myhostname.example.com  myhostname  localhost

Мне кажется довольно многообещающим:

$ hostname
myhostname
$ hostname -d
example.com
$ hostname --fqdn
myhostname.example.com

Кроме этого exim , вероятно, будет использовать myhostname.example.com для приветствия ( EHLO ). И это может повлиять на то, будут ли электронные письма считаться спамом или нет. Это или я должен отправлять почту с myhostname.example.com , а не с example.com ?

Может ли кто-нибудь разорвать цикл для меня? И это не только о exim . Есть ли оптимальные настройки, которые сделают всех счастливыми? Или большинство из них?

1
задан 2 May 2019 в 00:17
2 ответа

Я не уверен, что согласен с советом не настраивать primary_hostname явно. Конечно, в принципе хорошая идея - настроить имя хоста системы только в одном месте, а затем передать его через остальную систему, но реальность отправки электронной почты 2019 года такова, что вы не можете просто изменить исходящее полное доменное имя и ожидать чего-то чтобы продолжать работать. В идеале обратный DNS вашего исходящего IP-адреса и вашего HELO-имени будут одинаковыми и будут последовательно преобразовываться обратно в IP-адрес. Поэтому очень важно настроить правильный IP-адрес во внешнем DNS для вашего домена. Если вы знаете, что ваш сервер всегда будет иметь надежный доступ к этому внешнему DNS, тогда нет причин помещать что-либо из этого в / etc / hosts , и я бы просто придерживался 127.0.0.1 localhost там.

Для Exim я лично рекомендовал бы явную конфигурацию primary_hostname . Кроме того, я хотел бы обратить ваше внимание на параметр qualify_domain ,который по умолчанию имеет значение primary_hostname , но вы также можете явно указать только свое доменное имя.

1
ответ дан 3 December 2019 в 23:05

Теперь, когда я думаю об этом, идея рекомендации может заключаться в том, чтобы не изменять параметр, влияющий на других. Но лучше измените любой конкретный параметр, который вы хотите изменить. Хотите изменить заголовок From ? Измените / etc / mailname . HELO имя хоста? Измените helo_data . Что в основном сводится к следующему:

/etc/exim4/exim4.conf.localmacros ( HELO имя хоста):

REMOTE_SMTP_HELO_DATA = mydomain.com

/ etc / mailname ( From ] заголовок):

mydomain.com

Затем

# update-exim4.conf
# systemctl reload exim4

проверка

Вы можете подтвердить, что это работает, отправив тестовое электронное письмо на порт 25 средство проверки аутентификации :

echo test email | exim check-auth@verifier.port25.com  # replies back
echo test email | exim check-auth2@verifier.port25.com  # replies back
echo test email | exim check-auth-jsmith=yourdomain.com@verifier.port25.com  \
    # replies to jsmith@yourdomain.com

В полученном отчете будет строка :

HELO hostname:  somedomain.com

Или просто добавьте опцию -v :

# echo test email | exim -v root@dst.com
LOG: MAIN
  <= root@src.com U=root P=local S=290
delivering 1hM501-0007Nn-7A
R: dnslookup for root@dst.com
T: remote_smtp for root@dst.com
Connecting to mail.dst.com [ip.add.re.ss]:25 ... connected
  SMTP<< 220 dst.com ESMTP Postfix (Debian/GNU)
  SMTP>> EHLO src.com
  SMTP<< 250-dst.com
         250-PIPELINING
         250-SIZE 10240000
         250-VRFY
         250-ETRN
         250-STARTTLS
         250-ENHANCEDSTATUSCODES
         250-8BITMIME
         250 DSN
  SMTP>> STARTTLS
  SMTP<< 220 2.0.0 Ready to start TLS
  SMTP>> EHLO src.com
  SMTP<< 250-dst.com
         250-PIPELINING
         250-SIZE 10240000
         250-VRFY
         250-ETRN
         250-ENHANCEDSTATUSCODES
         250-8BITMIME
         250 DSN
  SMTP>> MAIL FROM:<root@src.com> SIZE=1322
  SMTP>> RCPT TO:<root@dst.com>
  SMTP>> DATA
  SMTP<< 250 2.1.0 Ok
  SMTP<< 250 2.1.5 Ok
  SMTP<< 354 End data with <CR><LF>.<CR><LF>
  SMTP>> writing message and terminating "."
  SMTP<< 250 2.0.0 Ok: queued as 0019EEC0B6D
  SMTP>> QUIT
LOG: MAIN
  => root@dst.com R=dnslookup T=remote_smtp H=mail.dst.com [ip.add.re.ss] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="CN=dst.com"
LOG: MAIN
  Completed

Или вы можете проверить почтовый ящик назначения:

получен exim :

Received: from [ip.add.re.ss] (helo=HELO_HOSTNAME)
    ...

получен postfix :

Received: from HELO_HOSTNAME (myhostname [ip.add.re.ss])
    ...

имя хоста и / etc / hosts

Я считаю, что имя хоста должно быть именем хоста, а не полным доменным именем.

Следует ли добавлять его в / etc / hosts ... Я бы не. Судя по тому, что я вижу, программное обеспечение в наши дни не ожидает, что имя хоста будет разрешено ни к чему. Или его можно отменить. (То есть, если вы где-то не используете имя хоста в качестве имени домена.) Это означает, что для 127.0.0.1 нужно только это:

127.0.0.1  localhost
0
ответ дан 3 December 2019 в 23:05

Теги

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