вот моя проблема:
# iptables -P INPUT DROP
# host -t mx gmail.com
;; connection timed out; no servers could be reached
# iptables -P INPUT ACCEPT
# host -t mx gmail.com
gmail.com mail is handled by 20 alt2.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 5 gmail-smtp-in.l.google.com.
gmail.com mail is handled by 40 alt4.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 10 alt1.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 30 alt3.gmail-smtp-in.l.google.com.
после установки iptables для отбрасывания всех входных пакетов, если не указано иное, я не могу разрешить хосты, и поэтому postfix не может отправлять почту. Я думаю, что очень важно установить брандмауэр - какую настройку брандмауэра я пропустил?
вот мои текущие iptables:
# iptables -L INPUT -n -v
Chain INPUT (policy ACCEPT 120 packets, 17552 bytes)
pkts bytes target prot opt in out source destination
2669K 160M fail2ban-ssh-ddos tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
2669K 160M fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
122 19135 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
252 27262 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:143
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
46 3191 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
264 2459K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
Вам не хватает правила для приема трафика на основе существующего трафика (правила, которое делает iptables отслеживающим состояние). Это должно быть вашим самым первым правилом:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT