- - PR -
DNS参照不可のアドレスを含むメール送信不可
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-10-01 14:11
はじめまして。
メールシステムに関してはかなり初心者なのですが、 SMTPサーバにInterScanVirusWall(ISVW)を使用して、 クライアントからの送信メールをチェックしてから、 Firewallの先にある別ホストへメールを転送する、 という構成になっているシステムにおいて、DNS参照が できないアドレスを宛先に含むとメールの送信ができない、 という現象にあっていて困っています。 大まかですが、下記のような感じ。 G/Wサーバ(SMTPサーバ) | Firewall | ISVW(SMTPサーバ) | Client クライアントでのメール送信時のプロトコルログを 確認すると、RCPT TO の部分で異様に時間がかかり、 最終的にはTimeout となってしまいます。 (メーラーのサーバー接続時間を延ばすと送信できる 場合もある)。 何が原因として考えられるか、教えて頂けないでしょうか? 宜しくお願い致します。 (言葉足らずな点が多々あるかと思いますが、その際は 突っ込みいれて頂ければと思います。) | ||||||||
|
投稿日時: 2004-10-01 14:15
ちなみにOS はSolaris8 で、Sendmail の
Version は8.12.10 になります。 ISVW での名前解決に時間がかかるというのが 問題であれば、/etc/nsswitch.conf にて host 参照をfiles だけにすればいいとも 考えたのですが、転送先のメールサーバを DNS のMX レコードを利用したラウンドロビン して障害時に備えているため、それもできない 状況です。 | ||||||||
|
投稿日時: 2004-10-01 17:06
こんにちわ.
client から転送を引き受けるのは sendmail なのでしょうか? その後に ISVW に受け渡して,VirusScan したら SMTP gateway に引き渡し? であれば,sendmail.cf 作る際に「名前解決できなくてもとりあえず受け取る」な 設定をしておけば良いのではないかと. sendmail.mc から生成させるなら FEATURE(`accept_unresolvable_domains')dnl としておくと,自分で名前解決できなくても一応引き取ってくれると思います. 引き取ったら,sendmail が ISVW に引き渡すように設定すればよいでしょう. ピントがずれていたらゴメンナサイ. | ||||||||
|
投稿日時: 2004-10-01 17:24
kazさん
書き込みありがとうございます。 ご指摘のとおり、client から転送を受けるのは sendmail になります(待ちうけ25 番ポート)。 ただ、 FEATURE(`accept_unresolvable_domains')dnl を設定してしまうと、access.db を使って送信者 制限をかけているのですが、FROM詐称を許すことに なりませんでしょうか? | ||||||||
|
投稿日時: 2004-10-01 19:21
ゴメンナサイ.
FEATURE(`accept_unresolvable_domains') は「mail from」のほうの制限を緩める場合ですね. でも,
は,access.db で From:@localdomain.localnet RELAY ※localdomain.localnet はご自分のドメイン名に読み替えてください. とすれば,詐称での転送は防げるかと.
確認ですが, 逆に「DNS 参照が出来るアドレスを含む」とスムーズに送信できるのでしょうか? その場合,なぜ名前解決できないのでしょう? 個人的には sendmail と ISVW の関係が逆のほうが良い気がしてます. つまり,ISVW が 25/tcp を listen して, sendmail は 10025/tcp あたりを listen する. 受け取って VirusScan したら localhost:10025 へ転送して, sendmail は素直に sendmail.cf を読んで, MX から割り出した smtp gateway へ転送する. って感じではダメでしょうか? | ||||||||
|
投稿日時: 2004-10-04 11:52
kaz さん
書き込みありがとうございます。 ご返信遅くなりました。 説明足らずな部分ばかりで申し訳ありません。 まず
ですが、DNS参照できるアドレスに関しては問題なく送信はできます。できないのは、テスト的にわざと間違ったスペルで送信テストを行っている場合や、DNSサーバの問題で引けないドメインが存在する場合になります。 sendmail とISVW の関係ですが(あまりよくわかっていませんが)どうも仕様上tcp/25 にてlisten しているsendmail で受け取って、Virus Checkし、その後tcp/10025 へ転送みたいな動作になっているようです。ですので、受信用のcf ファイルと、送信用のcf ファイルが別々にあります。 現状行いたいこととしては、クライアントの送信箱からは宛先アドレスが間違っていても、とりあえずはメールがなくなる状態(つまり送信完了して、アドレスミスがあればSMTPサーバからunknown domain などを返すような動作)にしたいのですが、(恐らく)check_rcpt(?)にてDNSを引きに行き、Message BODY の.(ピリオド)を受け取る前にタイムアウトになってしまう状況になっていると思っています(そもそも違う観点から考えた方がいいのでしょうか?)。 以上、勉強不足で説明が至らない点が多々ありますが、宜しくお願い致します。 [ メッセージ編集済み 編集者: siralos 編集日時 2004-10-04 11:54 ] [ メッセージ編集済み 編集者: siralos 編集日時 2004-10-04 11:55 ] [ メッセージ編集済み 編集者: siralos 編集日時 2004-10-04 11:57 ] |
1