ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

LinuxコミュのMXレコードの解決ができず、メールが外部から送受信できません。。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして、hoと申します。

MXレコードの解決ができず、メールが外部から送受信できなくて困っております。
大変恐れ入りますが、ご教授頂いても宜しいでしょうか。


【状況】
(1)linux本体側で、自分宛(linuxのメールアドレス)へメールを送信すると受信可能。
(2)GMAILを使って、自分宛(linuxのメールアドレス)へメールを送信すると受信不可。
件名:Delivery Status Notification (Failure)
---
This is an automatically generated Delivery Status Notification
Delivery to the following recipient failed permanently:
 ・
 ・
---
というエラーメールが1日後くらいに戻ってきます。

(3)同じネットワーク内(自宅)のPCからOutlookをlinuxのメールサーバへつなげて、Gmailへ送信不可。(1)で受信済みのメールは参照可能。
(4) (2)(3)で送信した際、linux側の/var/log/maillog には何も出力されない。アクセスが来ていないと思われます。
(4)DNSは、http://www.dyndns.org/で作成しました。Aレコードは解決できますが、MXレコードは解決されません。
上記サイトでの作成に不備や、漏れがある可能性があるのですが、
MXレコードが解決されない原因、もしくはMXレコードの登録方法何か分かりますでしょうか。


■linuxでdigを打って解決できてなかった結果↓Aレコードは出てきてました。
$ dig 自分のドメイン mx|grep -i mx
; <<>> DiG 9.3.2 <<>> 自分のドメイン mx
;自分のドメイン. IN MX


【自宅サーバ環境】
Fedora Core5
SMTP:Postfix
saslauthd あり
POP3/IMAP:Dovecot

以上よろしくお願いします。

コメント(32)

>(4)DNSは、http://www.dyndns.org/で作成しました。Aレコードは解決できますが、MXレコードは解決されません。

話だけ聞くと、ちゃんとMXレコード設定できてないみたいですね。

自分がdyndns.orgでMXレコードの設定をしたのは何年も前なので詳しいことは忘れましたが、
以下のサイトで設定例が出てるようです。
参考にされてみては?
http://www.geocities.jp/horrorshowguilty/ipsec/dyndns.html

※dyndnsってことは、ダイナミックDNSを使おうとしてるってことですが、
しょっちゅう、グローバルIP変わってるってオチは無いですよね???

いきなりメールサーバは敷居が高い気がするので、
まずは、Webサーバで外部からアクセスできることを確認してから、
メールサーバを立てることをお勧めします。
MXレコードは、Aコレードに向け直さないとダメですよ。

info@example.jp を例とします。

example.jp
@ MX mail.example.jp
mail A 127.0.0.1

Digの結果見せてください。
あと、バーチャルテーブル設定も観れば解決出来ると思います。
Support のページからヘルプらしきページを辿ると書いてあるのでちゃんと読んでみてください。
https://www.dyndns.com/services/dns/dyndns/howto.html

DynDNS.org の UI が分かりにくいといえば、それまでですが取得したドメイン名と
同名の MX レコードを付与するには Mail Routing のチェックボックスをオンにする
必要があります。
皆さん、早速のレスありがとうございます。又、仕事が遅くてレスが遅くなりましてすみません。


>KNOPP さん
グローバルIPは変わっても更新するように「DiCE」で更新しております。
WEBサーバは構築済みで、そちらは外部から参照可能でした。
ということはAレコード解決できていると思っています。digでも解決できましたし。。
>http://www.geocities.jp/horrorshowguilty/ipsec/dyndns.html
こちらのURLは拝見しました。Aレコードのままメールを受信したい場合は、MXレコード無しで直接配信されるようですが、メールが届かない状態です。
>ただし さん
digの結果貼り付けます。
hogeの部分は変えています。
hoge.ath.cxは実在しません。
一部伏字にさせて頂いております。


■Aレコード 解決
$ dig hoge.ath.cx

; <<>> DiG 9.3.2 <<>> hoge.ath.cx
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27911
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;hoge.ath.cx. IN A

;; ANSWER SECTION:
hoge.ath.cx. 18 IN A XXX.XXX.XX.78

;; Query time: 118 msec
;; SERVER: 192.168.11.1#53(192.168.11.1)
;; WHEN: Wed Jul 16 22:20:15 2008
;; MSG SIZE rcvd: 48

■MXレコード 未解決
$ dig hoge.ath.cx mx

; <<>> DiG 9.3.2 <<>> hoge.ath.cx mx
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53912
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;hoge.ath.cx. IN MX

;; AUTHORITY SECTION:
ath.cx. 10 IN SOA ns1.dyndns.org. hostmaster.dyndns.org. 2254860498 600 300 604800 600

;; Query time: 269 msec
;; SERVER: 192.168.11.1#53(192.168.11.1)
;; WHEN: Wed Jul 16 22:20:35 2008
;; MSG SIZE rcvd: 93
今さらなのですが、MXレコード解決しないのは、MXレコード登録してない為だと思います。
(自動的に登録されるのかと勘違いしておりました。すみません)

話がずれてしまうのですが、Aレコードのままメールを送信しようした場合、
member@hoge.ath.cx だと送信できないのですが、何か分かりますでしょうか。
普通は、mail.hoge.ath.cxというMXレコードを用意して、
member@mail.hoge.ath.cxで送信しないと駄目でしょうか。
member@hoge.ath.cxで、できれば送信したいです。

※変なドメインですが、「ath.cx」は、存在します。

恐れ入りますがよろしくお願いします
MX レコードが無くても A レコードが存在すれば配送されるハズなのに、A レコードが解決できても配送されないってことですよね。で、その試験は GMAIL から問題の linux に対して配送することで行っている... と。

ところで、その linux マシンは、外部からメイルを受けた実績はあるのでしょうか?

A レコードが解決できるのに配送できないという現象は、外部から 25 番でつなぐことができない場合も起こりますので、そういった下位層も疑ってみた方が良いのかと...

# まさかとは思いますが、念には念を入れて... です。
レスありがとうございます。

>やまぐちさん


>外部から 25 番でつなぐことができない場合も起こりますので、そういった下位>層も疑ってみた方が良いのかと...
今までPOPの110番だけポート開いていれば良いのかと思っていましたが、
アドバイスをヒントに、ルーターの25番をあけたところ、Gmailからメールが受信できました!!

非常にうれしかったです。・゚・(ノ∀`)・゚・。

又、popとsmtpの基本がまだ理解できて内容なので明日勉強しようと思います。。
皆さん色々と本当にありがとうございます。
>9

 pop3 はサーバーからクライアントにメールを渡すために使用するプロトコルで、メールをサーバー間でやりとりするのが smtp になります。pop3 は受信用のプロトコル、と表現されていることが多く、自宅サーバーを設定するときに、はまりやすい部分かも知れませんね。

 なお、受信を自宅内だけで行う場合、110/tcp は閉じていても問題ないです。
MXレコードですが、
ないと解決しませんというわけではないですが、
MXレコードは書くのが常識となっています。

つまり、
@ A 127.0.0.1
mail A 127.0.0.1
www A 127.0.0.1
subdomain CNAME www
などと書く必要があります。

なので、確認していただくことも踏まえて、
Digの結果を送っていただきました。

自己解決していただいてよかったです。
>田添@thinkpad-lover さん
なるほどです。。分かりやすい説明ありがとうございます。
pop3は、受信箱で、クライアントに溜まったメールを渡しているだけなのですね。
smtpは、受信箱に届ける時も、送信箱からあて先へ送信する時もsmtpを使用するのですね。(間違ってたらすみません。)

>ただし さん
ご確認、ご連絡ありがとうございます。



これからもよろしくお願いします。
皆様、ご無沙汰しております、hoです。

おかげさまで、外部から、メール送信し、内部から受信できるようになっていたのですが、
外部からpop3へアクセスできず、受信ができなくて困っております。
内部から外部へメール送信できます。
内部から外部経由のメールを、自宅サーバアカウントへ受信したメールも受信できます。
(要するに、Gmailで自宅サーバ宛に送信したメールを別の自宅PCで受信は可能)
しかし、内部にあるメールを外部(家の外)から受信ができません。
pop3がうまく動作してないのかと思うのですが、原因分かりますでしょうか。

pop3が悪いと判断したのは、下記ツールでpop3への接続テストを実施したころ、
http://seo.atompro.net/seotoolfree_pop3chk_.html

[* pop3サーバーに接続できませんでした。 *]
になります。


/var/log/maillog
には、
Jul 30 22:17:45 XXXX dovecot: pop3-login: Disconnected: rip=::ffff:XXXX, lip=::ffff:192.168.11.86, TLS
と、出力されます。

※一部伏字(XXXX)とさせて頂いております

ルーターのポートは、25番、80番、110番が空いております。

サーバのポートは、下記となりましたが、空いているという認識で間違いないですよね。。
$ netstat -an|egrep '110|80|25'
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 :::110 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN


何か確認すべき点や修正すべき点ありましたらアドバイスの程いただけますでしょうか。
お手数をおかけしますがよろしくお願い致します。
>サーバのポートは、下記となりましたが、空いているという認識で間違いないですよね。。
>$ netstat -an|egrep '110|80|25'
>tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
>tcp 0 0 :::110 :::* LISTEN
>tcp 0 0 :::80 :::* LISTEN

「IPv6」の110番ポートと80番ポートで待ち受けしているようですが?
>tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
ならばIPv4ですね。
dovecot.confの設定のlistenはどうなっていますか?
>瀬戸っぷ さん

ご返信、ありがとうございます。

「IPv6」で設定した記憶はないのですが、、適当にやってしまっていたのかもしれません。

/etc/dovecot.conf のlistenは、下記のようにコメントアウトになっていました。
----抜粋---
# protocol imap {
# listen = *:10143
# ssl_listen = *:10943
# ..
# }
# protocol pop3 {
# listen = *:10100
# ..
# }
#listen = [::]
------
はじめまして。
ポイントがずれていたらすみません。
サーバー側でtcpdumpしながら外部からポート110にtelnetで確認してみてどうですか?
>Jul 30 22:17:45 XXXX dovecot: pop3-login: Disconnected: rip=::ffff:XXXX, lip=::ffff:192.168.11.86, TLS

この前に何か怪しげなメッセージは出ていませんか?
> Taka@BNR34 さん
分かりやすいご説明ありがとうございます。
早速やってみまして、IPv4にすることができたようです。
(勉強になります)

$ netstat -an |egrep '110|80|25'
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 :::80 :::* LISTEN

しかしながら、まだ外部からは受信できない状態でした。。



> JOKERZ さん

tcpdump初めて知りました。。
使い方をググッて調べながら、テストしてみましたところ、



$ telnet サーバ名 110
Trying 127.0.0.1...
Connected to サーバ名 (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
user ユーザ名
+OK
pass パスワード
+OK Logged in.
list
+OK 0 messages:
.
quit
+OK Logging out.
Connection closed by foreign host.

上記を実行し、出力はありませんでした。
しかし、
http://seo.atompro.net/seotoolfree_pop3chk_.html
こちらでテストした際は、出力がありました、
読み方にまだ慣れておらず、必要な出力等ありましたらご指摘ください。。

又、内部からOutlookメーラで受信した際は当然出力はありました。
telnetの場合は出力されるはずでしたでしょうか?



>やまぐち さん
>この前に何か怪しげなメッセージは出ていませんか?
上記のWEBテストツールでテスト接続した時は、そのログしか出力されていませんでした。

teletでつなげたときは、
----
Aug 1 00:49:02 XXXX postfix/pickup[3647]: 946311AD81C3: uid=0 from=<root>
Aug 1 00:49:02 XXXX postfix/cleanup[3632]: 946311AD81C3: message-id=<20080731154902.946311AD81C3@XXXX>
Aug 1 00:49:02 XXXX postfix/qmgr[1504]: 946311AD81C3: from=<root@XXXX>, size=726, nrcpt=1 (queue active)
Aug 1 00:49:02 XXXX postfix/local[3633]: 946311AD81C3: to=<root@XXXX>, orig_to=<root>, relay=local, delay=0, status=sent (delivered to mailbox)
Aug 1 00:49:02 XXXX postfix/qmgr[1504]: 946311AD81C3: removed
Aug 1 00:49:14 XXXX dovecot: pop3-login: Login: user=<XXXX>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
Aug 1 00:49:32 XXXX dovecot: POP3(XXXX): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
----
が出力され、問題なく受信できました。内部からのtelnet接続です。



>>この前に何か怪しげなメッセージは出ていませんか?
>上記のWEBテストツールでテスト接続した時は、そのログしか出力されていませんでした。

そうですか... いや、TLS関係のエラーが出てたりしないかな? と思いましたので。
接続テストツールじゃなく、Outlookでやったら上手くいく... なんてことはないですかね?
tcpdumpを利用すると、通信の内容がわかります。
外部ネットワークから自サーバーへのログインステータスの確認としての
一例ですが、自サーバーで下記のコマンドを実行。
/usr/sbin/tcpdump -i eth0 port 110

外部ネットワークから自分のサーバーに下記のコマンドを実行。
telnet <popサーバー> 110

正常に繋がるのであればコマンドを打つ度に下記のような内容がサーバーに
出力されます。

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 68 bytes
05:03:52.095747 IP <IPADDRESS>.56552 > <サーバー名>.pop3: S 3172037014:3172037014(0) win 65535 <mss 1414,nop,wscale 2,nop,nop,sackOK>
05:03:52.102490 IP <サーバー名>.pop3 > <IPADDRESS>.56552: S 1946900930:1946900930(0) ack 3172037015 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 2>
05:03:52.109475 IP <IPADDRESS>.56552 > <サーバー名>.pop3: . ack 1 win 64337
05:03:52.110024 IP <サーバー名>.pop3 > <IPADDRESS>.56552: P 1:42(41) ack 1 win 1460
05:03:52.292020 IP <IPADDRESS>.56552 > <サーバー名>.pop3: . ack 42 win 64326
05:04:15.077376 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 1:2(1) ack 42 win 64326
05:04:15.077387 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 2 win 1460
05:04:15.210070 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 2:3(1) ack 42 win 64326
05:04:15.210077 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 3 win 1460
05:04:15.420695 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 3:4(1) ack 42 win 64326
05:04:15.420702 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 4 win 1460
05:04:15.552661 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 4:5(1) ack 42 win 64326
05:04:15.552668 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 5 win 1460
05:04:15.701326 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 5:6(1) ack 42 win 64326
05:04:15.701334 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 6 win 1460
05:04:16.847991 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 6:7(1) ack 42 win 64326
05:04:16.848003 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 7 win 1460
05:04:16.915333 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 7:8(1) ack 42 win 64326
05:04:16.915341 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 8 win 1460
05:04:17.013741 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 8:9(1) ack 42 win 64326
05:04:17.013749 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 9 win 1460
05:04:18.387820 IP <IPADDRESS>.56552 > <サーバー名>.pop3: P 9:11(2) ack 42 win 64326
05:04:18.387828 IP <サーバー名>.pop3 > <IPADDRESS>.56552: . ack 11 win 1460
05:04:18.387869 IP <サーバー名>.pop3 > <IPADDRESS>.56552: P 42:48(6) ack 11 win 1460
05:04:18.530267 IP <IPADDRESS>.56552 > <サーバー名>.pop3: . ack 48 win 64325

もし、出力が全く無いようでしたら、外部ネットワークから自サーバーの110ポートに接続ができていないことがわかります。

問題の原因がどこにあるかの1可能性としてですが。
補足です。
外部ネットワークからtelnetで自サーバーへpopログインできているのでしたら、
メーラーの設定かと思います。
OutlookやThunderbirdのpopの設定方法はわかりませんが、telnetでのpopも
メーラーでのpopも原理は同じかと思います。
皆さん、返答遅れましてすみません、
外部ネットワークからのテストをしたいのですが、家からだと、上記webツールか、会社とかじゃないと確認できないですよね。
ですので、明日、漫画喫茶に行って、コマンドプロンプトからtelnet接続テストやろうと思います。
確認し次第報告させて頂きます。

よろしくお願いします。
漫画喫茶だと、外部向けのポートを制限しているところもあったりしますので
その辺りに注意は必要かも知れません。
# 以前行った新宿のネットカフェでは閉じられていました。
ISPのPOP3サーバに接続できるか先に確認した方がよいでしょう。
瀬戸っぷ さん

ありがとうございます。
>ISPのPOP3サーバに接続できるか先に確認した方がよいでしょう。
確認したところ、ISPのpop3サーバに接続でき、メール受信できました。

確かにネットカフェのポート閉じられてそうですね。。
その場合は、どのように外部から確認するのが良いでしょうか。
>29

 私がよく使う方法は、ダイアルアップ接続で、もう一回線用意する方法です。telnet での接続確認には、十分使えます。アクセスポイントが市内通話圏内にあれば、一時間接続しっぱなしでも約200円しかかかりません。あとは、公衆無線 LAN サービスを利用するという方法がありますね。
遅くなりました、
外部からのtelnet接続テスト実施しました、
結果は問題なくつながり、受信(listコマンド)もできました。

iptablesについて、よく理解してないのですが、
それだけに怪しいと見ています。明日その辺を調査してみたいと思います。

またご報告させて頂きます、よろしくお願いします
ご連絡遅くなりました、
Yahooメールで外部受信するようにしてみたところ、受信できました。
http://seo.atompro.net/seotoolfree_pop3chk_.html
でテストすると、接続できませんになるのですが、何でだろう・・・
とりあえず、外部からの受信も問題なさそうです。

皆様、色々とありがとうございました、今回の件で、とても勉強になりました。
また何かありましたらどうぞよろしくお願い致します。

ログインすると、残り6件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Linux 更新情報

Linuxのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。