
Я пытаюсь разрешить внешнему серверу использовать мой веб-сервер (работающий с postfix) для ретрансляции электронной почты. Я прочитал несколько статей о настройке iptables и думаю, что у меня все получилось, но я все еще не могу заставить почту работать. Я также не могу подключиться по telnet к порту 25 на веб-сервере. Ниже мой iptables. Кто-нибудь заметил что-нибудь, что я упустил?
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p udp -m udp --dport 123 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s X.X.X.X/32 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s X.X.X.X/32 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p udp -m udp --sport 123 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
решение1
По умолчанию в большинстве дистрибутивов postfix
включен режим прослушивания.127.0.0.1
- открыть
/etc/postfix/main.cf
- Найдите группу строк, начинающихся с
inet_interfaces
Вы можете увидеть один не прокомментированный, например
inet_interfaces = localhost
Это означает, что он слушает только на localhost или 127.0.0.1. Измените его на
inet_interfaces = all
Затем перезагрузите компьютер postfix
и все должно заработать.