68user's page 掲示板

Prev< No. 4573〜4574> Next  [最新発言に戻る] [過去ログ一覧]
No. 4573 # ふくし 2006/04/12 (水) 21:16:07
おひさしぶりです。自分が困ったときだけ出てきてすみません。

Windows のマシンと UNIX のマシンが存在する LAN で、
お互いにメールを送りあうというテストをやっています。
ここでは簡単のため、Windows マシン1台と UNIX マシン1台とします。

W に pmail というフリーウェアの SMTP / POP サーバーを入れた人がいて、
W と U の両方に Mozilla Thunderbird を入れて、
Thunderbird のアカウント設定で、
W の IP アドレスを SMTP / POP アドレス欄に指定することで、
W と U の間でメールのやり取りをすることができました。

しかし、テストの要件のひとつに、
U 側では MUA として /bin/mail も使えるようにする、というものがありました。
sendmail の設定を変えようとしようと思ったのですが、
それは大変だからやめたほうがいいと上司に言われ、
言われるままに U に Postfix を入れました。
ちなみに U の OS は HP-UX 11i ver.2 です。

Postfix のインストールはなんとなく終わりました。
/etc/postfix/main.cf に
myhostaname = U.unix.net
と変更を加えました。

DNS を立てるのはなかなか面倒だと上司に言われたので、言われるままに
U の /etc/hosts および
W の C:\Winnt\system32\drivers\etc\hosts に
172.16.10.2 U.unix.net
172.16.10.3 W.windows.net
のように書きました。

で、U 側で
  # mail root
  nantoka
  kantoka
  .
のように書くと、
  # mail
で自分宛に出したメールが確認できましたが、
  # mail dareka@W.windows.net
  nandakakandaka
  .
のようにすると、
  Diagnostic-Code: X-Postfix; Host or domain name not found. Name Service
    error for name=W.windows.net type=A: Host not found
のように怒られます。

(ここで、dareka は W の pmail に設定したメールアカウントです。)

U から
  # nslookup
  > W.windows.net

とすると 172.16.10.3 が、

  > 172.16.10.3

とすると W.windows.net が正しく帰るのですが、
host W.windows.net とすると not found 3(NXDOMAIN) と言われます。
このへんが原因でしょうか。

この状況で、U から W に /bin/mail でメールを出すことができるでしょうか。

また、W の Thunderbird から出したメールを
U の /bin/mail で受けるためには、qpopper のようなプログラムを
U に入れないといけないのでしょうか。

他に、いまの私の状況でもっと簡単にテストするアイディアがわかれば
ご教示ください。

いろいろ聞いてすみません。よろしくお願いします。

No. 4574 # 68user 2006/04/13 (木) 01:31:52
>>4572 べた
> 他に、良い方法があるのでしたら伺いたいのですが。
まず、syslog の出力には年がないという根本的欠陥があります。なので、
ログファイルを後からチェックするだけでは、完璧な判定はできません。
たとえば
    Apr 9 12:23:00 ... (2005年出力)
    Apr 9 12:23:01 ... (2006年出力)
とか
    Apr 9 12:23:01 ... (2005年出力)
    Apr 9 12:23:00 ... (2006年出力)
というケースもありうるわけです。また、現在 1月1日 0時2分だとして、
1分前に出力されたログ
    Jan 1 00:01:00 ...
と、5分前の時刻
    Dec 31 12:57:00 ...
をソートすると Jan 1 の方が先になり、意図した結果になりません。

それを踏まえた上で、
    - 1年前のログが残っていることはないとみなす
    - 年初 5分は目をつぶる
が許容できるかどうかはあなたが判断してください。なお、Jan や Feb の
ソートについては、sed で 01 や 02 に置換すれば何とでもできるでしょう。

理想は年が記録されるログに乗り換えることですが (=syslog を捨てる)、
それが許されるシチュエーションはあまりないと思いますので、
>>4567 まんたろう
は現実的な落としどころと考えます。


>>4573 ふくし
> Diagnostic-Code: X-Postfix; Host or domain name not found. Name Service
> error for name=W.windows.net type=A: Host not found
Postfix はよく知りませんが、
    http://www.kobitosan.net/postfix/ML/arc.4/msg00048.html
でしょうか。あと、うまくいくかどうかわかりませんが、
    # mail 'dareka@[172.16.10.3]'
と IP アドレスを直接指定するとか。@[..] は IP アドレス指定の場合の
メールアドレス記述方法だったような気がしますが、使ったことはありません。

# http://x68000.q-e-d.net/~68user/rfc/?key=821&target=title

> # nslookup
nslookup は、/etc/hosts を参照しません。

と思ったら、HP-UX の nslookup は参照するんですね。へぇ。
    http://docs.hp.com/ja/B2355-90851/nslookup.1.html

> また、W の Thunderbird から出したメールを
> U の /bin/mail で受けるためには、qpopper のようなプログラムを
> U に入れないといけないのでしょうか。
mail コマンドには POP クライアントの機能はないと思いますので、
W で POP サーバを動かすという前提であれば、
    - W にメールが届くと U に転送し、mail コマンドは /var/spool/mail などを
        直接参照する。
    - U で fetchmail などの POP クライアントを動かし、/var/spool/mail などに
        書き出す。
    - W・U 両方で POP サーバを動かし、W 宛のメールは W の POP サーバから
        取得し、U 宛のメールは U の POP サーバから取得する。
などの方法があります (他にもあると思いますが)。

言うまでもありませんが、要件自体が不適切である可能性もあります。

Prev< No. 4573〜4574> Next  [最新発言に戻る] [過去ログ一覧]