プロが教えるわが家の防犯対策術!

こんにちわ。

1つのPCに2枚のNICを挿して、AとBのネットワークにつなげています。
デフォルトゲートウェイはAのネットワークのみを指定しています。

で、Bのネットワーク向けのFTPなどをしてもちゃんとBの先のサーバに通信できているのですが、
このときのパケットは、どういう動きというか流れをしているのでしょうか。

Aのルータが受け取って、これはBのルータ向けだよとPCに戻して、
PCがB用のNICを見つけて、Bのルータに向けてパケットを出すのでしょうか?

あまりに初心者ですいません。。
よろしくおねがいします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

OSがルーティングテーブルを見て、送信先のIPアドレスから送信に使用するNICを決定します。



コマンドプロンプトから、route printを実行するとルーティングテーブルを参照可能です。

質問者のPCのように、複数のネットワークに足を出している形態のことを、
一般にマルチホーミングと呼びます。

実際にマルチホームしているPCのルーティングテーブルの例ですが、こんな感じです。
192.168.1.0/24と192.168.168.0/24にマルチホームしています。
自分自身のIPアドレスは、192.168.1.129、192.168.168.1です。
デフォルトゲートウェイは192.168.1.1です。

Active Routes:
Network Destination    Netmask     Gateway   Interface Metric
     0.0.0.0     0.0.0.0   192.168.1.1 192.168.1.129   1
    127.0.0.0    255.0.0.0    127.0.0.1   127.0.0.1   1
   192.168.1.0  255.255.255.0  192.168.1.129 192.168.1.129   1
  192.168.1.129 255.255.255.255    127.0.0.1   127.0.0.1   1
  192.168.1.255 255.255.255.255  192.168.1.129 192.168.1.129   1
  192.168.168.0  255.255.255.0  192.168.168.1 192.168.168.1   1
  192.168.168.1 255.255.255.255    127.0.0.1   127.0.0.1   1
 192.168.168.255 255.255.255.255  192.168.168.1 192.168.168.1   1
    224.0.0.0    240.0.0.0  192.168.1.129 192.168.1.129   1
    224.0.0.0    240.0.0.0  192.168.168.1 192.168.168.1   1
 255.255.255.255 255.255.255.255  192.168.1.129 192.168.1.129   1
 255.255.255.255 255.255.255.255  192.168.168.1 192.168.168.1   1

全ての通信の宛先IPアドレスは、この行のいずれか1つに必ず合致します。
合致するかどうか、比較する際の基準は、longest matchと呼ばれます。

比較の方法は、若干専門的な説明になりますが、以下のとおりです。
宛先IPとNetmaskを、数学でANDと呼ばれる計算方法で計算します。
得られた値とNetwork Destinationが一致していれば、その行は合致する候補になります。
複数の行が合致候補になった場合、Netmaskが一番大きい行が最終的な合致結果となります。
Netmaskも同じ大きさの場合は、Metricが小さいほうが最終的な合致結果となります。

最終的に合致する行が見つかったら、Interfaceのところで示されているNICを使って送信します。
また、Gatewayのところで示されているIPアドレスが自分自身のものと同一の場合は、
自分が宛先への送信について責任を持って、直接送信を行います。
そうでない場合は、Gatewayに転送することで、以降の送信については任せる形になります。

より詳しく知りたい場合は参考URLをご覧ください。

いくつか具体例を挙げて説明します。

例1:宛先IP=192.168.1.2の場合
もっとも長く一致する行は
Network Destination    Netmask     Gateway   Interface Metric
   192.168.1.0  255.255.255.0  192.168.1.129 192.168.1.129   1
なので、192.168.1.129のインタフェースが選択されます。
送信の際使用する送信元アドレスは、選択されたインタフェースのアドレスになります。
ゲートウェイは自分自身のIPなので、宛先IPアドレスに対して自分自身が直接送信を行います。

例2:宛先IP=192.168.168.2の場合
もっとも長く一致する行は
Network Destination    Netmask     Gateway   Interface Metric
  192.168.168.0  255.255.255.0  192.168.168.1 192.168.168.1   1
なので、192.168.168.1のインタフェースが選択されます。
送信の際使用する送信元アドレスは、選択されたインタフェースのアドレスになります。
ゲートウェイは自分自身のIPなので、宛先IPアドレスにに対して自分自身が直接送信を行います。

例3:宛先IP=192.168.2.1の場合
もっとも長く一致する行は、
Network Destination    Netmask     Gateway   Interface Metric
     0.0.0.0     0.0.0.0   192.168.1.1 192.168.1.129   1
なので、192.168.1.129のインタフェースが選択されます。
送信の際使用する送信元アドレスは、選択されたインタフェースのアドレスになります。
ゲートウェイは自分自身のIPではないので、192.168.1.1に対して送信を行い、
あとは192.168.1.1に任せます。

このルーティングテーブルは、管理者権限を持っているユーザであれば、
行を追加したり削除したりすることが可能です。

このルーティングテーブルに基づいて、送信インタフェースとゲートウェイを決定した後は、
送信に使われるメディアに合わせてアドレス解決等の処理を行った上で、
実際の送信が行われます。
ほとんどの場合、メディアはイーサネットだと思いますが、
その場合、MACアドレスが送信に必要なので、必要に応じてARPを使い、
相手のMACアドレスを調べた後、送信するということになります。
調べた結果はコマンドプロンプトでarp -aを実行すると分かるように、
一定時間記憶され、再利用します。

--------------------------------------------
整理すると、
分かっているのは宛先IPアドレスのみの状態から、ルーティングテーブルを見て、
・使用するインタフェース
・送信元IPアドレス
・直接相手に送るか、Gatewayに転送するか
の3つを決定します。

その後、直接相手に送る場合は相手のMACアドレス、
Gatewayに転送する場合はGatewayのMACアドレスをARPで調べ、
NICからイーサネットに送り出す、という流れになります。

参考URL:http://www.microsoft.com/japan/technet/community …
    • good
    • 4
この回答へのお礼

想像を絶する丁寧なご回答、大変ありがとうございました。

内容もわかりやすく、まさに現在知りたかったことがよく理解でき、とても勉強になりました。

ご紹介いただいたURLのバックナンバーを読んで勉強したいと思います。

本当にありがとうございました。

お礼日時:2005/06/29 20:32

これは、PCがB用のNICに対してパケット送信するね。

仮に次の構成を考えてみる

どこぞのWebサーバー(IP不明)
 |
Aのルータ(192.168.1.254/24)
 |
君のパソコン ここより上がAのNIC、下がBのNIC
 |
B用のFTPサーバ(192.168.2.200/24)

 ここで、君のパソコンのIPアドレスを、Aが192.168.1.1/24、Bが192.168.2.1/24としよう。FTPサーバのIPアドレスは簡単のために192.168.2.200とする。
 まず、複数送信先候補がある場合、どこに投げるかというのは「ルーティング」と言う。
 君のパソコンがB用のFTPサーバに接続する際、システムはまず、相手のIPアドレスのサブネットを特定する。と言っても、相手が設定しているサブネットがわかるわけではないので、自分の中に登録されているものを使う。
 ルート先のサブネットと一致すれば、パソコンはそこに向かってパケットを送信する。ここでいうルート先とは、AのNICとBのNICだ。今回、FTPサーバはそのままBのNICのサブネットと一致するので、Bに送信する。
 どこぞのWebサーバにデータを投げる際、どこに投げて良いか分からないので、デフォルトゲートウェイに投げる。実際、デフォルトゲートウェイとは、先ほど言ったルーティングのルールとして「全ての条件(あて先)に該当する」ルート先、と言える。
 これが、制的ルーティングとデフォルトゲートウェイのお話だ。
 ほかにも、動的ルーティングというものもあるけど割愛。
 制的ルーティングにはルーティングテーブルという物を用いる。このテーブルを見るには、DOS窓を開いて、
C:\>route print
とすると良い。
    • good
    • 1
この回答へのお礼

丁寧なご回答ありがとうございました。
当方はアプリのことしかわからないので、大変勉強になりました。

お礼日時:2005/06/29 20:26

BのサーバはBのNICに割り当てているIPと同一セグメントにあるんですよね?


例えば、Bに割り当てたIPが192.168.0.1、サブネットマスクが255.255.255.0であった場合、192.168.0.2~254のアドレス宛ての通信はルータを介しませんのでBのNICから直接宛先のサーバへ届きます。
    • good
    • 2
この回答へのお礼

すばやい回答、ありがとうございました。
またよろしくお願いいたします。

お礼日時:2005/06/29 20:21

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QLANカードを 2枚挿して 社内LANとインターネットを 使い分けたい

LANカードを 2枚挿して 社内LANとインターネットを 使い分けたいのですが

LANカードを 2枚挿して 社内LANとインターネットを 使い分けたいのですが
普通に 設定していくと 社内側のLANを 有効にすると インターネットに
繋がらなくなります。
インターネット側は 社内の2000サーバーを DNSとして プライベートIPを
自動でもらって デフォルトゲートウェイは ルーターの192.168.11.1に設定してあります。
社内LAN側は IPを 手動で振って、DNSは 2000サーバー ゲートウェイは 空欄に
してあります。
社内には 4台PCが あり 2000サーバー以外は XPpro3 を 使っています。

2台共 2枚さしてみましたが やはり 有効の状態だと インターネットに繋がりません。

どなたか 詳しいお方が いらっしゃいましたら ご教授御願い致します。
自分で どうにかしようと 1ヶ月程試みていますが まったく 上手くいきません。
宜しく御願い致します

Aベストアンサー

セグメントを分けるというのは。

社内LAN側を192.168.10.***等に変更すれば別ネットワーク
として認識されそうに思えますが・・・

Q2枚のNICを使いNIC1をインターネット、NIC2をPC間ファイル転送に使いたい

OS: Windows7 Professional 64bit
NIC1:EX58-UD5マザーオンボード
NIC2:GbE-PCI2(VIA VT6122)

上記の構成で、NIC1をインターネット通信専用、NIC2をPC間ファイル転送専用のようにNICごとに通信用途を限定して使用したいのですが、設定の仕方がわかりません。
設定の仕方や解説しているサイトをご存知の方いらっしゃいましたら教えてください。

Aベストアンサー

既に回答がついているようですね。
重複する部分もありますが、一応……。

物理的な接続は2つに分けることになります。
NIC1→モデム(またはルーター)→インターネット
NIC2→ハブ→他のPC
この2つは、それぞれ別のネットワークに属することになります。

ネットワーク機器は、それぞれ固有の(同一ネットワーク内で重複のない)IPアドレスを割り振る必要があります。
上記のNIC1はプロバイダ(またはルーターのDHCP機能)によってIPアドレスが振られるので、自動設定でOKですが、NIC2とそれに接続するPCのNICは、手動でIPアドレスを割り振ります。

(Win7では設定項目がどこにあるのかよく判らないので……)
スタートボタンをクリックして、検索ボックスに「ネットワーク接続の表示」と入力し、実行します。
複数の「ローカルエリア接続」が見える筈ですので、どちらがNIC2か確認してください。
NIC2側を右クリックして「プロパティー」を選択します。
「この接続は次の項目を使用します」の中から「Internet Protocol Version4(TCP/IPv4)」をクリックして、下の「プロパティ」ボタンを押します。
「次のIPアドレスを使う」を選択し、適切なIPアドレスを入力します。
ここでは、「192.168.2.1」としておきます。「サブネットマスク」は「255.255.255.0」です。
(ドットは抜いて、数字だけを入力。)

同様に他のPCでも、(重複しないように)「192.168.2.2」などと設定します。
あとはファイル共有の設定をすればOKです。
ファイアウォールは特にいじる必要はないと思います。

不明な点があれば、「ヘルプとサポート」で「TCP/IP設定を変更する」を検索してみてください。

既に回答がついているようですね。
重複する部分もありますが、一応……。

物理的な接続は2つに分けることになります。
NIC1→モデム(またはルーター)→インターネット
NIC2→ハブ→他のPC
この2つは、それぞれ別のネットワークに属することになります。

ネットワーク機器は、それぞれ固有の(同一ネットワーク内で重複のない)IPアドレスを割り振る必要があります。
上記のNIC1はプロバイダ(またはルーターのDHCP機能)によってIPアドレスが振られるので、自動設定でOKですが、NIC2とそれに接続するPC...続きを読む

QNICを2枚差しするとpingが通らない

AとBの拠点がVPNでつながっています。
BにあるサーバーXに新しいNICを刺して別セグメントでネットワークを構築しました。
ですが、新NICを有効にすると、AからBのサーバーXにpingがとばなくなってしまいました。
新NICを無効にするとすぐにping接続できるようになります。

この現象から、何かピンとくる方がいらっしゃいましたら教えていただけませんでしょうか。。

Aベストアンサー

VPNのセグメントと新しいセグメントは区別できるような体系になってますか?
デフォルトゲートウェイが新しいNICの方を向いているんじゃないでしょうか。

参考URL:http://www.atmarkit.co.jp/fwin2k/win2ktips/262gateway/gateway.html

QPCにNICを2枚挿しした時のファイアウォール設定

PCにNICを2枚挿しして、一方は社内LANに接続してファイル共有やインターネットアクセス、他方にはルータを接続して、不特定の端末からそのPCに特定プログラムでデータの授受のみ行うネットワーク構成を検討しています。
 ・概要図
   社内LAN -- <<PC>> -- ルータ -- 不特定の端末
              共有フォルダ etc

セキュリティ上、ルーター経由の端末からは、PC上の共有フォルダや、社内LAN上の他端末の存在を知られたくない(特定のプロトコルのみPCと通信する)ようにしたいのですが、PCのWindowsファイアウォールの設定を変更することで実現で可能でしょうか?

WindowsXPではファイアウォール設定でNIC毎にファイルとプリンタ共有のON/OFF等を設定(特定プログラムを例外登録)すれば実現できそうなんですが、Windows7ではNIC毎の設定というのが無くて困っています。

Aベストアンサー

ルーターやレイヤー2スイッチングHUBより、設定が楽なソフトを見つけました。

余分な機能もありますが、セキュリティー強化には役立ちます。

富士通ソフトウェアテクノロジーズ
Portshutter Premium(ポートシャッター プレミアム)
http://jp.fujitsu.com/group/fst/services/portshutter-premium/function/

問い合わせは、URLの書いてあるフリーダイヤルでOK!!
http://jp.fujitsu.com/group/fst/contact/service.html

体験版も用意されていますので、一度試されてみては如何でしょうか??

NIC2枚ざしにするPCの台数や、ルーター価格・他端末の個別設定の手間など色々考えると、このソフトはそれほど高くありません。
企業で一番怖いのが、PC知識の乏しい社員がフリーソフトや作成データの持ち込み・持ち出しを自由に出来る所です。

アンチウィルスソフトを入れていても、フリーソフトの場合はインストーラーのファイル圧縮型式により、アンチウィルスソフトに引っかかりません。
一般的なインストーラは、msi型式のMS開発圧縮ファイル、lzhファイル、cabファイル、zipファイルなどですが、ウィルスが仕込んであるファイルの場合は、各OSバージョンで普通では開かないファイル圧縮形式を使います。

例えば、gzip・YZ1・TAR・BGA・ISEなどなど・・・・

一般的なアンチウィルスソフトは、圧縮ファイル内のウィルスも検出しますが、各OSバージョンで普通では開けないファイル圧縮型式は、インストーラ(*.exe)の中身をチェックできません。
それを、社員が持ち込んだら、社内PC・Serverにあっという間に伝染します。

また、普通のファイルWordやExcelファイルの持ち込み持ち出し禁止は、持ち出し=情報漏えい・持込=ウィルス以外の改ざんデータの持込やゲームソフトの持込などセキュリティーを脅かす操作を、シャットアウトできます。
どうしても必要な作業がある場合は、システム管理者が他端末(社外人員)の変わりに作業をする事で、セキュリティー保護が出来ます。

富士通のPortshutter Premium(ポートシャッター プレミアム)を入れることにより、NICの2枚挿しが不要で、素人のPC使用者には、今までと変わりないしに使って頂けます。

あとは、自己責任で・・・

      

ルーターやレイヤー2スイッチングHUBより、設定が楽なソフトを見つけました。

余分な機能もありますが、セキュリティー強化には役立ちます。

富士通ソフトウェアテクノロジーズ
Portshutter Premium(ポートシャッター プレミアム)
http://jp.fujitsu.com/group/fst/services/portshutter-premium/function/

問い合わせは、URLの書いてあるフリーダイヤルでOK!!
http://jp.fujitsu.com/group/fst/contact/service.html

体験版も用意されていますので、一度試されてみては如何でしょうか??

NIC2...続きを読む

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Q同一NICに2つのIPアドレスを設定した時のIPアドレスの使い分けについて

Windows2000サーバにNICが1つあります。
サーバは192.168.0.0/24ネットワーク上にあります。
このサーバのNICに2つのIPアドレス
192.168.0.1/24と192.168.0.2/24を割り当てました。
通常は192.168.0.1/24を利用してアクセスしたいのですが、
同一セグメント上の特定のマシン(192.168.0.3)には
192.168.0.2のIPアドレスを使用してアクセスがしたいです。
その場合はどのような設定をすればいいでしょうか?

当方が行なった設定は以下のとおりです。
netstat -nr(route print)でゲートウェイを確認したところ、
同一セグメントに対する設定は以下のとおりになっていました。

Network Destination Netmask Gateway Interface Metric
192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1 1

そこでroute addコマンドで以下のコマンドを実行しました。
route add 192.168.0.3 mask 255.255.255.255 192.168.0.2 metric 1
route change 192.168.0.0 mask 255.255.255.0 192.168.0.1 metric 2

結果ゲートウェイは以下のとおりになりました。
Network Destination Netmask Gateway Interface Metric
192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1 2
192.168.0.3 255.255.255.255 192.168.0.2 192.168.0.1 1

上記を試したところ、ping 192.168.0.3が無応答になってしまいました。


同一NIC上のIPアドレスの使い分け方法をご存知でしたらご教示願います。
宜しくお願いします。

Windows2000サーバにNICが1つあります。
サーバは192.168.0.0/24ネットワーク上にあります。
このサーバのNICに2つのIPアドレス
192.168.0.1/24と192.168.0.2/24を割り当てました。
通常は192.168.0.1/24を利用してアクセスしたいのですが、
同一セグメント上の特定のマシン(192.168.0.3)には
192.168.0.2のIPアドレスを使用してアクセスがしたいです。
その場合はどのような設定をすればいいでしょうか?

当方が行なった設定は以下のとおりです。
netstat -nr(route print)でゲートウェイを確認したと...続きを読む

Aベストアンサー

同一I/Fに同じサブネットのIPを2つ振っているケースなので、たぶんroute addでIFを指定する場合、同じIFを指定することになりますね。

参考にならないとは思いますが、
Windows XPで似たようなことをやってみました。

同一NICで同一サブネットのIP2個の場合:
(自分=192.168.0.1,192.168.0.2、相手=192.168.0.3)
route add 192.168.0.3 mask 255.255.255.255 192.168.0.2
追加後のroute printではGWが192.168.0.1になっていました。

同一NICで別サブネットのIP2個の場合(1):
(自分=192.168.0.1,192.168.1.2、相手=192.168.0.3)
route add 192.168.0.3 mask 255.255.255.255 192.168.1.2
追加後のroute printではGWが192.168.0.1になっていました。

同一NICで別サブネットのIP2個の場合(2):
(自分=192.168.0.1,192.168.1.2、相手=192.168.1.3)
route add 192.168.1.3 mask 255.255.255.255 192.168.1.2
追加後のroute printではGWが192.168.1.2になっていました。

別NICで別サブネットの場合:
(自分=192.168.0.1,192.168.1.2、相手=192.168.0.3)
route add 192.168.0.3 mask 255.255.255.255 192.168.1.2
追加後のroute printではGWが192.168.1.2になっていました。

この結果を見る限り、ルーティングで何とかしたい場合は、
相手(192.168.0.3)にも同一NIC上に追加IP(192.168.1.3)を振って、
お互いに192.168.1.0/24上でやりとりするようにすれば、いいかもしれませんね。
--------------
もうひとつのやりかたとして、サーバアプリケーション自体の作りとして、相手のアドレスに応じて自分のIPアドレスを使い分けるようにする、ということもできるはずです。

これなら、ルーティングテーブルにわざわざhostルートを書いたり、サブネットを追加しなくても済むかもしれません。

サーバで使うアプリケーションが分からないのでなんとも言えませんが。
例えばIISではWebサイト毎に自分のIPアドレスを指定できます。

同一I/Fに同じサブネットのIPを2つ振っているケースなので、たぶんroute addでIFを指定する場合、同じIFを指定することになりますね。

参考にならないとは思いますが、
Windows XPで似たようなことをやってみました。

同一NICで同一サブネットのIP2個の場合:
(自分=192.168.0.1,192.168.0.2、相手=192.168.0.3)
route add 192.168.0.3 mask 255.255.255.255 192.168.0.2
追加後のroute printではGWが192.168.0.1になっていました。

同一NICで別サブネットのIP2個の場合(1):
(自分=192.168.0.1,192...続きを読む

Q2枚のNICに同一ネットワークのIPを割り当てできますか?

サーバの2枚のNICに同一ネットワークのIPを
割当てるケースはあるでしょうか?
又、割り当てた際の注意点はルーティングのみでしょうか?

Aベストアンサー

あまり行われない気がします。
帯域を増やしたい目的であれば、チーミングなどの手段を取ると思います。
NICがボトルネックになるほどの用件で、同一ネットワークに2枚挿すというのは
設計がちょっと面倒です。
2枚挿したのですから、別IPにしておけば、別々に受信はできますが、
出て行くときはデフォルトのNICから出ると思いますので、出る側が
ボトルネックになります。

routeコマンドでNICごとに経路を指定すれば出る側も分散はできますが、動的には変化できませんので
明確な使用目的と通信量の試算がなければ有効ではないと思います。

注意点としては、もう一台、2枚のNICに同一ネットワークがあると
ループする・・・・かも。定かではありませんが。

QC言語のsocket関数で、複数NIC実装PCはどうなるのでしょうか?

UNIX-C言語で、TCP/IP通信を勉強していて、疑問にぶつかったのですが、
複数のNIC(もしくはIPアドレス)を実装しているPCは、
自分のIPアドレス(gethostby***関数などで)を取得したばあい、
どのように見えるのでしょう?

また、そのPCがC/S構成におけるserver側だった場合、
bind()関数に設定するIPアドレスはデータ通信したい側のNICの
IPアドレス一つでいいのでしょうか。

NIC2枚挿しのPCが身近にないので、実験できません(^^;)
どなたかご教授いただけませんでしょうか m(_ _)m

Aベストアンサー

1. gethostby****関数は複数のIPアドレスを報告します。
NIC複数挿し、クラスタリングによる複数IPの可能性がありますが、クライアントとしてはそれらを区別する必要はありません。
struct hostentのh_addrlistは複数IPアドレスに対応してchar **となっています。

2.bindには「全てのNIC」というオプションがあります。
struct in_addrを設定する時にIPアドレスとしてINADDR_ANYを設定すれば全てのNICに対してbindされます。

Q別セグメント間のアクセス

ルーターの配下に2つのIPが違うPCがあります。
以下のIPが設定されていた場合、PC1からPC2へのアクセスは可能でしょうか?

ルーター 192.168.0.1
PC1 192.168.0.10
PC2 172.28.22.10

アクセスが無理な場合はどのようにすれば、アクセスできるようになるかも
教えて頂きたいです。よろしくお願いします。

Aベストアンサー

2つのセグメント間に、ルーター若しくはルーターの替わりになるPC(NICを2枚挿してて、そのNICが各々のセグメントに接続している)を設置する。

向こう側のセグメントに通信したいPCのルーティングテーブルに

 ・相手側ネットワークへのGatewayはxxx.xxx.xxx.xxxだよ
  (xxx.xxx.xxx.xxxには実際にはルーターかルーター代理PCのIPアドレスが入る)

という設定を追加する事で出来る。

具体例を挙げるなら、以下のURLの「図1.経路追加が必要なネットワーク構成例」を見てみると良い。

 【@IT:route~ルーティングテーブルの表示/設定を行う】
  http://www.atmarkit.co.jp/fnetwork/netcom/route/route.html

Qvmware上のゲストOSにpingが通らない

vmware上のゲストOSにpingが通らない

環境
?vmwareのゲストCentOS    ip 192.168.147.128 ゲートウェイ 192.168.147.1

?vmwareのホストwindowsxp ip 192.168.0.5 ゲートウェイ192.168.0.1

?ホストと同じセグメント上にあるMacosX ip 192.168.0.6 ゲートウェイ192.168.0.1

ゲストとホスト間ではpingが通るのですが、Macのパソコンからだとpingが通りません。
macでtracerouteコマンドを使うとLANのルータ(192.168.0.1)を通り、そのあとグローバルIP?(133.*.*.*)が2つくらい表示され結局ゲストまでたどり着きませんでした。
同じネットワークでないために、デフォルトゲートウェイに送り、そのまま外に出て行ってしまったのでしょうか?
こうなってしまう場合どうすれば、pingをゲストOSに通すことができるのでしょうか?

Aベストアンサー

ANo.2の訂正です。
私の検証ではホストOSが192.168.0.0/24側(仮に1次側)に対してルーターの役割をしていないようです。
ゲストOSがNATの場合はホストOSが1次側からのアクセスをゲストOS側(仮に2次側)へ通過させませんのでルーティング情報を記述しても通信できません。(2次側から1次側への通信は可能)
従って、ゲストOSのネットワークアダプタはブリッジモードに設定しないと相互通信が出来ません。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング