- PR -

qmailからリモートSMTPへの接続

投稿者投稿内容
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-08-06 11:46
ん? ネットワークまわりを疑ってみたり…
MTU って、お使いの回線に合わせて設定する(チューニングする)ものだと思っているのですが。
(LAN 内なら 1500 のままで OK でしょうけど)

# netstat -ic
などで、エラーパケットが断続的に発生していないかも、見てみるとよいかもしれません。
ashan
会議室デビュー日: 2003/05/12
投稿数: 12
投稿日時: 2004-08-06 12:08
リレー元のqmailもリレー先のsendmailも同じLAN内(同じセグメント)にあります。
qmail専用サーバではないので、全体に影響する設定はできれば避けたいと思っています。

なかなか難しいですね・・・。
エラーパケットもみてみます。
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-08-06 12:42
それって 「リモート」 とは言わないのでは…  > ashan さん

単純に、名前解決に時間がかかっているのでは?とか。
# その 2台がどのような環境や設定でメールをやりとりしているのかは存じませんが…
qmail は分からないので、過去ログなども参照されてはどうでしょうか。

## 日本語を修正(汗)

[ メッセージ編集済み 編集者: はゆる 編集日時 2004-08-06 12:47 ]
ashan
会議室デビュー日: 2003/05/12
投稿数: 12
投稿日時: 2004-08-06 13:04
すいません。日本語間違ってますね。
いろいろ調べてるうちに頭の中で言葉が変わってしまったようで・・・。

送信できないときは相手先から220リプライコードも返ってきていないようなので、
名前解決の問題とは違うような気がしています。

とりあえず、concurrencyremoteの設定でなんとかしたいと思います。
もし他に方法が見つかったらご報告します。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-06 16:57
こんにちわ.
引用:

ashanさんの書き込み (2004-08-06 13:04) より:

すいません。日本語間違ってますね。
いろいろ調べてるうちに頭の中で言葉が変わってしまったようで・・・。


「localhost でない」という意味で,remote な気もしないでもないです -> はゆる様
引用:

送信できないときは相手先から220リプライコードも返ってきていないようなので、
名前解決の問題とは違うような気がしています。


はゆる様ご指摘の「名前解決」はあるいは
「sendmail が逆引きを引きにいってる間に qmail がしびれを切らせて送信を打ち切った,
sendmail は逆引けないから time out して我に返って qmail からの通信を受け入れたから
一部は送信が完了した」
というお話をなさっておられるのではないかと.
なので,sendmail 側が「逆引き引かないように設定する」とか
「qmail な host は静的に relay できる設定をしておく」とかしたら如何でしょう?

以上,横槍でした.
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-08-06 20:43
引用:

ashanさんの書き込み (2004-08-05 12:59) より:
Sorry,_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)/


というメッセージを信ずる限り、接続ができていないわけで、
引用:

ashanさんの書き込み (2004-08-06 13:04) より:
送信できないときは相手先から220リプライコードも返ってきていないようなので、


となるのは当然ですね。
# SYN/ACK は返ってきている可能性が高いが、それについては割愛。
で、接続できないからにはどこかで止められているわけで、それは
 1. qmail 側の OS
 2. 通信経路
 3. sendmail 側の OS
 4. sendmail 自体
くらいを候補としておきましょうか。
1 はあまり無さそう、LAN ということなので 2 でもなさそう、
3 の可能性は無いではないけれど、まず疑わしいのは 4 です。

sendmail についてはあまり知りませんが...
名前解決に時間がかかって timeout しているのだとすれば、
qmail が張ろうとした20本の接続はすべて独立のものである以上
それぞれについてすべて名前解決が試みられるはずで(よっぽど
変態な実装をしていればそうじゃない可能性もありますが)
ひとつがダメならすべてがダメになるのが自然です。
そうなっていない以上、単純に同時接続数の制限にかかっている
のが原因だと思うですが...
sendmail には同じホストからの同時接続数を制限する機能は
ないんですかね?

# OS 側の、受け付けた接続開始要求を格納している場所があふれて
# 後からやってきた要求が捨てられた、という可能性はあるのかなあ...
# わずか 20 で、そんなことがあるとも思えないですが...

[ メッセージ編集済み 編集者: ぽんす 編集日時 2004-08-06 20:56 ]
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-06 21:15
お疲れ様です.
引用:

ぽんすさんの書き込み (2004-08-06 20:43) より:

 1. qmail 側の OS
 2. 通信経路
 3. sendmail 側の OS
 4. sendmail 自体
くらいを候補としておきましょうか。
1 はあまり無さそう、LAN ということなので 2 でもなさそう、
3 の可能性は無いではないけれど、まず疑わしいのは 4 です。


ですが,
引用:

それ以外は全てはじかれてしまい、相手先のサーバにはログすら残っていない状況です。


な話もあるようです.sendmail が「明示的に弾いている」のなら,
logging されないのはちょっと想像できないかと...
引用:

sendmail についてはあまり知りませんが...
名前解決に時間がかかって timeout しているのだとすれば、
qmail が張ろうとした20本の接続はすべて独立のものである以上
それぞれについてすべて名前解決が試みられるはずで(よっぽど
変態な実装をしていればそうじゃない可能性もありますが)
ひとつがダメならすべてがダメになるのが自然です。
そうなっていない以上、単純に同時接続数の制限にかかっている
のが原因だと思うですが...
sendmail には同じホストからの同時接続数を制限する機能は
ないんですかね?


ぽんす様 レスを読ませていただいてちょっと気になったのですが,
qmail からの送信先は同一なのでしょうか? -> ashan 様
sendmail では,設定によって「名前解決できたら転送を受け入れる」
という設定があります.
なので,「実際に送ることの出来なかった送信先」へ送る状況を
telnet で再現するとわかるのではないかと.
rcpt to した際に "will queue" と喋って受け取ってくれたら,
「名前は解決できないけどとりあえず queue に入れとく」
な話で,そうでなければ「名前が解決できないから突っ返す」
な動作となったと記憶していますが如何でしょう? -> はゆる様
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-06 21:22
自己矛盾に気が付いて慌てて書き込みます.

> sendmail 側で logging されてないなら
な話であれば,設定云々でないかも...と書こうとしてたのに,
気が付いたことに引きずられてました.

logging 周りは実話でしょうか?
送られている場合と送られていない場合と,どちらも logging されない?
なんとなく「そんなことあるのだろうか?」な気がしますし,
送られていない場合だけ logging されないなら,
session の数が制限されているように思われます.
その辺,事実関係をハッキリされるのが先なのかな〜と感じてたりします.

スキルアップ/キャリアアップ(JOB@IT)