Я могу получать почту, но не могу отправлять во внешний мир в Squirrelmail.
Message not sent. Server replied:
Temporary authentication failure
454 4.7.1 <email@somemail.com>: Relay access denied
Я дважды проверил, что postfix работает, т.е. может подключаться по telnet через mail.domain.com и smtp.domain.com. Dovecot тоже работает. Кажется, что Squirrelmail - подозреваемый. Играя с конфигурациями, не уверен, что может вызвать проблему.
Журналы показывают эту информацию:
mail.domain.com postfix/smtpd[4443]: connect from mail.domain.com[XXX.XXX.XXX.XXX]
mail.domain.com postfix/smtpd[4443]: NOQUEUE: reject: RCPT from mail.domain.com[XXX.XXX.XXX.XXX]: 454 4.7.1 <email@somemail.com>: Relay access denied; from=<user@domain.com> to=<email@somemail.com> proto=ESMTP helo=<mail.domain.com>
mail.domain.com postfix/smtpd[4443]: lost connection after RCPT from mail.domain.com[XXX.XXX.XXX.XXX]
mail.domain.com postfix/smtpd[4443]: disconnect from mail.domain.com[XXX.XXX.XXX.XXX] ehlo=1 mail=1 rcpt=0/1 commands=2/3
netstat -plntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 940/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 940/dovecot
tcp 0 0 192.168.124.1:53 0.0.0.0:* LISTEN 1107/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1905/cupsd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 937/master
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 940/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 940/dovecot
tcp6 0 0 :::110 :::* LISTEN 940/dovecot
tcp6 0 0 :::143 :::* LISTEN 940/dovecot
tcp6 0 0 :::80 :::* LISTEN 3521/httpd
tcp6 0 0 ::1:631 :::* LISTEN 1905/cupsd
tcp6 0 0 :::993 :::* LISTEN 940/dovecot
tcp6 0 0 :::995 :::* LISTEN 940/dovecot
udp 0 0 127.0.0.1:323 0.0.0.0:* 736/chronyd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 722/avahi-daemon: r
udp 0 0 0.0.0.0:55024 0.0.0.0:* 722/avahi-daemon: r
udp 0 0 192.168.124.1:53 0.0.0.0:* 1107/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 1107/dnsmasq
udp6 0 0 :::41119 :::* 722/avahi-daemon: r
udp6 0 0 ::1:323 :::* 736/chronyd
udp6 0 0 :::5353 :::* 722/avahi-daemon: r
Iptables следующие:
iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A FORWARD -d 192.168.124.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.124.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.124.0/24 ctstate RELATED,ESTABLISHED
ACCEPT all -- 192.168.124.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
iptables-save
*mangle
:PREROUTING ACCEPT [9985:4365661]
:INPUT ACCEPT [9969:4364853]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [10509:2272775]
:POSTROUTING ACCEPT [10545:2275457]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
*nat
:PREROUTING ACCEPT [78:6056]
:INPUT ACCEPT [62:5248]
:OUTPUT ACCEPT [1057:68220]
:POSTROUTING ACCEPT [1057:68220]
-A POSTROUTING -s 192.168.124.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.124.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.124.0/24 ! -d 192.168.124.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.124.0/24 ! -d 192.168.124.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.124.0/24 ! -d 192.168.124.0/24 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [9969:4364853]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [10509:2272775]
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A FORWARD -d 192.168.124.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.124.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
COMMIT
Обновление 15.11.2017: эта проблема решена путем изменения конфигурации в Squirrelmail. Бегать
/usr/share/squirrelmail/config/conf.pl
Перейдите в: Настройки сервера -> Обновить настройки IMAP -> imap.domain.com и Обновить настройки SMTP -> smtp.domain.com. Раньше это был просто localhost.
Обновление 14.11.2017: брандмауэр отключен и снова можно отправлять почту. Однако проблемы с iptables остались. Также в SELinux я пробовал:
setsebool -P httpd_can_network_connect 1
Обновление 13.11.2017 Невозможно отправить электронное письмо на Squirrelmail после включения брандмауэра и открытия портов 80/443, 25/143. Пожалуйста помоги!
ОШИБКА: сообщение не отправлено. Сервер ответил:
Connection refused
111 Can't open SMTP stream.
Этот вопрос исходит из следующей ветки. Сервер Postfix, dovecot, squirrelmail может отправлять, но не получать электронные письма
Наконец, я смог отправить электронное письмо, отредактировав файл конфигурации Squirrelamil. В основном я перешел с SMTP на Sendmail. В /etc/squirrelmail/config.php изменить
$useSendmail = true;
затем перезапустите apache
systemctl restart httpd
затем разрешите Selinux использовать sendmail
setsebool -P httpd_can_sendmail=1
Сомневаюсь, что такая конфигурация Squirrelmail продержится долго. Я определенно поиграю с этим. Пока не знаю, почему SMTP не работал, но sendmail работал. Надеюсь, разберемся, возясь с SELinux. А пока у кого-нибудь есть мнение о том, что лучше всего использовать - SMTP или Sendmail?