最近、ドメインを NoIP に移管したので、メール サーバーを作成する必要がありました。
(私は企業ではないため、静的/固定 IP を設定できず、ISP で企業回線を取得するための企業納税者番号も持っていないため、noip に移行する必要がありました...)
しかし、メールクライアントでは接続できません。
私は次のチュートリアルに従いました:https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql
ルーター内の Ubuntu マシンに IMAP、SMTP、POP、および LDAP ポートを割り当て/転送/開きました。
そして、cr7akg.com に MX レコードを作成しました: cr7akg.com 10
:
telnet cr7akg.com 25
およびの出力は次telnet cr7akg.com smtp
のとおりです。
Trying 85.245.177.97...
telnet: connect to address 85.245.177.97: Connection refused
telnet: Unable to connect to remote host
何が足りないのでしょうか? メール クライアントでメール サーバーに接続できないのはなぜですか?
出力sudo netstat -panet
Ligações de Internet Activas (servidores e estabelecidos)
Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado User Inode PID/Program name
tcp 0 0 0.0.0.0:7300 0.0.0.0:* ESCUTA 1001 12435 1231/perl
tcp 0 0 127.0.0.1:3306 0.0.0.0:* ESCUTA 117 95382 7965/mysqld
tcp 0 0 192.168.1.104:27754 0.0.0.0:* ESCUTA 1001 12434 1231/perl
tcp 0 0 127.0.0.1:587 0.0.0.0:* ESCUTA 0 138499 18957/sendmail: MTA
tcp 0 0 0.0.0.0:21 0.0.0.0:* ESCUTA 0 103425 9641/vsftpd
tcp 0 0 127.0.1.1:53 0.0.0.0:* ESCUTA 0 11938 1480/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* ESCUTA 0 10481 940/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* ESCUTA 0 205310 9231/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* ESCUTA 0 138498 18957/sendmail: MTA
tcp 0 0 127.0.0.1:6010 0.0.0.0:* ESCUTA 1000 212857 10119/4
tcp 0 264 192.168.1.104:22 192.168.1.90:62312 ESTABELECIDO 0 213850 10052/sshd: diogosa
tcp 0 0 192.168.1.104:48086 88.81.132.153:7301 ESTABELECIDO 1001 166071 1231/perl
tcp6 0 0 :::80 :::* ESCUTA 0 123277 7474/apache2
tcp6 0 0 :::22 :::* ESCUTA 0 10483 940/sshd
tcp6 0 0 ::1:631 :::* ESCUTA 0 205309 9231/cupsd
tcp6 0 0 ::1:6010 :::* ESCUTA 1000 212856 10119/4
アップデート:
sendmailを削除しました:
Ligações de Internet Activas (servidores e estabelecidos)
Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado User Inode PID/Program name
tcp 0 0 0.0.0.0:7300 0.0.0.0:* ESCUTA 1001 11794 1373/perl
tcp 0 0 192.168.1.104:27754 0.0.0.0:* ESCUTA 1001 11793 1373/perl
tcp 0 0 127.0.0.1:3306 0.0.0.0:* ESCUTA 117 11580 1227/mysqld
tcp 0 0 0.0.0.0:587 0.0.0.0:* ESCUTA 0 9180 1137/master
tcp 0 0 127.0.1.1:53 0.0.0.0:* ESCUTA 0 11664 1550/dnsmasq
tcp 0 0 0.0.0.0:21 0.0.0.0:* ESCUTA 0 8827 887/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* ESCUTA 0 8843 876/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* ESCUTA 0 15897 2344/cupsd
tcp 0 0 0.0.0.0:25 0.0.0.0:* ESCUTA 0 9174 1137/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* ESCUTA 1000 15993 2387/4
tcp 0 264 192.168.1.104:22 192.168.1.90:62541 ESTABELECIDO 0 15931 2351/sshd: diogosar
tcp6 0 0 :::587 :::* ESCUTA 0 9181 1137/master
tcp6 0 0 :::80 :::* ESCUTA 0 11125 1330/apache2
tcp6 0 0 :::22 :::* ESCUTA 0 8845 876/sshd
tcp6 0 0 ::1:631 :::* ESCUTA 0 15896 2344/cupsd
tcp6 0 0 :::25 :::* ESCUTA 0 9175 1137/master
tcp6 0 0 ::1:6010 :::* ESCUTA 1000 15992 2387/4
tcp6 0 0 ::1:56645 ::1:631 ESTABELECIDO 0 15325 1110/cups-browsed
tcp6 0 0 ::1:631 ::1:56645 ESTABELECIDO 0 15909 2344/cupsd
出力sudo iptables -L -vnx:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
答え1
問題は、メール サーバーをループ バック インターフェイスでのみ実行していることだと思います (上記の netstat 出力に :25 の他のエントリがないと想定します)。
tcp 0 0 127.0.0.1:25 0.0.0.0:* ESCUTA 0 138498 18957/sendmail: MTA
ホストの外部からはアクセスできません。ルータが転送する物理インターフェイス上で実行する必要があります。
答え2
リンク先のチュートリアルに従うことは不可能だと思います。なぜなら、(a) sendmail が MTA として実行されており、(b) でのみリッスンしているからです127.0.0.1
。後者が、他の場所からポート 25 に接続できない理由です。
これを変更するには、次の行を探します
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
を/etc/mail/sendmail.mc
次のように変更します
dnlDAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
または、完全に削除してください。 で設定ファイルを再作成しmake sendmail.cf
、 でサービスを再起動しますservice sendmail restart
。 でMTAがすべてのアドレスをリッスンしていることを確認しますnetstat -apn|grep -w 25
。次のような表示がされるはずです。
tcp 0 0 :::25 :::* LISTEN 8525/sendmail
4 列目の変更に注意してください (これらすべてのコマンドには権限が必要です)。その後、インターネット全体から MTA に接続できるようになります。ただし、(他の人が指摘しているように) ISP のデフォルトでは SMTP ポートと通信できないエンドポイントから接続しようとしていないことが前提となります。
編集: これで sendmail が削除され、postfix がインストールされ、サーバーはすべてのポートを listen するようになりました (netstat
上記の出力を参照)。サーバーはインターネット全体からアクセス可能になりました。
[me@risby ~]$ telnet cr7akg.com 25
Trying 85.245.177.97...
Connected to cr7akg.com.
Escape character is '^]'.
220 Ubuntu ESMTP Postfix (Ubuntu)
それで問題は解決しました。