重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

sendmailで別サーバへメール送信をしたいですが送信できないためわかる方、ご教授ください。

環境:CentOS 5
Sendmail:sendmail-8.13
DNS:bind

サーバは3台あり、この環境内でメールを送信したいとおもっております。
構成としては以下となります。

サーバA(SA) 10.100.10.2
サーバB(SB) 192.168.10.2
サーバC(SC) 192.168.10.3

目的:SAからSBへメールを送信したい

SB⇔SC間は送受信ができております。
しかし、SA⇒SBの送信ができなくて困っています。
全サーバは、POP等は構築していないため、サーバ上でメールを確認する状態です。

SAのドメイン名は、sendmail.co.jp
SBのドメイン名は、centos.co.jp

DNSは、SAのみに構築しており
nslookup centos.co.jp
==============================
Server: 127.0.0.1
Address: 127.0.0.1#53

Name: centos.co.jp
Address: 192.168.10.2
==============================

dig centos.co.jp
================================================================================
;; QUESTION SECTION:
;centos.co.jp. IN A

;; ANSWER SECTION:
centos.co.jp. 86400 IN A 192.168.10.2

;; AUTHORITY SECTION:
centos.co.jp. 86400 IN NS ns1.centos.co.jp.

;; ADDITIONAL SECTION:
ns1.centos.co.jp. 86400 IN A 127.0.0.1

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
================================================================================


SBにはDNSがないため、hostsに記載して名前解決をしております。

SAからの送信の際に気になるのが、
mail test@centos.co.jp に送信しようとすると(SBにはtestアカウントは作成してあります)
送信ログをみるとrelay=test@localhostとDNSをみていないような気がしております・・・

SAは、
resolve.confは、127.0.0.1と設定しています。
※これが正しいのかもわかりませんが。
nsswitch.confは、host: dns files

SBは、
resolve.confは記述なし
nsswitch.confは、host: files

SAのsendmailは外部送信できるようにはしているつもりです。
m4を使ってcfを編集しており、元々のcentosのsendmailから変更した点は以下です。
※頭のdnlを外したもの/つけたものも含んでいます。

DAEMON_OPTIONS(`Port=smtp,Addr=10.100.10.2, Name=MTA')dnl
dnl FEATURE(`accept_unresolvable_domains')dnl
LOCAL_DOMAIN(`centos.co.jp')dnl
Cwcentos.co.jp
MASQUERADE_AS(`centos.co.jp')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(`.centos.co.jp')dnl
FEATURE(`virtusertable',`hash /etc/mail/virtusertable.db')dnl
VIRTUSER_DOMAIN_FILE(`/etc/mail/virtuser-domains')dnl

SBは受信できるように
local-host-namesにsendmail.co.jpに記述し、
念のため、hostsにsendmail.co.jp 10.100.10.2 を記述してます。

pingは相互に飛ばせます。

telnet sendmail.co.jp 25 をするとプロンプトが返ってきません。
そのかわり、telnet 10.100.10.2 25 をするとできますが結果は同じになります。

上記のことから質問ですが、

1.SBについてはDNSがないため、hostsで解決させているがそれで問題ないのか。
2.上記のログからSAはcentos.co.jpに送信しようとしているのでしょうか?

正直、bind、sendmailの設定を初めてやっているので
よくわかっていない部分があるため、足らない設定個所や気になるところがあれば
教えて頂けると幸いです。

A 回答 (5件)

お力になれていなくて心苦しいです。



digの結果とbindのconfおよびゾーンファイルから考えますとdnsの設定は問題無く、MXがきちんと引けているようです。

ころころ変わりまして申し訳ありませんが、消去法でsendmail側が怪しい可能性が高いことになります。

/etc/mail配下のファイルを今一度見直してみる。

sendmail.cfでデバッグレベルをデフォルトの9から16とかに変更すると
/valog/maillogに記録されるログがもう少し詳しくなるのでそれを確認することが考えられます。
設定箇所はこんな行です。
O LogLevel=9

申し訳ありませんが、ログや設定ファイルを全てみることは出来ないのでちょっと手詰まり感があります。
    • good
    • 0
この回答へのお礼

設定が見えない以上口頭での対応はやはり難しいと思いますが
対応して頂きありがとうございます。

ログレベルは既に15にしており
前回、お出しした内容がそのログとなります。

>送信をして少ししたら
>p890v7dj000610: from=example, size=54, class=0, nrcpts=1, msgid= (以下省略)

DNSの設定に悪い部分は見受けられないとのこと
確認ありがとうございました。

もう少し調査をしてみます。

お礼日時:2011/09/13 09:30

いまごろになって気づいて申し訳ありません。



>SAのsendmailは外部送信できるようにはしているつもりです。
>m4を使ってcfを編集しており、元々のcentosのsendmailから変更した点は以下です。
>※頭のdnlを外したもの/つけたものも含んでいます。

>DAEMON_OPTIONS(`Port=smtp,Addr=10.100.10.2, Name=MTA')dnl
>dnl FEATURE(`accept_unresolvable_domains')dnl
>LOCAL_DOMAIN(`centos.co.jp')dnl
>Cwcentos.co.jp
>MASQUERADE_AS(`centos.co.jp')dnl
>FEATURE(masquerade_envelope)dnl
>FEATURE(masquerade_entire_domain)dnl
>MASQUERADE_DOMAIN(`.centos.co.jp')dnl
>FEATURE(`virtusertable',`hash /etc/mail/virtusertable.db')dnl
>VIRTUSER_DOMAIN_FILE(`/etc/mail/virtuser-domains')dnl

これはSAのsendmail.mcですよね。
これを見るとSAがcentos.co.jpのMTAとして設定されているように思いますが間違っていますでしょうか。

DNSは、
>IN MX 10 mail.centos.co.jp.
>mail IN A 192.168.10.2
となっていますので、centos.co.jpのメールサーバはSB(192.168.10.2)のはずなので、
SAのsendmailがcentos.co.jpのMTAになっていてはおかしいです。

ここはsendmail.co.jpであるべきだと思います。
確認して見てください。

この回答への補足

大変失礼致しました。

こちらは転記ミスです。
上記の項目はすべてsendmail.co.jpとなっております。

補足日時:2011/09/12 16:07
    • good
    • 0
この回答へのお礼

nslookupで名前解決はできていましたが
bindがなんらかの問題で正常稼働していなかったようで
再インストールすることで解決しました。

いろいろとありがとうございました。
情報により解決に至った為、ベストアンサーとさせて頂きました。

お礼日時:2011/09/15 09:54

SAの


/etc/mail/mailertable

centos.co.jp smtp:192.168.10.2
と書いて配送させるんじゃダメなんでしょうか?

http://www.ksknet.net/sendmail/mailertable.html
    • good
    • 0
この回答へのお礼

ありがとうございます。

可能であれば勉強ということもあり、
DNSで解決をしたいとおもっております。

ただ、mailertableを配送することでSBに配送できたので
やはりDNSの設定に問題がありそうです。

お礼日時:2011/09/12 14:39

>知識がないことは重々承知しております。


>勉強中のため上記の作業をしておりました・・・

失礼なことを申し上げたようですいません。

ログを見させて頂いたのですが、

>p890v7dj000610: from (以下省略)

この行はmailコマンドによるsendmailの受信ログですね。
送信元メールサーバはlocalhostです。

>p890vRg4000613: from

この行はSMTPによるsendmailの受信ログですね。
送信元サーバはlocalhostです。

>p890v7dj000610: to

このメッセージはmailコマンドにより受信メールの送信ログですね。
送信先サーバはローカルホストです。

つまり、SAはtest○centos.co.jp宛のメールを自分自身に送っていることになります。

sendmail側の設定でcentos.co.jpが自分自身のローカルアドレスと思っているか、
MXレコードの名前解決を行ったとき自分自身のIPアドレスを返してしまうようDNSが設定されているような設定ミスがあるように思います。

(ログにSMTP接続のログ出力があることからDNS側の問題の可能性が大きいように思う)

現段階ではSBは無関係に思います。

直接関係あるかわかりませんが、

>ns1.centos.co.jp. 86400 IN A 127.0.0.1

digでこの行が返るのはおかしいです。
ローカルループバック用のゾーン以外で127.0.0.1が設定されていることは問題です。
centos.co.jpの正引きゾーン設定を見直しす必要があると思います。

この回答への補足

失礼しました。
774dangerさんへの回答をお礼で記載してしまいました。

他の方の回答ですが、mailertablesに
centos.co.jpsmtp:[192.168.10.2]
とすることでメールを配送することができました。

となると、やはりDNS側での設定ミスの可能性が高そうです。

勉強ということもありDNSでの解決をさせたいとおもっております。

DNSの情報を記載致しましたのでおかしな部分がありましたら
ご教授頂けますでしょうか。
※なお、アットマークは○にしております。

/var/named/chroot/etc/named.conf は以下としております。
※サイトを参考に書いております。
===================================================================
options {
// listen-on port 53 { 127.0.0.1; 10.100.10.2; };
listen-on port 53 { 127.0.0.1; };
// zone ファイルの格納場所
directory "/var/named";
// BIND の利用を許す範囲を指定
allow-query {
// 自分自身( localhost )
127.0.0.1;
10.100.10.0/24;
};
// スレーブ DNS のアドレスを記述。内向き DNS の場合は必要ないが一応記載。
allow-transfer {
// 自分自身( localhost )
127.0.0.1;
10.100.10.0/24;
};
};

// localhost の正引きの設定
zone "localhost" {
// Master DNS Serverであることを示す
type master;
// ファイル名
file "localhost.zone";
};

// localhost の逆引きの設定
zone "0.0.127.in-addr.arpa" {
// Master DNS Serverであることを明示
type master;
// ファイル名
file "0.0.127.in-addr.arpa";
};

// centos.co.jp の正引きの設定
zone "centos.co.jp" {
// Master DNS Serverであることを示す
type master;
// ファイル名
file "centos.co.jp";
};

===================================================================

/var/named/chroot/var/named/centos.co.jp
※前回のご回答の際に127.0.0.1が表示されてしまうのはおかしいということでしたので
 以下の矢印の通り、127.0.0.1から10.100.10.2に変更しましたがやはり送信できない状態で
 mailログも同じ内容でした。

===================================================================
$ORIGIN centos.co.jp.
$TTL 86400
○ IN SOA ns1.centos.co.jp. root.ns1.centos.co.jp. (
2011090601
3H
15M
1W
1D )
IN NS ns1.centos.co.jp.
IN MX 10 mail.centos.co.jp.
○ IN A 192.168.10.2
ns1 IN A 10.100.10.2 ←この行を127.0.0.1からSAのIPに
変更しました。
mail IN A 192.168.10.2

===================================================================

resolve.confは以下としております。
===================================================================
nameserver 127.0.0.1
===================================================================

補足日時:2011/09/12 15:01
    • good
    • 0
この回答へのお礼

ありがとうございます。

可能であれば勉強ということもあり、
DNSで解決をしたいとおもっております。

ただ、mailertableを配送することでSBに配送できたので
やはりDNSの設定に問題がありそうです。

お礼日時:2011/09/12 14:39

>1.SBについてはDNSがないため、hostsで解決させているがそれで問題ないのか。



今回のトラブルはSA→SBということなので基本的にはSBの名前解決は関係しないと思います。
逆引き出来ないホストからの受信を拒否するような設定をsendmailに入れていると別ですが。

ただ、SB→SA送信を行う場合には問題になると思います。

>SB⇔SC間は送受信ができております。

これはなんでという疑問はありますが。

>2.上記のログからSAはcentos.co.jpに送信しようとしているのでしょうか?

sendmail自体のログについて記載が
>送信ログをみるとrelay=test@localhostとDNSをみていないような気がしております・・・

これしかないのでちょっと判断が難しいです。

それよりも、digなどでDNS名前解決の検証結果を載せられていますが、肝心のMXレコードについての設定が見えてこないのですがどうなっていますか?

また余計なお世話かもしれませんが、

>SAは、
>resolve.confは、127.0.0.1と設定しています。
>※これが正しいのかもわかりませんが。

基本的なことですので、ローカルループバックについて理解されたほうがいいと思います。

とっても失礼ですがDNSおよびMTAの設定をするにはネットワークの知識がちょっと不足しているように感じます。

この回答への補足

ご回答頂きありがとうございます。

知識がないことは重々承知しております。
勉強中のため上記の作業をしておりました・・・
引き続き、教えて頂けますと幸いです。

ループバックについてはもっとサイトをみて理解を深めてみます。

因みにですが、
SBでは逆引きできないホストからの受信を許可しております。
dnl FEATURE(`accept_unresolvable_domains')dnl

dig centos.co.jp mx をした結果です。

;; QUESTION SECTION:
;centos.co.jp. IN MX

;; ANSWER SECTION:
centos.co.jp. 86400 IN MX 10 mail.centos.co.jp.

;; AUTHORITY SECTION:
centos.co.jp. 86400 IN NS ns1.centos.co.jp.

;; ADDITIONAL SECTION:
mail.centos.co.jp. 86400 IN A 192.168.10.2
ns1.centos.co.jp. 86400 IN A 127.0.0.1

ちょっと状況が変わりまして基本的なことですが・・・
SA上でlocal-host-domainsにcentos.co.jpを記載していたことにより
SAのメールと認識してメールが処理されておりました。
そのため、削除しましたがやはりまだ送信できない状況です。
ただ、エラーは変わりました。

ログを以下に張り付けました。
※アットマークはokwebでは確認対象になるようですので○にしてます。
 
送信コマンドは mail test○centos.co.jp としております。

p890v7dj000610: from=example, size=54, class=0, nrcpts=1, msgid=<201109090057.p890v7dj000610○sendmail.co.jp>, relay=example○localhost
※fromのtestはSA上にアカウントが存在します。

送信をして少ししたら
p890v7dj000610: from=example, size=54, class=0, nrcpts=1, msgid=<201109090057.p890v7dj000610○sendmail.co.jp>, relay=example○localhost
NOQUEUE: connect from localhost [127.0.0.1]
AUTH: available mech=LOGIN PLAIN ANONYMOUS, allowed mech=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
p890vRg4000613: Milter: no active filter
p890vRg4000613: --- 220 unknow ESMTP
p890vRg4000613: <-- EHLO sendmail.co.jp
p890vRg4000613: --- 250-sendmail.co.jp Hello localhost [127.0.0.1], pleased to meet you
p890vRg4000613: --- 250-ENHANCEDSTATUSCODES
p890vRg4000613: --- 250-PIPELINING
p890vRg4000613: --- 250-8BITMIME
p890vRg4000613: --- 250-SIZE
p890vRg4000613: --- 250-DSN
p890vRg4000613: --- 250-ETRN
p890vRg4000613: --- 250-DELIVERBY
p890vRg4000613: --- 250 HELP
p890vRg4000613: <-- MAIL From:<example○sendmail.co.jp> SIZE=54
p890vRg4000613: --- 250 2.1.0 <example○sendmail.co.jp>... Sender ok
p890vRg4000613: <-- RCPT To:<test○centos.co.jp>
p890vRg4000613: --- 250 2.1.5 <test○centos.co.jp>... Recipient ok
p890vRg4000613: <-- DATA
p890vRg4000613: --- 354 Enter mail, end with "." on a line by itself
p890vRg4000613: from=<example○sendmail.co.jp>, size=360, class=0, nrcpts=1, msgid=<201109090057.p890v7dj000610○sendmail.co.jp>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
p890vRg4000613: --- 250 2.0.0 p890vRg4000613 Message accepted for delivery
p890v7dj000610: to=test○centos.co.jp, ctladdr=example (500/500), delay=00:00:21, xdelay=00:00:21, mailer=relay, pri=30054, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p890vRg4000613 Message accepted for delivery)
p890vRg5000613: <-- QUIT
p890vRg5000613: --- 221 2.0.0 sendmail.co.jp closing connection

が表示されて終了します、SBで受信はしておりません。

補足日時:2011/09/09 10:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!