ネットワークカード2枚利用時の問題について

このQ&Aのポイント
  • Webサイトの移行中にネットワークカード2枚を利用している場合に起きる問題です。
  • テスト環境と本番環境の違いや特殊な設定について知りたいです。
  • Webサーバからインターネットにも繋がらなくなる問題が発生しています。
回答を見る
  • ベストアンサー

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

ネットワークカード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枚あり上記のような構成の場合、何か特殊な設定が必要になってくるのでしょうか? 少々漠然とした質問かもしれませんが、ご回答よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nnori7142
  • ベストアンサー率60% (755/1249)
回答No.3

 追加補足確認しました。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」の適用やファイアーウォール・ルールを無効化し、上記の別途ルーターにてファイアーウォール設定する方法が簡単ですね。

その他の回答 (3)

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.4

>WEBサーバにネットワークカードが2枚あり上記のような構成の場合 今回のWEBサーバのようなモノを、一般的に「デュアルホームホスト」又は「マルチホームホスト」と呼称します。 #「デュアルホーム」は、接続するLANの数が2つ。 #「マルチホーム」は、接続するLANの数が複数(2つ以上)。 #という意味です。 「デュアルホームホスト」や「マルチホームホスト」では、「ルーティング情報の設定」を、サーバに対して行う必要があります。 この「ルーティング情報の設定」作業とは、簡単に言えば、ルータやFWを構築するときの作業の一部です。周辺ネットワークの全構成を把握していないと適切な設定は行えません。 従って、オススメの対処方法は、 ネットワーク管理担当(FWの管理等を行っている担当)を探し当てて、「デュアルホームホストのルーティング設定について、どのような設定にすべきなのか教えてほしい」と相談することですね。 # "とりあえず動く設定"は、この場のやりとりで解決するでしょうが、 # "適切な設定"はネットワーク管理担当以外、回答できないはず、 # というのが私自身の想いです。 >テスト環境から本番環境へWebサイトを移行中 業務利用するシステム、トラブルが周囲に影響を与えるシステムなどであれば、やはりネットワーク管理担当に相談するのが適切な対処かと思われます。 # 相談後、ネットワーク管理担当からの回答を # Linuxサーバに設定する方法が分からない # といった場合は、再度、この場を活用してもらえれば、 # 良いと思います。

  • _AA_
  • ベストアンサー率64% (18/28)
回答No.2

デフォルトゲイトウエイを2つ登録していませんか。 まさかとは思いますが、念のため確認を。

mttk1238
質問者

補足

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

  • nnori7142
  • ベストアンサー率60% (755/1249)
回答No.1

 お尋ねの件ですが、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通信許可設定をしなければいけない筈です。

mttk1238
質問者

補足

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

関連するQ&A

  • テスト環境と本番環境で、DBからのデータ取得にかかる時間に違いがある。

    お世話になります。 WebサーバとDBサーバを使用して構築したシステムが あります。 テスト環境と本番環境があり、それぞれ、以下の様になってます。 テスト環境 Webサーバ   Windows2000 Server+IIS5.0+ .NET Framework DBサーバ   Windows2000 Server+Oracle8.0.6 本番環境は Webサーバ   Windows2000 Server+IIS5.0+ .NET Framework、 DBサーバ   Solaris(バージョン分からず)+Oracle8.0.6 となっています。 テスト環境と本番環境の違いについてですが、 Webサーバの方は、スペックは違いますが、 その他の環境は同じです。 DBサーバの方は、OSの違いとOracleのデータベースの定義に少し違いがあるかもしれませんが、 データの件数とテーブルの定義は同じです。 そこで肝心の質問の件なのですが、 テスト環境と本番環境で、同システムを実行した際に、 DBからのデータ取得にかなりの時間の差があるのです。 テスト環境で、2~3分で終わる処理が 本番環境だと、30分くらいかかってしまいます。 何が原因でこのような状態になっているか分からず、 すごく悩んでいます。 ネットワークの速度にはそれほど違いはないのですが・・・。 また、マシンスペックは本番環境の方が高いです。 どんな細かい情報でもかまいませんので、 ここが怪しいのではないか?とかありましたら、 ご教授お願いします。 また、他に必要な情報とかありましたら、 できる限り調べますので、どうぞよろしくお願いします。

  • LinuxとWindowsでのローカルネットワーク設定を教えてください。

    既存の社内ネットワーク(192.168.1.n)内にLinuxWebサーバー(CentOS5:サーバー名=CentOSsv)(192.168.1.59)を追加してWebアプリの開発環境としたく、「CentOSで自宅サーバー構築(http://centossrv.com/)」や「はじめての自宅サーバ構築 - Fedora/CentOS -(http://kajuhome.com/)」を参考に環境設定を行ってきたのですが。 クライアント端末(WindowsXP:192.168.1.51:開発端末、ネットワーク内の他のサーバーやインターネットアクセスができる)から「http://CentOSsv/」でのテスト画面表示が行えません。(http://192.168.1.59/では表示される)どこら辺りを調べれば良いんでしょうか?また、やるべき事が足りない又は余計な事をやっている等も指摘して頂けたらありがたいのですが。 Linuxサーバー環境設定でしたこと ・CentOS5.1のインストール(社内で以前に使っていたCDからインストール) ・DNS(bind)のインストール(サーバー名でアクセスできていない) ・apacheのインストール(IPアドレスでは見られるので取り敢えずOK?) ・javaSDKのインストール(javaのテストプログラムは動いている) ・tomcatのインストール(サーブレット配下の表示はできない) ・apache/tomcat連携のインストール(連携していない?) ・Firebirdのインストール(単体では稼働している) ここまでは(諸々の環境設定を行いながら)どうにか終了しています。ローカルネットワーク内限定の予定のため「yum」等は使わず、「rpm」や必要なもの(gcc等)はソースからコンパイルしてきました。 もう2週間程かかりきりでほとほと疲れてきました、助言よろしくお願いします。

  • 仮想マシンのネットワーク(NAT)設定について

    今まではLAN環境(LANケーブルを接続できる環境)が整っている場所で構築していました。 客先でデモを見せる為、LANケーブルの接続はできません。 そこで前回、OKWaveに質問させていただき、アドバイスを参考にしてみましたが改善する事ができませんでした。 私が行った事を書かせていただきます。 1.「コントロールパネル」→「ネットワークとインターネット」→「ネットワークと共有センター」を開き、「アダプターの設定の変更」をクリック。 2.「ローカルエリア接続」のプロパティを開いて「共有」タブをクリックして「インターネット接続の共有」を下記のように指定。  ・「ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおしての接続を許可する」にチェック。  ・「ホームネットワーク接続」を「VMware Network Adapter VMnet8」に選択。 3.「VMware Network Adapter VMnet8」のプロパティを開いて「インターネットプロトコルバージョン4」を選択して[プロパティ]ボタンを押下して下記のように指定。  ・「次のIPアドレスを使う」を選択。  ・「IPアドレス」に「192.168.137.128」を入力。  ・「サブネットマスク」に「255.255.255.0」を入力。  ・「次のDNSサーバーのアドレスを使う」を選択。  ・「優先DNSサーバー」に「192.168.137.1」を入力。 4.vmnetcfgを起動して「仮想ネットワークの設定」が開くので「VMnet8」を選択して[NAT設定]ボタンを押下して下記のように指定。  ・「ゲートウェイIP」に「192.168.137.1」を入力。  ・「ポートの転送」の[追加]ボタンを押下して下記のように指定。   ・「ホストポート」を「22」。   ・「タイプ」を「TCP」。   ・「仮想マシンのIPアドレス」を「192.168.137.128」。   ・「仮想マシンのポート」を「22」。  ・「サブネットIP」に「192.168.137.0」を入力。 5.VMware Playerの仮想マシン(CentOS)のネットワークアダプタの設定をNATに変更。 6.仮想マシン(CentOS)を起動して「ifcfg-eth0」ファイルを下記のように変更。  DEVICE="eth0"  HWADDR="00:C0:29:91:EB:8A"  NM_CONTROLLED="yes"  ONBOOT="no"    ↓  DEVICE="eth0"  HWADDR="00:C0:29:91:EB:8A"  NM_CONTROLLED="yes"  ONBOOT="no"  BOOTPROTO=static  IPADDR=192.168.137.128  GATEWAY=192.168.137.1  NETMASK=255.255.255.0  BROADCAST=192.168.137.255 7.VMware Playerの仮想マシンとローカル(ノートパソコン)を再起動。 8.VMware Playerの仮想マシン(CentOS)を起動して、ローカル(ノートパソコン)からブラウザで仮想マシンのIPを下記のように入力。  ・http://192.168.137.128 「Web ページが見つかりません。」と表示させてしましました。 どうか、ローカル(ノートパソコン)のブラウザからVMware Playerの仮想マシン(CentOS)のWebサイトを表示するにはどうしたらいいのでしょうか。 再度、宜しくお願いします。

  • 仮想サーバのデフォルトゲートウェイ設定ができません

    仮想サーバのLinuxでデフォルトゲートウェイの設定が無かったので、ルータのIPアドレスで設定しようとしたのですが、「ネットワークが届きません」というエラーが表示されました。 ・実行コマンド  「route add default gw 192.168.28.1」 なぜその様なエラーが出るのか原因が分かりません。 もし原因と対策をご存じの方は是非教えて下さい。 どうか宜しくお願いします。 【環境】 仮想サーバ:CentOS5.6(ホストOS:Windows7) 仮想ネットワーク:NAT 仮想サーバIPアドレス:固定 【設定】 「/etc/sysconfig/network-scripts/ifcfg-eth0」ファイル内容 ------------------------------------------------- DEVICE=eth0 BOOTPROTO=static HWADDR=00:0C:29:2A:F1:54 TYPE=Ethernet IPADDR=192.168.211.*** NETMASK=255.255.255.0 IPV6INIT=yes IPV6_AUTOCONF=yes ONBOOT=yes #DHCP_HOSTNAME=localhost.localdomain USERCTL=no PEERDNS=no GATEWAY=192.168.28.1 -------------------------------------------------

  • IPベースのバーチャルホスト / IPエイリアスについて

    ApacheのIPベースのバーチャルホストについて質問です。 バーチャルホストで複数ドメインを扱い、それぞれのSSL環境を構築したいと思っています。 調べたところ、下記のことがわかりました。  ・ネームベースのバーチャルホストではSSL環境を複数構築できない  ・IPエイリアスというものを使って、IPベースのバーチャルホストを行えば可能 現在の環境ではeth0にグローバルIPが当たっているのですが、グローバルIPはひとつしか持っていません。そこで質問なのですが  1.eth0にグローバルIP、eth0:0にローカルIPというように、混在してIPエイリアスを設定することは可能ですか?  2.(1が可能な場合)外部からeth0:0に割り当てられたバーチャルホストにアクセスするためにはどうすればよいですか(DNSサーバをたてて、ドメイン名→ローカルIPの設定をする??)? よろしくお願いいたします。 ※環境 CentOS Apache2.2

  • デフォルトゲートウェイの設定場所

    CentOS5.9を使用しています。 /etc/sysconfig/network と cat /etc/sysconfig/network-scripts/ifcfg-eth0 「GATEWAY」項目があり、同じデフォルトゲートウェイのIPが設定されていることに気づきました。 ただ、別のCentOSサーバを見てみた所 ・/etc/sysconfig/network-scripts/ifcfg-eth0(eth1やeth2の複数ささってるサーバでも) のeth設定ファイルだけに、「GATEWAY」の設定があるが、networkにはない。 ・/etc/sysconfig/network の方にだけにあり、eth関係のファイルにはない。  とサーバで環境がバラバラなことに気づきました。 (同じCentバージョンでも違ってるものがありました。) 特に、インストール時にIPを設定したぐらいで 設定変更等行っていません。 この「/etc/sysconfig/network-scripts/ifcfg-eth0」と「/etc/sysconfig/network」に 設定するGATEWAYなのですが、 ・どちらのファイルに設定してても良いものなのか? ・ifcfg-eth0 の方にあれば良いものなのか? ・network の方にあれば良いものなのか? がわかりません。(特に全サーバ問題なく動いているのですが・・・。) また、全サーバ複数NICがささっていても、アップリンク(インターネット等)への接続は全てeth0になっております。eth0の先のルータで、ルーティングしております。 ご教授お願いします。

  • ネットワーク疎通不具合 oui Unknown

    ネットワーク疎通不具合 oui Unknown CentOS:5.4 server1:eth0 192.168.0.1       eth1 10.10.10.1 server2:eth0 192.168.0.2       eth1 10.10.10.2 上記環境で、server2から192.168.0.0のネットワークへの通信が行えない状態です。 ifconfig ethtoolで確認しても問題は無いようです。 server2より、ping 192.168.0.1 として両サーバーでtcpdumpで確認すると server1側では arp who-has server2 tell server1 と表示され server2側では IP server2 > server1: ICMP echo request, .... と表示されるのですが 何行かに1回、arp reply server1 is-at xx:xx:xx:xx:xx:xx (oui Unknown)と表示されます。 このxx:xx:xx:xx:xx:xxは、server1のeth1のMACアドレスです。 なぜこのような現象は発生するのかや 解決方法をご存知の方、コメントいただけますでしょうか。 よろしくお願いします

  • ネットワークカードを2枚挿しするとインターネットに・・・

    Win2000ServerのPCをプロキシサーバにするべく、フリーのプロキシソフト(ブラックジャンボドック)とネットワークカードを2枚挿した環境にしましたが、たまにインターネットに接続できない状態になり困っています。 ネットワークカードはローカルIPのLANと、インターネット向けのDHCPで設定しています。 インターネットの利用は、ローカルIPのLAN側のPCのブラウザにてプロキシサーバのIPアドレスを指定して利用しています。 最近気がついたのですが、インターネットに接続できない時にプロキシサーバ上からtracertコマンドを試すと、ローカルIP側のGWアドレスからとなってしまいます。。。(本来はDHCP側のアドレスから外部接続される予定なのですが・・・ 因みに正常に外部接続されている時にはDHCP側のGWでtracertコマンドの結果が得られます) この様なプロキシサーバにする場合、インターネット側はDHCPではダメなのでしょうか?(内、外とも静的アドレス構成にしてメトリックで制御しないとダメでしょうか?) すみませんが、宜しくお願いします。

  • eth0:1 eth0:2 等をPHPで切り替えたいのです!

    現在の環境は、centos でのサーバ環境にて、 ネットワークをeth0を通常に設定し、 eth0:1 eth0:2 ・ ・ 上記の用に「/etc/syconfig/network-config/ifcfg-eth0:1」をきっちり設定して、pingもきっちり帰ってくるようになりました。 この状況から、phpで、eth0:1・eth0:2と、ネットワークを切り替えたいのですが、どなたか知ってる方がいらっしゃったら教えて下さい。 お願いします。

    • 締切済み
    • PHP
  • NIC2枚差し WEBサーバーで2系統のLANどちらからもWEBサーバー内のWEBページを開きたい

    こんにちは ちょっとうまくできず悩んでおります。 使用環境ですが、 Linux(Apache1.3)サーバーにNIC2枚差しにして eth0:192.168.1.210 eth1:192.168.2.210 二つのLAN環境のどちらからでもWEBサーバーを動かしたいのですが具体的にどのようにしたらよいのでしょうか。 今まである、質問やネット上の資料をもとに DNSの設定やApacheのhttpd.conf内のServerAlias host1 host2、バーチャルホスト設定でそれぞれのIPアドレスで同じドキュメントルートを指定するなども行いましたが、うまくできません。 今のところ、eth0:192.168.1.210からしか反応しません。 もし、このような環境を作られた方いらっしゃいましたら教えてください。 よろしくお願いいたします。