http://www.itbdns.com/
に登録し、メールサーバを作りました。
POPとSMTPをサーバのローカルなIPアドレス(192.168.1.20)
にすると
メールの送受信ができるのですが、
LAN外のDNSSに登録した名前(tikutaku.itbdns.com)
に設定しメールを送受信すると
サーバ接続のタイムアウトになってしまいます。
ホスト名で接続するにはどのような設定をすればよいでしょうか?
ご助言いただきたく宜しくお願いします。
<ポイント>
・メールすでに開通しています。
・LAN構成
※ネットワーク構成
ADSLモデム-NV→ハブ---------A(RedHatLinux ipchanger 動作)
|___________B(Windows)
なおこの質問は
http://q.hatena.ne.jp/1180481941
の質問から発展したものとなっています。
進展の無い内容で発言回数ばかり増えてしまいますので、回答受付中でもコメントがつけられるようにしていただけるといいと思います。
> 設定はしているのですが届かないです。
「メールはすでに開通しています」をメールを受信できていると解釈していましたが、違うのでしょうか?
また、これはB号機からですか?それともWANからですか?
(僕は自宅サーバのチェックの際、WANからのアクセスは、携帯のブラウザやメールでよくチェックしてます)
届かなかったときのエラーは何でしたか?
環境依存で名前が違いかもしれませんが(うちはVineです)、
messages, secure, maillog などに何か出力されていませんか?
サーバの設定で、ログのレベルをデバッグにすると詳細なログが出されます。
一時的に変更してみるといいかも知れませんね。
> 一番の回答者JULYさんから...
B号機からA号機のSMTPサーバを使ってメールを送ろうとする場合、NAT機能が働いていては困るのでは?(グローバルIPアドレス的には自分から自分へのアクセス、しかもローカルではない...になっていてサーバが反応しないのではと解釈しました。
LAN内からのアクセスなので、NATではなく、ローカルのIPアドレスでアクセスしてなければ、A号機は反応しないのではと思います。
nslookup - DNSサーバに名前解決の問い合わせを行う
tikutaku.itbdns.com を DNS に問い合わせてみると、おそらく、グローバル IP アドレスが帰ってくると思います。
この IP アドレスに対して、内側からアクセスしようとすると、
・PC はデフォルトゲートウェイ(ルータ)へパケットを投げる。
・ルータは、そのパケットが自分のインターネット側の IP アドレスであることが分かる。
となります。ここまでは良いのですが、ルータが
・自分のインターネット側の IP アドレスで、送られてきたパケットのポート番号に対して、Static な NAT が設定されていることに気づく。
・NAT 先へパケットを転送する。
という動作を期待すると、問題が発生します。
クライアントからはグローバルな IP アドレスに対してパケットを送るのに対し、もし上記のような転送がルータで行われると、サーバ側は自分のプライベートなアドレスを送信元アドレスとして、クライアントへパケットを送ってしまいます。
クライアントから見ると、送ってもいない相手先(クライアントはあくまでもグローバルな IP アドレスへ送っている)から戻りのパケットが来ていることになるので、そのパケットを無視します。
ということで、コネクションが成立せず、タイムアウトで切れてしまいます。
これを解決する手段としては、クライアント側の PC で、C:\Windows\System32\drivers\etc\hosts のファイルを編集して、「tikutaku.itbdns.com」が「192.168.1.20」である、という設定を入れる方法があります。ただし、クライアント側の PC がノートパソコンだったりして、公衆無線 LAN などからインターネット経由でアクセスしようとすると、本来、グローバル IP アドレスが欲しいところで、プライベートのアドレスが帰ってくることになるため、今度は、家の外からはつながらない、ということになります。
現行機種は知りませんが、以前、YAMAHA の NetVolante シリーズでは、ルータに「tikutaku.itbdns.com は 192.168.1.20 と答える」といった、簡易的なローカル DNS 機能があったので、ルータにこういった機能があれば、この問題は解決するのですが、なかなかそういった機能を持つルータは無いですね...。あとは Linux で DNS サーバを立ち上げるか...。
回答ありがとうございます。
>>クライアントから見ると、送ってもいない相手先
>>(クライアントはあくまでもグローバルな IP アドレスへ送っている)
>>から戻りのパケットが来ていることになるので、そのパケットを無視します。
一瞬メールソフトの種類で無視しない奴とかあったらいいな。
とか思いましたが、
そんなのがあったら、無尽蔵にデータを
取得してしまい危険ですね。
(最初の回答者さんの言われるていますが)内向きのDNSサーバで書き決するのでは?
少々条件が違うかも知れませんがこちらをよく参考にさせてもらってます。
http://www.aconus.com/~oyaji/dns/bind_linux.htm
当方でもLAN内DNSサーバを立てていますが、それ程難しく無かったように記憶しています。必要な(自宅内の)アドレスを解決してやって、殆どの問合せは上流のDNSに送るだけですから。
回答ありがとうございます。
DNSSについては、
常に動作していなければならないため、DNS用のコンピュータを
2台用意しなくてはいけないとテキストに書いてあったような気がします。
スペース上の都合で1台で
構築出来たら嬉しいのですが、
よい方法などありませんか?
お手数ですが再度回答いただきたく宜しくお願いします。
Linux機でメールを受ける(=メールサーバとして使用する)のであれば、Linux機は電源を落とせない事になりますよね。
(気の長い送り手は何度も再送してくれますが、そうでないものも多いのでは? メーリングリストなどは1度でもエラーメールが返ると強制脱会となる所もあるようです。)
ですから、Linux機でメールサーバとDNSサーバの両方を稼動させれば1台で済みます。
自宅内からの要求にしか対応しないDNSにセカンダリを用意しなくてもいいと思うのですが。
勉強されたのは自宅内などの閉じた環境の話ではなく、外部へ公開するDNSシステムのお話ではないでしょうか。
メールを届けてもらえなかったり、ウェブページを見てもらえなくてもよければ(そういうサービスを使わなければ)常時稼動である必要は無いですよね。
回答ありがとうございます。
ゆくゆくはLANの外(外出先)などからも
メールの送受信ができたらいいなぁと思っております。この場合はやはり2台必要ということなのでしょうか?
グローバル IP アドレスに LAN 内から接続できない、という点は他の方が
書かれているとおりですので、代替案を。
PC-B から PC-A への接続に tikutaku.itbdns.com という名前を使いたい、と
いうだけでしたら、DNS を使わずに hosts ファイルを利用する手もあります。
http://www.higaitaisaku.com/hosts.html
今回の場合、C:\WINDOWS\system32\drivers\etc\hosts に
以下の内容を書き足せば OK です。
192.168.1.20 tikutaku.itbdns.com
このファイルを作った、ということを忘れるといろいろとややこしくなるのが
注意点でしょうか。
回答ありがとうございます。
LAN内なら、Windowsの設定ファイルを書き直せばよいのですね。しかし、ゆくゆくは
LANの外(外出先)などからも
メールの送受信ができると嬉しいので
DNSSを試すことにします。
tikutaku.itbdns.com を DNSS(これって何の略ですか?ひょっとして DDNS=DynamicDNS の勘違いですか?)に既に登録されているとの事でしたよね?
WAN(LANの外)では itbdns のDNSサーバがチャンと解決してくれているはずなので、LAN内のDNSサーバの有無にかかわらず、WAN 側のIPアドレスまでは届けてくれます。
あとはこのWAN側のIPアドレスが割り当ててあるルータがポートに対応する LAN のアドレスへメッセージを転送してくれる機能(コレガだったらバーチャルサーバ機能なんて名前を付けてますね)が有効なら WAN からのメールアクセスは問題なくLAN 内のサーバへ届く訳です。
つまり、WAN とのメールの授受は LAN 内の DNS に依存しません。
もともとのご質問の不具合は、B号機がA号機の名前を知らなかったから起きた話のようでしたので、ローカルな名前解決の手段として、
簡易的なローカルDNS(1番目の回答者さん)
hosts ファイルに追加する(1、4番目の回答者さん)
LAN 内の問い合せのみ答える内向きDNS
の回答があったと思います。
うちは複数台のサーバと十数台のクライアントがあるので
ローカルDNSにしました。
で、各マシンの名前も FQDN で設定し、www, mail, ftp とかの
別名も設定しています。こうすればクライアントは LAN, WAN
を気にせずできますし、どのサーバへのアクセスなのかハッキリ
しますから。
最近、Outbound Port25 Blocking の動きもあるので、WAN からそのプロバイダのメールサーバを使わずに送信するのはやり難くなって来ている様です。
送信はプロバイダのメールサーバ、あるいは自宅サーバをWEBメール対応にしておく。
受信は自宅サーバから受信する。
のスタイルがいいかも知れません。(僕はこの形でやっています。)
回答ありがとうございます。
>>tikutaku.itbdns.com を DNSS(これって何の略ですか?
>>ひょっとして DDNS=DynamicDNS の勘違いですか?)
>>に既に登録されているとの事でしたよね?
DDNSの打ち間違えですね。失礼しました。
>>WAN(LANの外)では itbdns のDNSサーバがチャンと
>>解決してくれているはずなので、LAN内のDNSサーバの有無にかかわらず、
>>WAN 側のIPアドレスまでは届けてくれます。
>>あとはこのWAN側のIPアドレスが割り当ててあるルータがポートに対応する
>> LAN のアドレスへメッセージを転送してくれる機能
>>(コレガだったらバーチャルサーバ機能なんて名前を付けてますね)
>>が有効なら WAN からのメールアクセスは問題なくLAN 内のサーバへ届く訳です。
バーチャルサーバ機能を検索してみましたが、
どうも私が使っているモデムのNATエントリ機能と同じように思えます。
ルータのポートにアクセスがあったら設定したIPアドレスにデータを転送する
機能で以下のように設定しています。
変換対象プロトコル 変換対象ポート 宛先アドレス 宛先ポート
TCP www 192.168.1.20 www
TCP smtp 192.168.1.20 smtp
TCP pop 192.168.1.20 pop
設定はしているのですが届かないです。
一番の回答者JULYさんから教えていただいた内容には以下のように書かれています。
>>クライアントからはグローバルな IP アドレスに対してパケットを送るのに対し、
>>もし上記のような転送がルータで行われると、サーバ側は自分のプライベートな
>>アドレスを送信元アドレスとして、クライアントへパケットを送ってしまいます。
この内容だとバーチャルサーバ機能で転送すると、
クライアントにサーバのローカルアドレスを返すことになるためクライアント側は受信しない
ように思えます・・・が、そうではないのでしょうか?
>>WAN とのメールの授受は LAN 内の DNS に依存しません。
そうなんですか、、。
>>最近、Outbound Port25 Blocking の動きもあるので、
>>WAN からそのプロバイダのメールサーバを使わずに送信するのはやり難くなって来ている様です。
スパム対策でそういう問題もあるのですね。勉強になります。
進展の無い内容で発言回数ばかり増えてしまいますので、回答受付中でもコメントがつけられるようにしていただけるといいと思います。
> 設定はしているのですが届かないです。
「メールはすでに開通しています」をメールを受信できていると解釈していましたが、違うのでしょうか?
また、これはB号機からですか?それともWANからですか?
(僕は自宅サーバのチェックの際、WANからのアクセスは、携帯のブラウザやメールでよくチェックしてます)
届かなかったときのエラーは何でしたか?
環境依存で名前が違いかもしれませんが(うちはVineです)、
messages, secure, maillog などに何か出力されていませんか?
サーバの設定で、ログのレベルをデバッグにすると詳細なログが出されます。
一時的に変更してみるといいかも知れませんね。
> 一番の回答者JULYさんから...
B号機からA号機のSMTPサーバを使ってメールを送ろうとする場合、NAT機能が働いていては困るのでは?(グローバルIPアドレス的には自分から自分へのアクセス、しかもローカルではない...になっていてサーバが反応しないのではと解釈しました。
LAN内からのアクセスなので、NATではなく、ローカルのIPアドレスでアクセスしてなければ、A号機は反応しないのではと思います。
>「メールはすでに開通しています」をメールを受信できていると解釈していましたが、違うのでしょうか?
>また、これはB号機からですか?それともWANからですか?
現状の説明が足りず困惑させてしまい申し訳ないです。
メールが開通したと判断したのは以下の二点が確認できたからです。
・B号機に入っているメーラーからぷららのSMTPを使いメールを送信し
A号機(LinuxのPOP)で受信することに成功。
また、B号機に入っているLinux用のメーラからA号機に来ているメールの確認が出来た。
・B号機に入っているA号機のLinuxサーバーを使うメーラーからLinuxのSMTPを使い
メールを送信し、B号機(ぷららのPOP)で受信することに成功。
しかし、
SMTPやPOPを192.168.1.20のようなローカルな値からtikutaku.itbdns.comに
切り替えるとSMTPサーバやPOPサーバとの接続に失敗し、メールの送受信
ができなくなります。
警告は以下のとおりです。
POP3サーバーが60秒の間、応答しません。あと60秒待ちますか?
アカウント:itb
サーバー:tikutaku.itbdns.com
>>(僕は自宅サーバのチェックの際、WANからのアクセスは、携帯のブラウザやメールでよくチェックしてます)
>>届かなかったときのエラーは何でしたか?
>>環境依存で名前が違いかもしれませんが(うちはVineです)、
接続すら出来ていません。。
>messages, secure, maillog などに何か出力されていませんか?
messages
secureはよくわかりませんがとりあえずメールログ確認します。
>> 一番の回答者JULYさんから...
>>B号機からA号機のSMTPサーバを使ってメールを送ろうとする場合、
>>NAT機能が働いていては困るのでは?
>>(グローバルIPアドレス的には自分から自分へのアクセス、
>>しかもローカルではない...になっていてサーバが反応しないのではと解釈しました。
>>LAN内からのアクセスなので、NATではなく、ローカルのIPアドレスでアクセスしてなければ、
>>A号機は反応しないのではと思います。
ご指摘のとおりです。
上でも言っていますが、
SMTPやPOPにローカルIPアドレスを設定したときしかメールの送受信ができません。
私はJULYさんの回答
>>サーバ側は自分のプライベートなアドレスを送信元アドレスとして、
>>クライアントへパケットを送ってしまいます。
からWAN、LAN内に関係なく
グローバルアドレスで出した要求に対し、NAT転送により
ローカルアドレスでデータが戻るためメール送受信ができない
というように理解したのですが・・・・・
WANの場合は問題なくメール接続できるのですか?
コメント欄有効にしましたのでまた
教えていただきたく宜しくお願いします。
>「メールはすでに開通しています」をメールを受信できていると解釈していましたが、違うのでしょうか?
>また、これはB号機からですか?それともWANからですか?
現状の説明が足りず困惑させてしまい申し訳ないです。
メールが開通したと判断したのは以下の二点が確認できたからです。
・B号機に入っているメーラーからぷららのSMTPを使いメールを送信し
A号機(LinuxのPOP)で受信することに成功。
また、B号機に入っているLinux用のメーラからA号機に来ているメールの確認が出来た。
・B号機に入っているA号機のLinuxサーバーを使うメーラーからLinuxのSMTPを使い
メールを送信し、B号機(ぷららのPOP)で受信することに成功。
しかし、
SMTPやPOPを192.168.1.20のようなローカルな値からtikutaku.itbdns.comに
切り替えるとSMTPサーバやPOPサーバとの接続に失敗し、メールの送受信
ができなくなります。
警告は以下のとおりです。
POP3サーバーが60秒の間、応答しません。あと60秒待ちますか?
アカウント:itb
サーバー:tikutaku.itbdns.com
>>(僕は自宅サーバのチェックの際、WANからのアクセスは、携帯のブラウザやメールでよくチェックしてます)
>>届かなかったときのエラーは何でしたか?
>>環境依存で名前が違いかもしれませんが(うちはVineです)、
接続すら出来ていません。。
>messages, secure, maillog などに何か出力されていませんか?
messages
secureはよくわかりませんがとりあえずメールログ確認します。
>> 一番の回答者JULYさんから...
>>B号機からA号機のSMTPサーバを使ってメールを送ろうとする場合、
>>NAT機能が働いていては困るのでは?
>>(グローバルIPアドレス的には自分から自分へのアクセス、
>>しかもローカルではない...になっていてサーバが反応しないのではと解釈しました。
>>LAN内からのアクセスなので、NATではなく、ローカルのIPアドレスでアクセスしてなければ、
>>A号機は反応しないのではと思います。
ご指摘のとおりです。
上でも言っていますが、
SMTPやPOPにローカルIPアドレスを設定したときしかメールの送受信ができません。
私はJULYさんの回答
>>サーバ側は自分のプライベートなアドレスを送信元アドレスとして、
>>クライアントへパケットを送ってしまいます。
からWAN、LAN内に関係なく
グローバルアドレスで出した要求に対し、NAT転送により
ローカルアドレスでデータが戻るためメール送受信ができない
というように理解したのですが・・・・・
WANの場合は問題なくメール接続できるのですか?
コメント欄有効にしましたのでまた
教えていただきたく宜しくお願いします。