ホームネットワークのルーターとして機能する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テーブルにトラフィックする方法がわかりません。
明らかな方法は、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をネームサーバーとして使用している場合、その間は機能しない可能性があることに注意してください。
おそらく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.