- PR -

RedHatLinux9サーバのメールサーバを、DMZにつなげたサーバのメールサーバを使うように変更したい

投稿者投稿内容
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-07-23 18:47
こんにちわ.
引用:

coolkunさんの書き込み (2004-07-23 18:17) より:

>外部の接続を切って Netfilter を無効にして、その上で client -- e_mail server 間のやり取りが出来ることを確認することを強くお奨めします。

上記の方法をやってみました。
同じ結果で、puttyjp ではポート23番でも25番でも110番でもつながりますが、
Outlook Expressを「送信だけ」にするとエラーはでませんでした。
「受信だけ」にすると前述のエラーがでます。


つまり,pop3d に接続できないということではないかと...
ちなみに telnet で 110/tcp 叩きに行くとどのような反応でしょう?さらに 25/tcp や 23/tcp は?なんとなく「違う host に向かっちゃってる」ような気もしちゃってます.
さらに,そのメールサーバで telnet localhost 110 すると,同じ答えが返ってきます?

ちなみに,問題になっているメールサーバはちゃんと 110/tcp を listen してますか?
そこはハッキリしておかないと...
coolkun
ベテラン
会議室デビュー日: 2003/11/18
投稿数: 70
投稿日時: 2004-08-09 17:24
すみません、sendmailの設定が中途半端だったかも知れません。
sendmailの設定を修正し、やってみました。
とりあえず、送信は出来るようになりました。
ただ、なぜかユーザPCのOutlookExpressのサーバ設定のところが、
mail.aaa.jp や DMZのPCのIPアドレスではうまくいかず、
元サーバのLANカード(DMZにケーブルをつなげている)のIPアドレスだとうまくいきます。
受信の方はうまくいきません。

ユーザPCから、
telnet www.aaa.co.jp 110
telnet "aaaのip adress" 110
とやるとどちらも接続OKでした。

>さらに,そのメールサーバで telnet localhost 110 すると,同じ答えが返ってきます?

接続OKでした。

netstat -an
とすると(あまりよく見方が分からないのですが)、
TCP 192.168.0.8:1329 DMZのIP:110 TIME_WAIT
というのが表示されていました。

あと、もう少しのようなんですが。。

vi /etc/mail/access
の下には、
192.168.0
のみ記述してあります。
ここの記述が足りないのでしょうか。。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-09 23:51
こんばんわ.
引用:

coolkunさんの書き込み (2004-08-09 17:24) より:

とりあえず、送信は出来るようになりました。


ここで送信用の sendmail は www.aaa.co.jp なのですよね?
で,それ以外の名前は全て filtering している firewall のことを指してますよね?
名前がたくさんあってややこしいので
その辺を仕切られるともっと説明しやすいのではないかと.

内部/外部/DMZ を分けているのが firewall で,ccc のこと.
DMZ 上にあるのが e_mail server で,aaa のこと,という理解でよろしいですよね?
引用:

ただ、なぜかユーザPCのOutlookExpressのサーバ設定のところが、
mail.aaa.jp や DMZのPCのIPアドレスではうまくいかず、
元サーバのLANカード(DMZにケーブルをつなげている)のIPアドレスだとうまくいきます。
受信の方はうまくいきません。


「元サーバ」ということは firewall のことで,その DMZ 側ということは,
firewall への接続によって e_mail が送信できていると?
つまり,aaa で送っているのではなく,ccc の MTA で送ってるということですよね?
であれば,pop3 daemon に接続できないのはむしろ正解ではないかと.
引用:

ユーザPCから、
telnet http://www.aaa.co.jp 110
telnet "aaaのip adress" 110
とやるとどちらも接続OKでした。

>さらに,そのメールサーバで telnet localhost 110 すると,同じ答えが返ってきます?

接続OKでした。


ここで矛盾を感じます.
前述で
引用:

受信の方はうまくいきません。


とは,「Internet から配信されたはずの e_mail を get できない」のでしょうか?
それとも,pop3 daemon に接続できなかったのでしょうか?
以前は「接続できたのに Time out で接続を解除した」といった内容でしたが,
ここは同様ですか?
であれば,pop3 daemon が何らかの理由で「接続できたけど反応しない」
という状態ではないかと推察いたします.
aaa の pop3 daemon が吐いた logging を確認されることをお奨めいたします.
引用:

netstat -an
とすると(あまりよく見方が分からないのですが)、
TCP 192.168.0.8:1329 DMZのIP:110 TIME_WAIT
というのが表示されていました。


これは firewall 上,つまり ccc での内容で,
本来は aaa でこの状態であって欲しいのが期待値と理解していますが,よろしい?
引用:

vi /etc/mail/access
の下には、
192.168.0
のみ記述してあります。
ここの記述が足りないのでしょうか。。


ここは pop3 daemon とは関係ないです.むしろ sendmail の接続制限です.

以前指摘させていただいていますが,
Internet 側の回線を遮断した状態で firewall の Netfilter を無効にし,
「受信だけ」でも確認されることをお奨めします.
これが確認できないと,firewall に問題があるのか,
e_mail server に問題があるのか,
正確に切り分けできないのではないかと思われます.
少なくとも,ここに書き込まれている方々はそれを確定できていないと思われます.
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-10 02:08
ちょっと追記を.

ちなみに e_mail の送信経路は
送信時:client pc(内部)-(firewall)-> e_mail server(DMZ)-(firewall)-> Internet
受信時:Internet -(firewall)-> e_mail server(DMZ)<-(firewall)-client pc(内部)
という感じでよろしいでしょうか?
前述の内容と併せて誤解があれば遠慮なくご指摘ください.

現況で firewall を e_mail server とする場合はまだ「問題なく送受信できる」
状態のままでしょうか?
その際と,現在の e_mail server の sendmail.cf では
大きく変更されたのでしょうか?

個人的には「これまで動いていた各設定を移植すればよい筈」と思います.
なので,Netfilter を除いた設定が全て正常であることを
ハッキリと確認されたほうが,解決が早まるのではないかと愚考いたします.

以上,あまり参考にならないかもしれませんが...
coolkun
ベテラン
会議室デビュー日: 2003/11/18
投稿数: 70
投稿日時: 2004-08-11 11:14
混乱してきたので、質問を書き直してみますね。
(私のサーバの環境って、一般的ではないのかなぁ。。)

<サーバの環境> --------------------------------------------------

IPは8個取得 123.456.78.001 〜 123.456.78.8 とします。
ns.ccc.co.jp のサーバにはNICを3枚使用しています。
ns.aaa.co.jp のサーバはDMZのサーバです。

    internet

     |
     |

    [ppp0] Bフレッツのunnumberd接続

   ns.ccc.co.jp
   IPadress 123.456.78.002
                              ***** DMZ *****
              [eth1] ───────── ns.aaa.co.jp
          IPadress 123.456.78.003      IPadress 123.456.78.004


    [eth2]
    IPadress 192.168.0.1

     |
     |

 ***** LAN *****

<iptablesの設定> ------------------------------------------------

ns.ccc.co.jp にiptablesを設定しています。


iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i eth2 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp -d 123.456.78.002/32 --dport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp -d 123.456.78.002/32 --dport 25 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp -d 123.456.78.002/32 --dport 53 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp -d 123.456.78.002/32 --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -i eth2 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth1 -p tcp -d 123.456.78.004/32 --dport 80 -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth1 -p tcp -d 123.456.78.004/32 --dport 25 -j ACCEPT
iptables -A FORWARD -i eth1 -o ppp0 -p tcp -s 123.456.78.004/32 --dport 25 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp -s 123.456.78.004/32 --dport 53 -j ACCEPT

<現在の環境> ------------------------------------------------

WEBについては、
www.ccc.co.jp(IP 123.456.78.002)と www.aaa.co.jp(IP 123.456.78.003)
を公開しています。
(ns.ccc.co.jp のDNSサーバに、aaa.co.jp のゾーンとゾーンデータベースも設定)

メールについては、
ccc.co.jp、aaa.co.jp の両方ともns.ccc.co.jpのメールサーバ(sendmail)を使用
ns.ccc.co.jp の /var/named/aaa.co.jp.db のMXレコードは、
aaa.co.jp. IN MX 10 ns.ccc.co.jp.
としてあります。

複数のドメイン名でメールを受信できるようにするため、
vi /etc/mail/local-host-names の
# local-host-names - include all aliases for your machine here.
ccc.co.jp
aaa.co.jp

としてあります。

<今後、したい環境> ------------------------------------------------

メールサーバを ccc.co.jp の方で動かしたいです。

ユーザPCのOutlookExpressの設定で、POP3サーバとSMTPサーバに123.456.78.004 と設定することによりメールを送受信したいです。
(最終的にはPOP3サーバとSMTPサーバは、mail.ccc.co.jp にしたいです。)

<私が上記のしたい環境にするため設定変更したこと> ------------------

ccc.co.jp のサーバにメールサーバ(sendmail、m4、UW IMAPをインストール・設定)

ns.ccc.co.jp の /var/named/aaa.co.jp.db のMXレコードは、
aaa.co.jp. IN MX 10 aaa.co.jp.
に変更

複数のドメイン名でのメールを受信を削除
vi /etc/mail/local-host-names の
# local-host-names - include all aliases for your machine here.
ccc.co.jp
aaa.co.jp

↑に aaa.co.jp を削除

<試したこと> ------------------------------------------------

ユーザPCから、
telnet www.aaa.co.jp 110
telnet "123.456.78.004" 110
とやるとどちらも接続OK

ns.aaa.co.jp のPCで、
telnet localhost 110
とやると接続OK

ユーザPCのOutlookExpressの設定で、POP3サーバとSMTPサーバを123.456.78.003 とすると、送受信ボタンを押してもエラーは出ません。
送信は外部へできます。受信は外部から送信するとユーザが見つかりませんで戻ってきます。

POP3サーバとSMTPサーバを本来、123.456.78.004 としたいのですが、そうすると、送受信ボタンを押した場合、エラーはでませんが(少し時間がかかりますが)、送信、受信ともにできまん。

送信ボタンを押すと、

受信者の 1 人がサーバーによって拒否されたため、メッセージを送信できませんでした。 拒否された電子メール アドレス : ***@test.jp 件名 'テスト', アカウント : 'test', サーバー : '123.456.78.004', プロトコル : SMTP, サーバーの応答 : '550 5.7.1 <***@test.jp>... Relaying denied', ポート : 25, セキュリティ (SSL): なし, サーバー エラー : 550, エラー番号 : 0x800CCC79

と表示されます。

ユーザPCとDMZのPCを直接、つないでメールの送受信をテストしたところ、

ユーザPCから、
telnet "123.456.78.004" 110
とやると接続OK

ユーザPCのOutlookExpressの設定で、POP3サーバとSMTPサーバを123.456.78.003 とすると、送信ボタンを押してもエラーは出ません。

受信ボタンを押すと、

サーバーは接続を解除しました。 サーバーまたはネットワークに問題があるか、またはアイドル時間が長すぎた可能性があります。 アカウント : '123.456.78.003', サーバー : '123.456.78.003', プロトコル : POP3, ポート : 110, セキュリティ (SSL): なし, エラー番号 : 0x800CCC0F

と表示されます。

メールを自分宛てに送ると、

サーバーは接続を解除しました。 サーバーまたはネットワークに問題があるか、またはアイドル時間が長すぎた可能性があります。 アカウント : '123.456.78.003', サーバー : '123.456.78.003', プロトコル : SMTP, ポート : 25, セキュリティ (SSL): なし, エラー番号 : 0x800CCC0F

と表示されます。

ユーザPCのOutlookExpressの設定で、POP3サーバとSMTPサーバを123.456.78.004 とすると、送信ボタンを押してもエラーは出ません。

受信ボタンを押すと、

時間はかかりますがエラーはでません。

メールを自分宛てに送ると、

サーバーと通信しようとして、タイムアウトが発生しました。 件名 '1', アカウント : '123.456.78.004', サーバー : '123.456.78.004', プロトコル : SMTP, ポート : 25, セキュリティ (SSL): なし, エラー番号 : 0x800CCC19

と表示されます。

-----------------------------------------------------------------

何がおかしいのでしょうか?

[ メッセージ編集済み 編集者: coolkun 編集日時 2004-08-11 15:49 ]
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-08-11 17:00
一般的かどうかではなく、各種サービスの意味と設定がよく理解できていないのが、うまくいかない原因ではないでしょうか…。

今回該当しているサービスは、

 ・ dns (BIND)
 ・ smtp (sendmail)
 ・ pop3 (詳細不明)
 ・ iptables

ですね。
これらを順に、きちんと設定して動作確認をしていくのが近道です。
ユーザ PC からテストをする前に、1つ 1つサーバ側で確認していきましょう。
参考サイトの情報なども、既にいくつか出ていますね。

kaz さんもおっしゃっていますが、これまで動いていた各設定を移植(して多少修正)すれば、基本的に大丈夫なはずですよ。

# 「あっちやりました〜こっちやりました〜」 だと、内容を把握する前に
# みなさん読むのをやめてしまうのでは?(汗)
# 質問は絞りつつ、設定内容は省略せずに書いた方がいいですね。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-11 20:13
こんばんわ.

基本線ではゆる様に同意です.
と言っても,既に外部に公開する環境をお持ちなのであれば,
それほどはずれたことはなさっていないと信じて続けます.

改めて書き込まれた環境で大きな疑問が.
Firewall たる host の Internet 側の interface と DMZ 側の interface は同じ network address だったりするのでしょうか?その場合は通信上支障が起きるかと.

次に確認させていただきますが,E_Mail server としての機能以外は全て Firewall 上で稼働させるのですよね?WWW server はどこへ?

通常,DMZ 側には「全く local な ip address」を割り振って,Firewall 上で NAT すると思います.ppp を利用しているくらいですから,Internet との間に router もなさそうですし,おそらく DMZ を Real なままの ip address で公開することは有り得ないでしょう.この点,如何でしょうか?ここがおそらくこれまでと大きく違う点でしょう.

環境が一般的か否かという点については,ごく一般的かと思われます.
環境から推測して,他に構成のしようがないでしょうから.

何度も繰り返して申し訳ないのですが,やはり Firewall を機能させない状態で E_Mail server として稼働しうるか否かを確認されることをお奨めいたします.それが確認できれば自信を持って「通信の流れに問題があるから Netfilter や routing の設定を見直してみましょう」と言えると思うのです.
coolkun
ベテラン
会議室デビュー日: 2003/11/18
投稿数: 70
投稿日時: 2004-08-12 10:23
>Firewall たる host の Internet 側の interface と DMZ 側の interface は同じ network address だったりするのでしょうか?

DMZ 側の interface のIPadress は 123.456.78.004 、
Internet 側の interface のIPadress は Bフレッツのunnumberd接続なので 123.456.78.001 です。

>E_Mail server としての機能以外は全て Firewall 上で稼働させるのですよね?

違います。WEBについては、
ccc.co.jp のサーバにIP 123.456.78.002でwww.ccc.co.jpを公開し、
aaa.co.jpのサーバにIP 123.456.78.003でwww.aaa.co.jpを公開しています。
(ns.ccc.co.jp のDNSサーバに、aaa.co.jp のゾーンとゾーンデータベースを設定)


>通常,DMZ 側には「全く local な ip address」を割り振って,Firewall 上で NAT すると思います.

DMZには別会社のホームページを公開しているので、localIPは使えません。

>Internet との間に router もなさそうですし

ccc.co.jp のサーバをルータ兼サーバ兼ファイアーウォールにしています。

> Firewall を機能させない状態で E_Mail server として稼働しうるか否かを確認されることをお奨めいたします

そのつもりで上記の「ユーザPCとDMZのPCを直接、つないでメールの送受信をテストしたところ」というのをやったつもりなんですけど。。

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