可以 Telnet 到埠 21 但不能 25、110
我在我的 Centos 郵件伺服器上執行 postfix 和 dovecot。
現在我可以從伺服器向外部發送郵件,但我無法接收來自外部的郵件。
TELNET:當我 telnet 到我的 ip 地址到埠 21 時,它可以連接,但是當對埠 25 和 110 執行此操作時,它無法連接,因此有些東西阻止了它。
現在,在 IPTABLES 中,我啟用了以下所有埠以允許流量:80,21,25,110,143。請參閱下面的我的 iptables 配置:
# Generated by iptables-save v1.4.7 on Fri Jul 5 22:08:10 2013 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [30:3200] -A INPUT -p tcp -m tcp --dport 5252 -j ACCEPT -m comment --comment "SSH" -A INPUT -p tcp -m tcp --dport 48001 -m comment --comment "SSH was 5252" -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT -A INPUT -m tcp -p tcp --dport 25 -j ACCEPT -A INPUT -m tcp -p tcp --dport 110 -j ACCEPT -A INPUT -m tcp -p tcp --dport 143 -j ACCEPT -A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j ACCEPT COMMIT # Completed on Fri Jul 5 22:08:10 2013 ~
問題: 1、為什麼我不能從外面telnet到25埠?(我相信這就是為什麼我無法接收來自外部的郵件的原因。
**注意:**我的 MX 記錄和反向 DNS 都可以正常工作,我相信如果我可以 telnet 到埠 25 和 110,我將能夠接收來自外部的郵件,還是我錯了?
PS:我使用以下 2 個教程設置了我的郵件伺服器:
後綴: http ://centoshelp.org/servers/mail/postfix-mail-server-on-centos/
編輯:netstat -tlnp
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:3306 0.0.0.0:* LISTEN 1284/mysqld tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 1313/dovecot tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1313/dovecot tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1146/vsftpd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1008/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2573/master tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 1802/sshd tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 2038/sshd tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN 2357/sshd tcp 0 0 127.0.0.1:6013 0.0.0.0:* LISTEN 2583/sshd tcp 0 0 0.0.0.0:48001 0.0.0.0:* LISTEN 1767/sshd tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1313/dovecot tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 1313/dovecot tcp 0 0 :::110 :::* LISTEN 1313/dovecot tcp 0 0 :::143 :::* LISTEN 1313/dovecot tcp 0 0 :::80 :::* LISTEN 1415/httpd tcp 0 0 ::1:631 :::* LISTEN 1008/cupsd tcp 0 0 ::1:25 :::* LISTEN 2573/master tcp 0 0 ::1:6010 :::* LISTEN 1802/sshd tcp 0 0 ::1:6011 :::* LISTEN 2038/sshd tcp 0 0 ::1:6012 :::* LISTEN 2357/sshd tcp 0 0 ::1:6013 :::* LISTEN 2583/sshd tcp 0 0 :::48001 :::* LISTEN 1767/sshd tcp 0 0 :::993 :::* LISTEN 1313/dovecot tcp 0 0 :::995 :::* LISTEN 1313/dovecot
解決方案- 仔細閱讀您的 POSTFIX main.cf 文件!
我在 /etc/postfix/main.cf 文件上犯了一個小錯誤 - 由於某種原因,inet_interfaces = localhost 行沒有被註釋掉,它推翻了 inet_interfaces = all 規則……再次感謝您的幫助,非常感謝。現在我也可以遠端登錄到 110 和 143。
看起來您的郵件伺服器只在 localhost 而不是您的公共 IP 上偵聽:
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
更改配置,使其偵聽正確的 IP。請務必*正確執行此操作,*因為錯誤配置的郵件伺服器是常態。