私たちのネットワークには2つのモデムがあり、それぞれがルーターの後ろに隠れています。プライマリルータは10.1.1.1上にあり、バックアップルータは10.1.1.2上にあり、両方とも10.1.1.0/24サブネットに設定されています。両方のルーターのゲートウェイは192.168.0.1に構成されています。ただし、ゲートウェイが10.1.1.1である場合に表示される192.168.0.1は、ゲートウェイが10.1.1.2である場合に表示される192.168.0.1とは異なるマシンです。
私のNagiosサーバーはそれに応じて設定されています:
auto eth0
iface eth0 inet static
address 10.1.1.10
netmask 255.255.255.0
gateway 10.1.1.1
つまり、ここには4つのゲートウェイがあります。ルーター1(10.1.1.1)ルーター2(10.1.1.2)モデム1(192.168.0.1)モデム2(192.168.0.1)
2つのモデムのステータスを確認するために手動で実行できることを以下に示します。
ping -c4 192.168.0.1 # Is Modem1 up?
ip route add via 10.1.1.2
ip route change default via 10.1.1.2
ping -c4 192.168.0.1 # Is Modem2 up?
wget 192.168.0.1 # yields expected control webpage for Modem2
ip route change default via 10.1.1.1
ip route del default via 10.1.1.2
wget 192.168.0.1 # Connection refused; Modem1 has no web interface
ssh [email protected] # I can log in to Modem1 and check status
少なくともModem2にpingできるようにしたい。
* CIDR表記の私の忌まわしい誤用を修正し、明確な詳細を提供するために編集されました。
man ping
ping [ホップ...]宛先
したがって、pingをパラメーターとして、空白で区切られたIPの数を指定できます。最後のアドレスは「ping」されます。前のパラメーターは、pingがたどる経路を定義します。
だからあなたの場合:
Windowsで同じ問題が発生した場合:ping /?
-k
は、おそらく必要なオプションです。
ところで:上記のpingはroot権限を必要としません。ルーティング情報(あなたの場合: "whishlist")はICMPプロトコルの一部です。
ping -N
もarping
もうまくいかず、ようやく this answer からの解決策で解決しました:
nmapパッケージのツールnpingを使用できます。
# nping --icmp --dest-mac [gateway mac] [target ip]
ローカルARPキャッシュでルーターのMACを見つけることができます。
$ arp -v [gateway ip]
このツールは、--tcp
や--udp
などのさまざまなpingタイプもサポートしています。
デフォルトゲートウェイは1つしか持てません。複数のゲートウェイを設定できますが、ネットワークごとに1つだけです。
問題は、言及された両方のIPが同じネットワーク内にあることです。また、CIDRを誤って指定しました。10.1.1.0/ 24は、255.255.255.0のサブネットを持つことを意味しました。またはさらに大きなサブネットがあります。 15.0.0.0/8は255.0.0.0です。
したがって、ネットワーク内の任意のホスト(10.0.0.0/8)または(または)ゲートウェイ経由で到達可能な任意のホストに対してpingを実行できます。ただし、同じネットワークに2つのゲートウェイを持つことはできません。
arping を使用:
# arping -c 1 -S [source_ip] -T [target_remote_ip] [gateway_mac_address]
どこ:
あるいは、何らかの形式のSolarisを使用している場合は、以下を使用できます。
ping -N [gateway_ip] [target_remote_ip]