web-dev-qa-db-ja.com

ping要求が一方向に転送されない

編集:このめちゃくちゃ長い投稿を終えたとき、私は自分の問題を解決しました。 Windowsファイアウォールでping応答を有効にしなかったため、ネットワーク1または2からネットワーク0上のコンピューターにpingを実行できませんでした(以下を参照)。そしてもちろん、ネットワーク0でインターネットルーターにpingを実行しようとすると、ウィンドウのようにデフォルト以外のゲートウェイをセットアップしなかったため、機能しませんでした。

そこで、サブネット間の単純なゲートウェイとしてLinuxボックスをセットアップする「正しい」方法を紹介します。クライアント上のすべてのゲートウェイを正しく設定することを忘れないでください(単純なルール:デフォルトゲートウェイはインターネットへのルートである必要があり、サブネット内の他のゲートウェイに接続されているサブネットごとに1つのゲートウェイを設定します。

3つのサブネットを接続するUbuntuLinuxボックスを使用してテストネットワークを作成しています。これが私のトポロジーです:

               ***********************
               * Internet Router     *
               *    192.168.2.1      *
               ***********************
                         *                   ***************
                         *                   *  Client 0   *
                   ***************           *192.168.2.117*
                   * Switch      * * * * * * *  Windows    *
                   ***************           ***************
                         *                               
                         *  192.168.2.0/24 = Network 0
                         *
 Network 1         ***************        Network 2
192.168.1.0/24     *    eth0     *       10.25.0.0/16
       * * * * * * *             * * * * * * * 
      *            *eth1     eth2*           * 
      *            *             *           * 
      *            *             *           * 
*************      * Ubuntu Srvr *      *************
*192.168.1.5*      ***************      * 10.25.0.5 *
*           *                           *           *
* client 1  *                           * client 2  *
*           *                           *           *
*************                           *************

私のubuntuサーバーの/ etc/network/interfacesファイルは次のとおりです。

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.2.192
    network 192.168.2.0
    netmask 255.255.255.0
    broadcast 192.168.2.255
    gateway 192.168.2.1

# Subnet 1
auto eth1
iface eth1 inet static
    address 192.168.1.1
    network 192.168.1.0
    netmask 255.255.255.0
    broadcast 192.168.1.255

auto eth2
iface eth2 inet static
    address 10.25.0.1
    network 10.25.0.0
    netmask 255.255.0.0
    broadcast 10.25.255.255

/etc/sysctl.confのnet.ipv4.ip_forward=1のコメントを外しました

コマンドecho 1 > /proc/sys/net/ipv4/ip_forwardも実行しました

クライアント1のデフォルトゲートウェイは192.168.1.1です

クライアント2のデフォルトゲートウェイは10.25.0.1です。

ネットワーク0上のクライアント0には、次の3つのゲートウェイがあります。

  1. デフォルト:192.168.2.1(インターネットルーター)
  2. 192.168.1.0/24:192.168.2.192(ubuntu eth0)
  3. 10.25.0.0/16:192.168.2.192(ubuntu eth0)

このセットアップをpingでテストしています。

  1. ネットワーク0から任意のネットワーク上の任意のコンピューターにpingを実行できます。
  2. ネットワーク1または2からネットワーク1または2上の任意のコンピューターにpingを実行できます。
  3. 問題は私ですpingできませんネットワーク1または2からネットワーク0上の任意のコンピューター

Iptrafを使用すると、たとえば、eth1の192.168.1.5から192.168.2.117へのping要求が表示されます。

しかし、私は応答を見ません。

...それを理解しただけです(最初の編集を参照)。ここまでできたら、がっかりしてすみません。

4
Peter Lieber

このめちゃくちゃ長い投稿を終えたとき、私は自分の問題を解決しました。 Windowsファイアウォールでping応答を有効にしなかったため、ネットワーク1または2からネットワーク0上のコンピューターにpingを実行できませんでした(以下を参照)。そしてもちろん、ネットワーク0でインターネットルーターにpingを実行しようとしたとき、ウィンドウのようにデフォルト以外のゲートウェイをセットアップしなかったため、機能しませんでした。

そこで、サブネット間の単純なゲートウェイとしてLinuxボックスをセットアップする「正しい」方法を紹介します。クライアント上のすべてのゲートウェイを正しく設定することを忘れないでください(単純なルール:デフォルトゲートウェイはインターネットへのルートである必要があり、サブネット内の他のゲートウェイに接続されているサブネットごとに1つのゲートウェイを設定します。

1
Peter Lieber