アプリ版:「スタンプのみでお礼する」機能のリリースについて

sendmailサーバを設定し、dnsも浸透したのですが、
WANからLAN内のメールサーバを見つけることが出来ない
ようです。
ルータ(バッファローWHR2-A54G54)からサーバへは
アドレス変換で25,53,80,110ポートをサーバへ転送する
設定にしています。
このルータ設定で既にwebサーバは公開しているのですが
メールサーバを外部から利用できません。
ファイアウォールは設定のため停止しています。
LAN内でdnsを立てないと外部からsvr.○○.jpにはアクセ
ス出来ないのでしょうか。
確認が必要な事項をアドバイス頂けばと思います。
よろしくお願いします。

サーバredhat9

/etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.2 svr.○○.jp svr

/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=svr
GATEWAY=192.168.1.1

【簡単な機器構成】
WAN
|
ルータ(192.168.1.1)
|_________________________________
web・mailサーバ PC1 PC2 PC3
(redhat9)
192.168.1.2   192.168.1.3~5

A 回答 (11件中1~10件)

>まだrootの受信でパスワード認証出来ないのが気になりますが、



何度も説明していますが、ログを確認されましたか?
うちのサーバはqpopperを動かしていますが、rootでpopにログインしようとすると

Mar 27 01:19:49 ns in.qpopper[13212]: root at ####.jp (999.999.999.999):
-ERR [AUTH] Access is blocked for UIDs below 10 [pop_pass.c:1340]

とロギンクされます。
ユーザIDが10番以下(rootは0番)は、AUTH認証でアクセスを拒否する様になっています。
この仕組みはPAMライブラリで定義されています。(/etc/pam.d/qpopper)

#3で回答した通り、/etc/aliasでroot宛のメールは一般ユーザに逃がして下さい。
ちなみにRedHat9の/etc/aliases の最後は以下の様に用意されています。

# Person who should get root's mail
#root: marc

aliasesファイルを修正した後は、newaliasesコマンドの実行をお忘れ無く。
    • good
    • 0
この回答へのお礼

ありがとうございました。
maillogも見ましたが、クライアントメーラーの問題でした。何とか、メールサーバ立ち上げまでこぎ着ける事が出来ました。
rootメールも送受信出来るようになりましたが、ご指摘通り一般ユーザに逃がしました。この設定を終えてひとくぎり付きました。
最後まで助言頂き、本当にありがとうございました。

お礼日時:2004/03/28 00:17

ほぼ完成ですね。



逃げの方法ですが...
私はrootのログインはリモート端末からはいかなるプロトコルも拒否しています。それはrootのパスワードがネット上に流れ、盗まれる危険性を考慮しているからです。
それでaliasで
root: hogehoge
と設定しています。これでroot宛てのメールをhogehogeに転送させて、メールを読むのはhogehogeユーザーです。

rootではアクセス禁止にしておくことが望ましいのではと考えます。
それでは良い週末を!!
    • good
    • 0
この回答へのお礼

ありがとうございました。
rootでログインできなかったのは、クライアント側のメーラーが原因でした。
outlookのアカウントがおかしかったらしく、ログイン不能でした。アカウントを全て作り直してOKとなりました。
rootのパスをクライアントメーラーで使うのはやはりよろしくないのですね。何となく不安に思ってました。
この設定を修正して、この問題を完結したいと思います。
丁寧なフォローでおつきあいいただき、ありがとうございました。途中で挫折しそうになりましたが、yosi_yosiさんとxjdさんのおかげで何とか立ち上がりました。本当に助かりました。

お礼日時:2004/03/27 22:59

おつかれさまです。

なかなか順調ですね。
うちの自宅サーバ(Debian)のsendmailでは、以下の様なセキュリティの設定も
しています。よろしかったら参考にして下さい。

FEATURE(`nouucp', `reject')dnl
UUCP形式のメールは受け取らない

define(`confPRIVACY_FLAGS', `goaway')dnl
プライバシーフラグの解除

define(`confSMTP_LOGIN_MSG', `unknown')dnl
telnetなどで接続時にバージョンなどバナーを表示させない。

define(`confTO_IDENT', `0s')dnl
IDENT認証は行なわない。

define(`confTO_AUTH', `0s')dnl
AUTH認証のタイムアウトなし。

FEATURE(`smrsh')dnl
sendmailから実行できるプログラムを制限

define(`confMAX_DAEMON_CHILDREN', `20')dnl
sendmailプロセス数の制限

define(`confCONNECTION_RATE_THROTTLE', `20')dnl
コネクション数の制限

define(`confMAX_MESSAGE_SIZE', `バイト数')dnl
受信可能なメールサイズ

define(`confMAX_HEADERS_LENGTH'), `16384')dnl
ヘッダサイズの制限

などです。

そのうち、cyrus-SASL などsendmailに組み込んで、smtp認証など
に挑戦して下さい。

最近sendmailは、postfixやqmailに評判負けしていますが、
LPIやRHCEといった、Linuxの試験にはたくさんsendmailの問題がでています。
メールサーバの基本なんで、頑張って下さい。

この回答への補足

重ねて貴重な情報をありがとうございます。
プライバシーフラグ解除とtelnetバージョン非表示は設定しましたが(書籍からの引用です)、それ以外は運用が落ち着いたら参考にさせて頂きます。
qmailの方が楽と聞きましたがsendmailが標準ということでやってみました。
なかなか大変ですね。
まだrootの受信でパスワード認証出来ないのが気になりますが、週末を迎える気分が少し楽になりました。

補足日時:2004/03/26 17:31
    • good
    • 0

LAN内部からの接続に関しては、内部用のDNSがない限り名前解決が出来ないので名前指定でのアクセスは不可能(IPアドレスで指定するならば大丈夫のはずですが)でしょう。

(LAN内部からのグローバルアドレス(ルータ)へのアクセスがアドレス変換されているかどうかは、ブラウザーで80番ポートをアクセスすれば分かるはずです。一般的なルータならば、ルータの設定用のページが表示されるはずです。)

送信時のエラーは、SPAMなどを防ぐ目的でつけられたリレーアクセスの拒否の設定です。
通常は、ローカルはリレーアクセスを許可、外部からは拒否になっていると思います。外部からリレーアクセスの必要がある場合には、SMTP AuthやPOP before SMTPなどを利用するのが一般的だと思います。間違っても外部からのリレーアクセスを許可にしないでください。SPAMerの格好の餌食になるばかりか、最悪被害者から訴えられるorISPから接続を切られる、などされる場合があります。

もうほとんどゴールが見えてますね!!
もう少しです、がんばってください。

この回答への補足

確かに、ルータの設定画面が表示されました。
ローカルdnsを立ち上げてクライアント側からアクセスすることで送受信とも可能になりました。
と、書いてる途中でrootからのメールが受信出来ないことに気づきました。(急遽、お礼から補足に変えました_(._.)_)
メール サーバーにログオンできませんでした。 パスワードが拒否されました。 アカウント : 'pop.ii4.jp', サーバー : 'pop.ii4.jp', プロトコル : POP3, サーバーの応答 : '-ERR Bad login', ポート : 110, セキュリティ (SSL): なし, サーバー エラー : 0x800CCC90, エラー番号 : 0x800CCC92
調べるとmicrosoft側の問題のような気もしますが、rootなのでユーザ名とパスワードに変化があるのかと考えてます。ほぼ出来たのですが、rootのメールが読めないのも気持ち悪いので、ほんともう少しです。^_^;

補足日時:2004/03/26 17:12
    • good
    • 0

おつかれさまです。



>qpopper: 192.168.1  :allow

ところで、qpopperは、RedHat9には標準でついていないのですが、自分でコンパイル・
インストールしたんですね?

また、どうせなら内部の名前解決用のDNS(Bind9)を動かしてみてはいかがでしょう?
内部用ですから、自由に名前を設定できますし、forwarderで外部プロバイダのDNSを
指定しておけば、外部の名前解決もできます。

この回答への補足

お世話になってます。
すみません、説明を省いてましたが、以下も追加しました。
ipop3:192.168.1 :allow
ipop3d:192.168.1 :allow
pop3:192.168.1 :allow
popが何で動いてるか、どれが正式名か分からなかったので3つ指定しました。先ほど、ダイアルアップで外部よりアクセスしたところ、pop.ドメイン.jpより受信に成功しました。
送信は、受信者の 1 人がサーバーによって拒否されたため、メッセージを送信できませんでした。 拒否された電子メール アドレス : 外部@メールアドレス 件名 'test', アカウント : 'ユーザ@ドメイン.jp', サーバー : 'mail.ドメイン.jp', プロトコル : SMTP, サーバーの応答 : '550 5.7.1 <外部@メールアドレス>... Relaying denied', ポート : 25, セキュリティ (SSL): なし, サーバー エラー : 550, エラー番号 : 0x800CCC79
のエラーで不可でした。送信部分でサーバにもまだ問題があるようです。エラーメッセージから調べてみます。
内部dnsですが、ちょうど昨日amazonからdnsの書籍が届いたところで、mail問題が片づいたら挑戦しようと思ってましたが、内部アクセス不能なのはdnsの問題のようなのでこちらもやってみます。

補足日時:2004/03/25 13:38
    • good
    • 0
この回答へのお礼

ローカル用dnsを立ち上げました。何度かテストしたところクライアントからoutlookにて送受信とも可能となりました。
dns立ち上げ直後は、1つ目のdnsサーバをlan内に変えてもクライアント側の名前解決が不安定でした。(端末はwin2000です)再起動してpingでメールサーバをローカルへ見に行っているのを確認して送受信してOKとなりました。
また、別件で助言頂いた、不正中継チェックのサイト3つも試して全てOKでした。これで何とかメールサーバ運用を開始できます。ありがとうございました。
貴重なご意見、またお時間を割いていただいたことに感謝します。
phpの設定もがんばります。

お礼日時:2004/03/26 16:30

#5さんの回答もチェックして見てください。



それで、ひとつ気になったのですが、
>ですが、lan内にdnsがなくlan外のdnsを参照してから、
>telnet接続は出来ないのではと考えてますが間違っているでしょうか?(lan外からのtelnetはルータで禁止してます)もちろん、ローカルipでは接続可能でした。

とのことですが、LAN内からだと mail.ドメイン.jpやpop.ドメイン.jpなどのアドレスが192.168.1.2と引けなくてはいけないはずです。外部からはもちろんグローバルなIPアドレスですが。
LAN内のクライアントがグローバルなIP=ルーターのIPアドレスにアクセスしているので、ルーターはそれをアドレス変換しないので、結局のところルーターにアクセスしていませんか?
LAN内部からのアクセスにはアドレス変換しないルータが一般的だと思います。

あと今回telnetで試していますが、ポート番号を25や110番で試していますので、telnetを禁止しているかどうかは関係有りません。ただ単純にメーラーがしている作業を手で作業していることになります。

無事に問題が解決するといいですね。

この回答への補足

ありがとうございます。
>telnetを禁止しているかどうかは関係有りません。
そのとおりですね。かなり混乱してました。

lan内でmail.ドメイン.jpは引けません。dnsがなくても引けるのでしょうか?
どうもおっしゃる通りの症状のようです。
この解決方法がピンと来ません。
pingをmail.ドメイン.jpへ打つとグローバルipで帰って来ます。
nslookupをmail.ドメイン.jpとしてもグローバルipです。
Server: air.rooter
Address: 192.168.11.1
Non-authoritative answer:
Name: サーバ.ドメイン.jp
Address: xxx.xxx.xxx.xxx←グローバルip
Aliases: mail.ドメイン.jp
lan内でサーバが見られない症状が分かりましたが、lan内アドレス変換は出来ませんし、とりあえす外部から接続する環境でアクセス可能か試してみようと思ってます。

補足日時:2004/03/25 11:16
    • good
    • 0

>ただ、クライアントからの利用がまだ出来ません。


>ポートはもちろん25,110でいずれもソケットエラー

/etc/mail/accessファイルでRelayの許可は設定されましたか?

(accessファイルを修正後はmakemapコマンドでaccess.dbを作成の事)

また、popの場合、(何を使っているかわかりませんが)たいてい
tcpwrapperが組み込まれているので/etc/hosts.allow で接続許可の
指定が必要だと思います。

/etc/hosts.allow

qpopper : 192.168.0.1/255.255.255.0

みたいな設定が必要かも?

この回答への補足

ありがとうございます。
accessファイル設定は問題なさそうでしたが、
念のためaccess.dbを再作成しました。
hosts.allowの接続許可はftpしか設定してなかったので追加しました。
qpopper:192.168.1 :allow
念のためサーバ再起動しましたが症状は変わりませんでした。送信時メッセージです。
サーバーへの接続は失敗しました。 アカウント : 'ユーザ@ドメイン.jp', サーバー : 'mail.ドメイン.jp', プロトコル : SMTP, ポート : 25, セキュリティ (SSL): なし, ソケット エラー : 10061, エラー番号 : 0x800CCC0E
サーバログに何も残ってなかったのでルータ設定を疑ってます。lan内アクセスに問題あるのか?調べてみます。

補足日時:2004/03/25 10:22
    • good
    • 0

#2です。

私からの回答は見当違いでしたね、すみません。
また見当違いでなければいいのですが...

Outlookは使わないのですが、エラーメッセージを出来るだけ正確に記載されると、ヒントが導き出せるかもしれません。(もちろんドメイン部分のみは伏字で...)

念のためにnslookupなどで
nslookup svr.ドメイン.jp
nslookup mail.ドメイン.jp
nslookup pop.ドメイン.jp
も一応確認してみてください。もしかすると思わぬところでヒントが見つかるかもしれません。

あとは、
telnet svr.ドメイン.jp 25
telnet svr.ドメイン.jp 110
telnet mail.ドメイン.jp 25
telnet pop.ドメイン.jp 110
は大丈夫でしょうか?(大丈夫だとは思いますが...)

ほかのメーラーは試して見ましたか?
Outlookで別のサーバーで試せますか?(サーバー名だけを書き換えて)

この回答への補足

いえいえ、問題の切り分けは大切ですよね。
漠然と悩んでたのを行動に移せました。
nslookup ドメイン.jp
 Server: air.rooter
 Address: 192.168.1.1
 Non-authoritative answer:
 Name: ドメイン.jp
 Address: xxx.xxx.xxx.xxx
nslookup mail.ドメイン.jp
 Server: air.rooter
 Address: 192.168.1.1
 Non-authoritative answer:
 Name: サーバ.ドメイン.jp
 Address: xxx.xxx.xxx.xxx
 Aliases: mail.ドメイン.jp
nslookup pop.ドメイン.jp
 Server: air.rooter
 Address: 192.168.1.1
 Non-authoritative answer:
 Name: サーバ.ドメイン.jp
 Address: xxx.xxx.xxx.xxx
 Aliases: pop.ドメイン.jp
nslookup サーバ.ドメイン.jp
 Server: air.rooter
 Address: 192.168.1.1
 Non-authoritative answer:
 Name: サーバ.ドメイン.jp
 Address: xxx.xxx.xxx.xxx
と、nslookupは問題なさそうでした。
telnetは、全てつながりませんでした。
ですが、lan内にdnsがなくlan外のdnsを参照してから、
telnet接続は出来ないのではと考えてますが間違っているでしょうか?(lan外からのtelnetはルータで禁止してます)もちろん、ローカルipでは接続可能でした。
どうもサーバ側の問題な気がするので調べてみます。

補足日時:2004/03/24 17:37
    • good
    • 0

>その後、ユーザ@サーバ名.ドメイン名.jpで送った所、


>サーバ側で受信が確認出来ました。

ここまでできてるなら、あとは「@ドメイン名.jp」宛も受け取れるように
するだけです。
sendmailの基本設定なのですぐ解決するでしょう。


>再起動時にaliasesdbが作れなかったようですが、

これは、newaliasesコマンドですね。

# ls -l /etc/aliases*
-rw-r--r-- 1 root root  1343 9月 18 2003 /etc/alises
-rw-r----- 1 smmsp smmsp 12288 3月 24 15:34 /etc/aliases.db

この回答への補足

ありがとうございます。
sendmail.mcの
LOCAL_DOMAINにドメイン名.jpを追加して、無事メールを
送信出来、サーバ側で確認できました。
aliasesdbも削除して再生成出来ました。

ただ、クライアントからの利用がまだ出来ません。
outlookにてサーバ接続に失敗します。
ポートはもちろん25,110でいずれもソケットエラー
10061です。エラー番号から調べて見ましたが、
インターネットセキュリティを外してもだめで、
手詰まり中です。
受信サーバ・送信サーバともdnsに設定した
mail.ドメイン.jpとpop.ドメイン.jpを指定しています。
dns設定は以下です。
ドメイン.jp. IN MX 10 svr.ドメイン.jp.
mail IN CNAME svr
pop IN CNAME svr
とりあえず、メールサーバとして稼働出来たのは嬉しいです。あと一歩だとは思うのですが、ヒントを頂けないでしょうか。よろしくお願いします。

補足日時:2004/03/24 16:55
    • good
    • 0

まずは、localhost内からtelnetなどで25番ポートに接続して、接続できるかチェックしましょう。

それで問題なければ、次はLAN上の別のPCから、その次はWANからと順番に接続できるかどうかを実験すれば、問題の切り分けができると思います。

それで、telnetでの接続が出来る(sendmailからの応答リクエストが確認できる)のであれば、あとはsendmailの設定の問題だと思います。sendmailからのログ出力をチェックして、何が問題なのかを調べましょう。

とにかく、今の質問内容からはどの時点での問題なのかがはっきりしませんので、問題を切り分けてみてください。
    • good
    • 0
この回答へのお礼

お答えありがとうございます。
原因の切り分けすら出来ず、申し訳ありませんでした。
ログを確認して思いの外、ちょっとした修正で直り
そうです。
ですがそのあと一歩に苦しんでます。(;^_^A
よろしくお願いします。

お礼日時:2004/03/24 17:05

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