Jak możesz przetestować zapasowy / pomocniczy serwer MX?

10

Chcę skonfigurować dodatkowy serwer MX za pomocą Postfix, ale zastanawiam się, jaki jest najlepszy sposób przetestowania tego przed wprowadzeniem do produkcji (poprzez dodanie wpisu MX)?

Jednym z możliwych sposobów jest przetestowanie go pod zupełnie inną nazwą domeny, tj. Kup domenę taką jak „fake-test-domain.com” i skonfiguruj jej strefę DNS TYLKO na tym zapasowym serwerze MX.

Czy jest jakiś łatwiejszy sposób, aby zmusić serwer pocztowy do wysłania wiadomości na ten serwer, zanim zostanie wymieniony w DNS?

Nie sądzę, że mogę użyć pliku hosts w systemie wysyłającym, ponieważ nie emulowałby on rekordu MX, prawda?

thomasrutter
źródło
2
Możesz po prostu włączyć dodatkowy MX. Tak długo, jak ma niższy prio w rekordach MX, dostawa nie zostanie zrealizowana i możesz przetestować, jak wspomniano w @EEAA. BTW: strzeż się, że rezerwowe serwery pocztowe są pułapkami spamu. A jeśli nie skonfigurujesz weryfikacji adresata, otrzymujesz wiele odesłanych wiadomości do dowolnego spamera z adresu. Możesz skonfigurować ręczny lub automatyczny system kontrolujący reguły iptables dotyczące dostępu do portu 25. Większość serwerów wysyłających ma trzydniowy czas odroczenia, więc łatwo jest ręcznie otworzyć rezerwowy port MX tylko wtedy, gdy jest to konieczne.
Halfgaar
Chciałbym zapytać, dlaczego uważasz, że potrzebujesz dodatkowego MX?
joeqwerty
@Halfgaar, jeśli pomocniczy serwer MX jest źle skonfigurowany, może to prowadzić do utraty poczty w mało prawdopodobnym przypadku, gdy nadawca nie będzie mógł połączyć się z podstawowym serwerem MX z jakiegokolwiek powodu (w tym problem z łącznością na ich końcu). Przynajmniej jeśli nie został jeszcze dodany do DNS, wówczas przejściowy problem z podstawowym nie spowoduje utraty poczty - nadawca po prostu umieści ją w kolejce i spróbuje ponownie później.
thomasrutter
@ joeqwerty Tak naprawdę myślę o migracji serwera pocztowego na inną maszynę, co będzie wymagało skonfigurowania starego serwera w celu przekazywania do nowego serwera podczas propagacji DNS (nawet przy niskich wartościach TTL, niektóre programy tłumaczące będą buforować przez 30 minut lub dłużej) . Ponieważ i tak będę musiał podjąć wysiłek, aby to przekazywanie działało poprawnie, pomyślałem, że równie dobrze mogę utworzyć kopię zapasową konfiguracji serwera MX. I będzie to doświadczenie edukacyjne. To było tylko po to, aby dać trochę tła na temat tego, dlaczego.
thomasrutter

Odpowiedzi:

20

Wystarczy przetestować dostarczanie wiadomości e-mail za pomocą sesji Telnet . Jako przykład,

# telnet host.domain 25
Trying host.domain...
Connected to host.domain.
Escape character is '^]'.
220  ESMTP
HELO example.com
250
MAIL FROM:<[email protected]>
250 ok
RCPT TO:<[email protected]>
250 ok
DATA

To: [email protected]
From: [email protected]
Subject: a test message

Test message body.
.
250 ok
EEAA
źródło
13
+1 - Każdy, kto administruje serwerem SMTP, ale nie może uruchomić protokołu „ręcznie” w TELNET, nie ma firmy administrującej serwerem SMTP.
Evan Anderson
1
@EvanAnderson Jest to dobra ogólna zasada do momentu przetestowania STARTTLS lub dowolnego AUTA innego niż PLAIN. Ale tak, w tym przypadku masz absolutną rację.
thomasrutter
2
@ thomasrutter Rutynowo testuję STARTTLSręcznie, używając openssl s_client -starttls smtp -connect .... Ale zgadzam się, że metody uwierzytelniania inne niż PLAIN są problematyczne.
MadHatter
2

Gdy telnet nie wystarcza lub jest zbyt nudny, używam SWAKS

na przykład:

 cat email-content.txt | 
 swaks --body - --helo localhost.localhomain --server mail.example.com:25 \
  --auth-user fred --auth-password flintst1 -tls \
  --h-Subject Pebbles  --to [email protected]
  --from '[email protected]'
użytkownik313114
źródło
sudo apt install swakspracował nad ubuntu
Donn Lee