電子書籍の厳選無料作品が豊富!

ネットワークカード2枚を利用した場合の問題について

テスト環境から本番環境へWebサイトを移行中なのですが、Webサイトが正常に表示されないためご質問させてください。サーバ環境はVmwareを利用した仮想環境です。
まず仮想サーバの構成ですが(IP等は仮です)

インターネット
|
|
(eth0:IP=210.111.111.10 SN=255.255.255.0 GW=210.111.111.1 DNS=210.111.115.55)
Webサーバ(CentOS5.4 Apache)
(eth1:IP=172.111.111.10 SN=255.255.255.1 GW=172.111.111.1)
|
|←間にFW
|
(eth0:IP=172.111.111.11 SN=255.255.255.1 GW=172.111.111.1)
DBサーバ(CentOS5.4 MySQL)


前提としてテスト環境で、WebサーバとDBサーバを分けた形での動作は確認済みのためサイト事態に問題はないかと思います。テストと本番の大きな違いは、本番ではネットワークカードが2枚の状態(eth0、eth1)ということです。
2枚を起動させているとWebサーバからインターネットにも繋がらなくなり、外部からグローバルIPでアクセスしても応答が無くなってしまいます(試しにeth1を休止にしてやるとApacheのテストページを外部から確認できる)。

Webサーバにネットワークカードが2枚あり上記のような構成の場合、何か特殊な設定が必要になってくるのでしょうか?

少々漠然とした質問かもしれませんが、ご回答よろしくお願い致します。

A 回答 (4件)

 追加補足確認しました。

iptables記述ですが、MySQL利用ポートの許可をまず記述する必要があるかと存じます。「iptables -A INPUT -i eth1 -p tcp --dport 3306 -j ACCEPT」等は最低限必要かと存じます。
 上記の他に、ルーティング記述が、「iptables -I FORWARD -i tun+ -d 172.111.0.0/24 -j ACCEPT」、「iptables -I FORWARD -i tun+ -d 172.111.111.11 -j ACCEPT」はWebサーバ適用のUnixサーバのiptables記述が参考になるかと思います。
 それと、DBサーバ適用のUnixサーバのiptables記述にて、「iptables -I FORWARD -i tun+ -d 172.111.0.0/24 -j ACCEPT」が必要になるかと存じます。
 それと、基点Unixルーター(Web)において、「tcp_wrappers」やSE-Linux等が適用されていましたら、利用しないように設定切替が必要かと存じます。
 もし、基点UnixルーターのWAN側にルーター等ネットワーク機器等適用している場合には、「/etc/rc.d/init.d/iptables stop」、「chkconfig iptables off」、「chkconfig ip6tables off」の適用やファイアーウォール・ルールを無効化し、上記の別途ルーターにてファイアーウォール設定する方法が簡単ですね。
    • good
    • 0

>WEBサーバにネットワークカードが2枚あり上記のような構成の場合


今回のWEBサーバのようなモノを、一般的に「デュアルホームホスト」又は「マルチホームホスト」と呼称します。

#「デュアルホーム」は、接続するLANの数が2つ。
#「マルチホーム」は、接続するLANの数が複数(2つ以上)。
#という意味です。

「デュアルホームホスト」や「マルチホームホスト」では、「ルーティング情報の設定」を、サーバに対して行う必要があります。
この「ルーティング情報の設定」作業とは、簡単に言えば、ルータやFWを構築するときの作業の一部です。周辺ネットワークの全構成を把握していないと適切な設定は行えません。

従って、オススメの対処方法は、
ネットワーク管理担当(FWの管理等を行っている担当)を探し当てて、「デュアルホームホストのルーティング設定について、どのような設定にすべきなのか教えてほしい」と相談することですね。

# "とりあえず動く設定"は、この場のやりとりで解決するでしょうが、
# "適切な設定"はネットワーク管理担当以外、回答できないはず、
# というのが私自身の想いです。

>テスト環境から本番環境へWebサイトを移行中
業務利用するシステム、トラブルが周囲に影響を与えるシステムなどであれば、やはりネットワーク管理担当に相談するのが適切な対処かと思われます。

# 相談後、ネットワーク管理担当からの回答を
# Linuxサーバに設定する方法が分からない
# といった場合は、再度、この場を活用してもらえれば、
# 良いと思います。
    • good
    • 0

デフォルトゲイトウエイを2つ登録していませんか。


まさかとは思いますが、念のため確認を。

この回答への補足

お返事ありがとうございます。
そのまさかなんですが、GWはそれぞれ設定しています。CentOSのGUIを利用してネットワーク設定を行っているのですが、eth1(内向き?)のGWを削除して再起動してやると外部からのpingも通るようになります。ただそうすると、WebサーバからDBサーバへの問い合わせの際に172.111.111.11を設定してもeth0のGWに送信されてしまうのではないかと思うのですが・・・その辺はやはり「ルーティング」というやつなのでしょうか。簡単なサーバ構築は行っていたのですが今回のようなケースは初めてなので困惑しております。ド素人な返答で申し訳ありません。

補足日時:2010/04/03 16:20
    • good
    • 0

 お尋ねの件ですが、WebサーバとDBサーバを利用しているのは理解出来ますが、気になる点として、WebサーバをインストールしているUnixサーバ機の静的ルート記述を配下のDBサーバ宛へ転送する設定をiptablesへ記述しなければいけないかと存じます。


 それと、eth0のLAN設定を拝見しますと、グローバルIPアドレスを直接設定しているのは解りますが、eth1のゲートウェイが「172.111.111.1」を指定している意味が解りません。通常は、GW値が「210.111.111.10」と指定しないといけない筈です。
 併せてDBサーバもGW値「172.111.111.10」、優先DNS値に「210.111.111.10」と「210.111.111.55」を指定する形になるかと存じます。
 更にWebサーバ適用のUnixサーバにiptables記述にて、DBサーバへの静的ルート記述(172.111.111.11宛)を設定しなければいけない点、Linuxファイアーウォール記述にてMySQL通信許可設定をしなければいけない筈です。

この回答への補足

お返事有難うございます。
少々説明不足・・・といいますか、構成図が見難かったと思いますがWebとDBの間にファイアーウォールが噛んでおり、そのためにeth1のゲートウェイがこのようになっているのだと思います。ちなみにDBサーバはWebサーバとのやりとりのみで外部には一切接続できないということです。IPに関しても本番環境を構築しているところが提供してきたもので、これでOSの設定さえちゃんとやれば繋がるはず!という話なので、今のところ信じるしかありません・・・。
nnori7142様がおっしゃられているiptables記述に関して、参考になるページ等があればご紹介いただければと思います。

補足日時:2010/04/03 15:14
    • good
    • 0

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