web-dev-qa-db-ja.com

デフォルト以外のルーティングテーブルを介してpingテストを実行するにはどうすればよいですか?

ホームネットワークのルーターとして機能するLinuxボックスがあります。 3つのルーティングテーブルがあります。

# ip route show default
default via 192.168.5.1 dev wlp2s0
172.18.231.140/30 dev wwx0c5b8f279a64  proto kernel  scope link  src 172.18.231.141
192.168.0.0/24 dev enp1s0  proto kernel  scope link  src 192.168.0.110
192.168.1.0/24 dev enp3s0  proto kernel  scope link  src 192.168.1.10
192.168.5.0/24 dev wlp2s0  proto kernel  scope link  src 192.168.5.100

#ip route show table ISP1
default via 192.168.0.1 dev enp1s0
192.168.0.0/24 dev enp1s0  proto kernel  scope link  src 192.168.0.110
192.168.1.0/24 dev enp3s0  proto kernel  scope link  src 192.168.1.10

# ip route show table ISP2
default via 172.18.231.142 dev wwx0c5b8f279a64
172.18.231.140/30 dev wwx0c5b8f279a64  proto kernel  scope link  src 172.18.231.141
192.168.0.0/24 dev enp1s0  proto kernel  scope link  src 192.168.0.110
192.168.1.0/24 dev enp3s0  proto kernel  scope link  src 192.168.1.10

通常は、ネットワークに接続するすべてのクライアントがデフォルトゲートウェイを経由します。必要に応じて、IPに一致するIPルールを追加し、ISP1テーブルまたはISP2テーブルを使用するようにクライアントを変更します。

pingチェックを実行して、ISP2テーブルに接続されているモバイルネットワーク「wwx0c5b8f279a64」が接続または切断されていることを確認したいのですが、Linuxボックスからはpingチェックを実行できません。 pingチェックは、「wlp2s0」インターフェースを経由するデフォルトルートを経由するためです。

この問題を解決する方法はありますか? LinuxボックスのローカルトラフィックをISP2テーブルにルーティングできれば機能すると思いますが、ボックスのローカルトラフィックをISP2テーブルにトラフィックする方法がわかりません。

1
Gihan Lasita

明らかな方法は、pingするアドレスまたはアドレス範囲のテーブルをアクティブ化するルールを一時的に追加することです。

ip rule add to 8.8.8.8 table ISP2
ping 8.8.8.8
ip rule del to 8.8.8.8 table ISP2

ルールがアクティブである限り、8.8.8.8へのすべてのトラフィックはこのインターフェイスを経由するため、実際にどこかで8.8.8.8をネームサーバーとして使用している場合、その間は機能しない可能性があることに注意してください。

1
dirkt

おそらくnping(通常はnmapの一部)がここで役立ちますか?マンページから:

--dest-mac mac (Ethernet Destination MAC Address)This option sets the destination MAC address that should be set in outgoing Ethernet frames. This is useful in case Nping can't determine the next hop's MAC address or when you want to route probes through a router other than the configured default gateway. The MAC address should have the usual format of six colon-separated bytes, e.g. 0:50:56:d4:01:98. Alternatively, hyphens may be used instead of colons. Use the Word random or Rand to generate a random address, and broadcast or bcast to use ff:ff:ff:ff:ff:ff. If you set up a bogus destination MAC address your probes may not reach the intended targets.

2
boojum