postfixの動作についてお聞きしたいのですが、 main.cfにてメ−ルボックスのディレクトリの設定を mail_spool_directory = /var/spool/mail として、メールを送ると、/var/spool/mailにメールが存在し、mailコマンドで取得す ると/home/users/mboxにメールが来ていました。詳しく調べてみたのですが、 (http://www.kobitosan.net/postfix/jman/big-picture.html) ローカルメールの場合、メール送信をすると、sendmailプログラムからmaildropという所 に一時的(?)にメールが保存されるとあり、探してみたのですが、 /var/spool/postfix/maildropディレクトリがありました。 しかし、中は空でなにもありませんでした。 そこで/var/spool/postfix/maildropにはなかったので、/var/spool/postfix/incomingという所 も調べてみたのですが、同じく発見できませんでした。 これは、プロセスが次々と処理をしているので、自分で確かめようとすると時には、/var/spool/mail へ来てしまったということでしょうか(maildrop、incomingにあったデータは消去された?) (とすると、どのプロセスがどのタイミングで/var/spool/mailへメールを格納するのでしょうか?) もう一つお聞きしたいのですが、localプロセスにて、ローカルのユーザに 「mail ユーザ名」としたり正確に「mail メールアドレス」とすると、メールが送れますが メールが送れるのは、localプロセスがaliasesテーブルにアクセスしているからだと自分は解釈しています、そこで (前に自分がメールが送れなかったのもここが原因でした。) aliases検索テーブルの中身を見たいのですが、どのようにすればいいのでしょうか? (/etc/postfix/aliasesには、特に、解決するための内容ではないようで、aliases.dbファイルが 怪しいのですが、バイナリファイルみたいで、閲覧できませんでした) さらに、お聞きしたいのですが、main.cfのalias_map等で、hash,dbとあるのですが、これは何を いみするのでしょうか? 質問が長くなってしまいすみませんがよろしくお願いします。 (現在postfix-1.1.11-20021115.tar.gzを使っています。)
こんばんは。やってますね。
> これは、プロセスが次々と処理をしているので、自分で確かめようとすると時には、/var/spool/mail
> へ来てしまったということでしょうか(maildrop、incomingにあったデータは消去された?)
一瞬で、データが持ちまわるので見ることは不不可能でしょう。
> (とすると、どのプロセスがどのタイミングで/var/spool/mailへメールを格納するのでしょうか?)
申し訳ありませんが、内部の動きは開発者でもないのでわかりません。
> もう一つお聞きしたいのですが、localプロセスにて、ローカルのユーザに
> 「mail ユーザ名」としたり正確に「mail メールアドレス」とすると、メールが送れますが
> メールが送れるのは、localプロセスがaliasesテーブルにアクセスしているからだと自分は解釈しています、そこで
> (前に自分がメールが送れなかったのもここが原因でした。)
> aliases検索テーブルの中身を見たいのですが、どのようにすればいいのでしょうか?
> (/etc/postfix/aliasesには、特に、解決するための内容ではないようで、aliases.dbファイルが
> 怪しいのですが、バイナリファイルみたいで、閲覧できませんでした)
下記とも関係していますが、aliasesの内容の検索が早くなるようにハッシュ関数を使って、
DB化したのがaliases.dbですのでデータ構造は違いますが中身は同じです。ハッシュ関数とは
何かを検索で探せばみつかると思います。身近なところでは、スイッチングHUBの中のLSIで
MACアドレスの学習にも同じ技術が使われています。膨大なデータを瞬時に検索するための
技術で、ハッシュ関数でデータをグループ化し目的のデータに非常に短時間で到達できるように
する技術です。MD5なども同じ技術を使用しています。
> さらに、お聞きしたいのですが、main.cfのalias_map等で、hash,dbとあるのですが、これは何を
> いみするのでしょうか?
こんにちは。
>下記とも関係していますが、aliasesの内容の検索が早くなるようにハッシュ関数を使って、
>DB化したのがaliases.dbですのでデータ構造は違いますが中身は同じです。ハッシュ関数とは
aliasesファイルを見ても、実際にredhatユーザー名とそのユーザに対するメールアドレス等は
記述されていませんが、そういうファイルはどこかにあるのでしょうか?
(aliasesファイルしかないと思うのですが)
>何かを検索で探せばみつかると思います。身近なところでは、スイッチングHUBの中のLSIで
>MACアドレスの学習にも同じ技術が使われています。膨大なデータを瞬時に検索するための
>技術で、ハッシュ関数でデータをグループ化し目的のデータに非常に短時間で到達できるように
>する技術です。MD5なども同じ技術を使用しています。
検索すると色々と出てきますが、内容が高度の為、即理解とはいかないようでした。
最後に、おやじさんに試して頂きたい事があるのですが、
一度適当なローカルユーザーにメールを送ってほしいのですが、その時、
ps aux を行うと、trivial-rewrite -というプロセスは在るでしょうか?
それと、/etc/maillogにて、localプロセスの行が2行あるでしょうか?
(自分の場合は、一度警告がでて、それから配送しているようでした。)
よろしくお願いします。
こんばんは。うまく動いていないようですね。
> aliasesファイルを見ても、実際にredhatユーザー名とそのユーザに対するメールアドレス等は
> 記述されていませんが、そういうファイルはどこかにあるのでしょうか?
> (aliasesファイルしかないと思うのですが)
一般ユーザはシステムユーザ名とrelay_domainsで指定したドメインで判断していると思いますが。
aliassesは例えば、システム(root)やほかのデーモンがメールするときにどの一般ユーザに向けて
だすかを指定するものだと思っています。従って、ほとんどのデーモンはrootに行き、rootから受ける
管理用ユーザ(例えばaliasesでroot; linux linuxは一般メールユーザ)を用意しておかなければ
システムからの通知を受けられません。
> 最後に、おやじさんに試して頂きたい事があるのですが、
> 一度適当なローカルユーザーにメールを送ってほしいのですが、その時、
> ps aux を行うと、trivial-rewrite -というプロセスは在るでしょうか?
あります。
> それと、/etc/maillogにて、localプロセスの行が2行あるでしょうか?
> (自分の場合は、一度警告がでて、それから配送しているようでした。)
下記のように1行です。いろいろ動かしているので、たった1通で21行もの
ログがでます。長いので、折り返されるので醜いかと思いますが、参考まで。
Dec 4 21:43:03 homeserver postfix/smtpd[10787]: setting up TLS connection from oyaji.acorn.zive.net[192.168.1.3]
Dec 4 21:43:03 homeserver postfix/smtpd[10787]: TLS connection established from oyaji.acorn.zive.net[192.168.1.3]: TLSv1 with cipher RC4-MD5 (128/128 bits)
Dec 4 21:43:03 homeserver postfix/smtpd[10787]: connect from oyaji.acorn.zive.net[192.168.1.3]
Dec 4 21:43:03 homeserver postfix/smtpd[10787]: 36CCF1CD996: client=oyaji.acorn.zive.net[192.168.1.3], sasl_method=LOGIN, sasl_username=oyaji
Dec 4 21:43:03 homeserver postfix/cleanup[10788]: 36CCF1CD996: message-id=<000d01c29b92$afc355e0$0301a8c0@oyaji>
Dec 4 21:43:03 homeserver postfix/smtpd[10787]: disconnect from oyaji.acorn.zive.net[192.168.1.3]
Dec 4 21:43:03 homeserver postfix/qmgr[1276]: 36CCF1CD996: from=<oyaji@mail.aconus.com>, size=642, nrcpt=1 (queue active)
Dec 4 21:43:03 homeserver avgated[10791]: connection from homeserver
Dec 4 21:43:03 homeserver avgated[10791]: spooled to 10791-7F2DCC3C
Dec 4 21:43:03 homeserver avgatefwd[10792]: Message 'incoming/xf-10791-7F2DCC3C' scheduled for scanning now.
Dec 4 21:43:03 homeserver avgatefwd[10792]: Virus Scanner will process message 'incoming/qf-10791-7F2DCC3C'.
Dec 4 21:43:03 homeserver postfix/smtp[10790]: 36CCF1CD996: to=<linux@acorn.zive.net>, relay=127.0.0.1[127.0.0.1], delay=0, status=sent (250 Mail accepted for delivery.)
Dec 4 21:43:03 homeserver avgated[10791]: connection to homeserver closed
Dec 4 21:43:03 homeserver avgatefwd[10795]: Message 'outgoing/xf-10791-7F2DCC3C' scheduled for delivery now.
Dec 4 21:43:03 homeserver postfix/smtpd[10796]: connect from homeserver[127.0.0.1]
Dec 4 21:43:03 homeserver postfix/smtpd[10796]: BD7D51CD996: client=homeserver[127.0.0.1]
Dec 4 21:43:03 homeserver postfix/cleanup[10788]: BD7D51CD996: message-id=<000d01c29b92$afc355e0$0301a8c0@oyaji>
Dec 4 21:43:03 homeserver avgatefwd[10795]: Message 'outgoing/qf-10791-7F2DCC3C' successfully forwarded.
Dec 4 21:43:03 homeserver postfix/smtpd[10796]: disconnect from homeserver[127.0.0.1]
Dec 4 21:43:03 homeserver postfix/qmgr[1276]: BD7D51CD996: from=<oyaji@mail.aconus.com>, size=1090, nrcpt=1 (queue active)
Dec 4 21:43:04 homeserver postfix/local[10797]: BD7D51CD996: to=<linux@acorn.zive.net>, relay=local, delay=1, status=sent (""|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #linux")
こんにちは。
はじめに、警告が出ていたのですが、解決しました。
調べていて、alias_mapsに問題があるとわかり、チェックした所、alias_mapsが、alias_mapと
なっていました(ただのスペルみすでした)。
>一般ユーザはシステムユーザ名とrelay_domainsで指定したドメインで判断していると思いますが。
というと、ローカルの場合でユーザ名だけを打ったときは、ユーザー名 + @ + relay_domainsの
書式(a.co.jp等)といった感でしょうか。
>> 最後に、おやじさんに試して頂きたい事があるのですが、
>> 一度適当なローカルユーザーにメールを送ってほしいのですが、その時、
>> ps aux を行うと、trivial-rewrite -というプロセスは在るでしょうか?
>あります
このプロセスで不適切なアドレスを直してもらっていて、警告がでても
送信できていたのかと思っていましたが、違うようでした
(ps aux ではでるのですがログではでなかったので)。
>下記のように1行です。いろいろ動かしているので、たった1通で21行もの
>ログがでます。長いので、折り返されるので醜いかと思いますが、参考まで。
ありがとうございました。
smtpdが稼動していましたが、これは、
[ローカルPC(送信)]→[(受信)smtpサーバ(送信)]→[(受信)smtpサーバ(linux)(ローカル送信によって同PCのメールボックス)]
といった流れなのでしょうか?
あと、調べているうちに気になることがあるのですが、
インターネットから、自分のサーバのユーザに対してuser@thunder-gundan.infoとすると、無事にメールが届くのですが、
このときインターネットのSMTPは名前解決の為に、自らがリゾルバのネームサーバとして機能するか、ほかのリゾルバのネームサーバ
に問い合わせると思うのですが、この場合最終的にはリゾルバのネームサーバはtunder-gundan.infoという
ドメインに対して、自分のサーバ(DNS)へきて
thunder-gundan.info. IN MX 10 linux.thunder-gundan.info.
linux IN A 203.141.144.48
mail IN CNAME linux
でMX linux.thunder-gundan.info.→linux.thunder-gundan.info. A 203.141.144.48
でIPを取得するという仕組みだと思うのですが、
ここで、メールのアドレスをuser@mail-thunder-gundan.infoやuser@linux.thunder-gundan.info
にしてもメールが届きます。
これは、thunder-gundan.info. IN MX 10 、、、 はthunder-gundan.info.ゾーンに対するメール
はMXレコードに書いてあるホストだよという意味で問題ないでしょうか?
(つまり、thunder-gundan.infoゾーン内へのメールはMXレコードを参照すると言う事でしょうか)
wwwサイトだと、linux.thunder-gundan.inofやwww,thunder-gundan.infoの場合、CNAMEかAレコード
の、linux,www等をみているので、メールの場合もmail用のMX,linux用のMXと言った感じで作る必要が
あると、思っていたのですが、それは誤解ですよね?
(うまく説明ができなくて非常に読み取りにくいと思いますので、足りないところがあれば返信おねがいします)
あと、こういう事を調べるには、実際に試して見るのがいいと思うのですが、ローカルにDNS,smtpサーバを
構築すれしか方法はないでしょうか?
よろしくお願いします。
こんばんは。
> smtpdが稼動していましたが、これは、
> [ローカルPC(送信)]→[(受信)smtpサーバ(送信)]→[(受信)smtpサーバ(linux)(ローカル送信によって同PCのメールボックス)]
> といった流れなのでしょうか?
AntiVirを動かしているので、受信したものを一回こちらに配送して又戻ってきて、ローカルに配送という動きです。
> あと、調べているうちに気になることがあるのですが、
> インターネットから、自分のサーバのユーザに対してuser@thunder-gundan.infoとすると、無事にメールが届くのですが、
> このときインターネットのSMTPは名前解決の為に、自らがリゾルバのネームサーバとして機能するか、ほかのリゾルバのネームサーバ
> に問い合わせると思うのですが、この場合最終的にはリゾルバのネームサーバはtunder-gundan.infoという
> ドメインに対して、自分のサーバ(DNS)へきて
> thunder-gundan.info. IN MX 10 linux.thunder-gundan.info.
> linux IN A 203.141.144.48
> mail IN CNAME linux
>
> でMX linux.thunder-gundan.info.→linux.thunder-gundan.info. A 203.141.144.48
> でIPを取得するという仕組みだと思うのですが、
> ここで、メールのアドレスをuser@mail-thunder-gundan.infoやuser@linux.thunder-gundan.info
> にしてもメールが届きます。
> これは、thunder-gundan.info. IN MX 10 、、、 はthunder-gundan.info.ゾーンに対するメール
> はMXレコードに書いてあるホストだよという意味で問題ないでしょうか?
> (つまり、thunder-gundan.infoゾーン内へのメールはMXレコードを参照すると言う事でしょうか)
そうです。大きな企業では1つのサーバでは済まず、会社内にサブドメイン用のメールサーバがたくさん
散らばっています。そこでMXは、サブドメイン宛のメールを含めて受け取るサーバを明示するもので、
そこからサブドメインに中継することになります。従って、おやじやakuroさんのようなメールサーバ1台では、
MXレコードは必ずしも必要ありません。Aレコードだけで配送できます。
> wwwサイトだと、linux.thunder-gundan.inofやwww,thunder-gundan.infoの場合、CNAMEかAレコード
> の、linux,www等をみているので、メールの場合もmail用のMX,linux用のMXと言った感じで作る必要が
> あると、思っていたのですが、それは誤解ですよね?
> (うまく説明ができなくて非常に読み取りにくいと思いますので、足りないところがあれば返信おねがいします)
yes.
>
> あと、こういう事を調べるには、実際に試して見るのがいいと思うのですが、ローカルにDNS,smtpサーバを
> 構築すれしか方法はないでしょうか?
と、思います。
こんばんは。
>そうです。大きな企業では1つのサーバでは済まず、会社内にサブドメイン用のメールサーバがたくさん
>散らばっています。そこでMXは、サブドメイン宛のメールを含めて受け取るサーバを明示するもので、
>そこからサブドメインに中継することになります。
という事は、例えば、user@mail2.ABCcompany.comとメールした時は、
会社のドメイン(ABCcompany.com)を管理しているDNSにまず来て、
その中で
mail1.ABCcompany.com MX 10 mail1.ABCcompany.com
mail2.ABCcompany.com MX 10 mail2.ABCcompany.com
mail3.ABCcompany.com MX 10 mail3.ABCcompany.com
mail1.ABCcompany.com A 111.111.111.111
mail2.ABCcompany.com A 222.222.222.222
mail3.ABCcompany.com A 333.333.333.333
mal3だから333.333.333.333になるという事でしょうか?
(調べては見たのですが、いい情報が見つかりませんでした、お勧めできるサイトがありましたら、
教えていただけないでしょうか)
後、NSレコードも同じ事なのでしょうか?
さらに、上記の自分の考えはあっているとしたら、
ローカルに新規に[smtp/pop]を作って(192.168.0.8とかで)、そのローカルメールサーバへメールを送る
なんて事ができるでしょうか。
(会社で言うとA部署,B部署と言う感じで、各部署ごとにローカルサーバを構築してメールを部署事にまとめる
ことができるので、A,B部署で、同じユーザ名の人がいてもサーバが違うので問題なく処理できる)
>従って、おやじやakuroさんのようなメールサーバ1台では、
>MXレコードは必ずしも必要ありません。Aレコードだけで配送できます。
という事は、元のDNSサーバからさらにサブドメイン用のメールサーバに経由するとして、
そのメールサーバがDNSも兼用で使っていた場合(DNSが多重化している)、
そのDNSのMXはいらないということでしょうか。
(非常にわかりにくい言い回しですみません)
>> あと、こういう事を調べるには、実際に試して見るのがいいと思うのですが、ローカルにDNS,smtpサーバを
>> 構築すれしか方法はないでしょうか?
>と、思います。
現在、win2000のHDDを増設し、2000/redhatデュアルでの起動に成功しました、
ゆくゆくはDNS等のテスト機として、使用したいと思っています。
よろしくおねがいします。
こんにちは。
ほとんどの答えがこちらにあると思いますので、一度ご覧になってください。
http://www.atmarkit.co.jp/fnetwork/rensai/dns01/dns01.html
> (会社で言うとA部署,B部署と言う感じで、各部署ごとにローカルサーバを構築してメールを部署事にまとめる
> ことができるので、A,B部署で、同じユーザ名の人がいてもサーバが違うので問題なく処理できる)
サーバが違うというより、表現だけの問題と思いますが、サブドメイン名が違うので、識別できるということです。
> >従って、おやじやakuroさんのようなメールサーバ1台では、
> >MXレコードは必ずしも必要ありません。Aレコードだけで配送できます。
>
> という事は、元のDNSサーバからさらにサブドメイン用のメールサーバに経由するとして、
> そのメールサーバがDNSも兼用で使っていた場合(DNSが多重化している)、
> そのDNSのMXはいらないということでしょうか。
下にサブドメインがいなければ不要です。
> 現在、win2000のHDDを増設し、2000/redhatデュアルでの起動に成功しました、
> ゆくゆくはDNS等のテスト機として、使用したいと思っています。
おやじは、奥さんが使っているマシンにバックアップ環境を作っているので、
リムーバルラックで切り替えています。でも戻し忘れて、奥さんが上げてしまうと、
どうして良いやらわからず、子供が帰ってくるまで電源が入りっぱなしでした。
小学生の子供なら、シャットダウンできるのですが・・・?
奥さんは、何度教えても駄目です。
こんにちは。
>ほとんどの答えがこちらにあると思いますので、一度ご覧になってください。
>http://www.atmarkit.co.jp/fnetwork/rensai/dns01/dns01.html
ありがとうございます。
(前に教えていただいた時に印刷して読んだはずでしたが、読み直した所とても勉強になりました)
読み直した所、自分の考えはだいたい合っているようでしたが、やはり一度自分で色々試してみないと
いけないと思いました。
>> (会社で言うとA部署,B部署と言う感じで、各部署ごとにローカルサーバを構築してメールを部署事にまとめる
>> ことができるので、A,B部署で、同じユーザ名の人がいてもサーバが違うので問題なく処理できる)
>サーバが違うというより、表現だけの問題と思いますが、サブドメイン名が違うので、識別できるということ
>です。
メールのアドレスは,yamada.sub1.Acompany.com,yamada.sub2.Acompany.comでメールアドレスの衝突は
ないと思うのですが、サブドメイン用にサーバを二つ(各部署毎に)作らないと、add userコマンドでLinux
ユーザーを作るとき、サーバが同じPCだと作れないので、駄目という事にはならないでしょうか?
(すみません、うまく質問したいことが表現できていないかもしれません)
> 下にサブドメインがいなければ不要です。
つまり、サブドメイン用にメールサーバがある場合は、そのためのMXが必要になるということで
いいのでしょうか?
よろしくお願いします。
こんにちは。
> >> (会社で言うとA部署,B部署と言う感じで、各部署ごとにローカルサーバを構築してメールを部署事にまとめる
> >> ことができるので、A,B部署で、同じユーザ名の人がいてもサーバが違うので問題なく処理できる)
>
> >サーバが違うというより、表現だけの問題と思いますが、サブドメイン名が違うので、識別できるということ
> >です。
>
> メールのアドレスは,yamada.sub1.Acompany.com,yamada.sub2.Acompany.comでメールアドレスの衝突は
> ないと思うのですが、サブドメイン用にサーバを二つ(各部署毎に)作らないと、add userコマンドでLinux
> ユーザーを作るとき、サーバが同じPCだと作れないので、駄目という事にはならないでしょうか?
鋭いご指摘。つまりakuroさんの表現のほうが、実態としてはあっていますかね。サーバが違えば、サブ
ドメイン名は必然的に変わるので。まとめると、サーバとサブドメイン内で使用するのユーザ名はユニーク
でなければならないということですかね?
> > 下にサブドメインがいなければ不要です。
> つまり、サブドメイン用にメールサーバがある場合は、そのためのMXが必要になるということで
> いいのでしょうか?
必ずしもそうではないでしょう。サブドメインがグローバルならということです。ローカルアドレス
ならその名前解決は内向きDNSでされます。つまり、会社の入り口にいるthunder-gundan.infoを扱う
DNSがこれをMXで定義し、このゲートウェイサーバが全て引き取り、そこから先は、上記ローカルでの
名前解決で各部署のサーバへ送る動きになるはずです。MXで定義されたサーバが見つかれば、それ以下
のサブドメインは評価せず、そこに送信側は送りつけてきます。
こんにちは。
>サーバとサブドメイン内で使用するのユーザ名はユニーク
>でなければならないということですかね?
はい、前にアルバイトをしていた時(まだredhat7.2を初めてインストールしたあたりで、知識はなかったのですが)
に、会社のサーバに新しくメールアカウントの追加を
しようとしていたらしいのですが、名前がかぶってしまい、片方の人の
アカウントを変更していたような気がしたと、ふと思い出したので、解決策はないかと
思ったので。
>必ずしもそうではないでしょう。サブドメインがグローバルならということです。ローカルアドレス
>ならその名前解決は内向きDNSでされます。つまり、会社の入り口にいるthunder-gundan.infoを扱う
>DNSがこれをMXで定義し、このゲートウェイサーバが全て引き取り、そこから先は、上記ローカルでの
>名前解決で各部署のサーバへ送る動きになるはずです。MXで定義されたサーバが見つかれば、それ以下
>のサブドメインは評価せず、そこに送信側は送りつけてきます。
>必ずしもそうではないでしょう。サブドメインがグローバルならということです。ローカルアドレス
>ならその名前解決は内向きDNSでされます。つまり、会社の入り口にいるthunder-gundan.infoを扱う
>DNSがこれをMXで定義し、このゲートウェイサーバが全て引き取り、そこから先は、上記ローカルでの
>名前解決で各部署のサーバへ送る動きになるはずです。MXで定義されたサーバが見つかれば、それ以下
>のサブドメインは評価せず、そこに送信側は送りつけてきます。
つまり、グローバルだと、権威委譲を下位のDNSへ行う(自分がインターリンクからされてるように)と
いうことになるのでしょうか?
(そこで、委譲されたDNSにはMXは無くても大丈夫ということでしょうか)
よろしくお願いします。