Как выполнить тест 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 чтобы увидеть, что моя мобильная сеть “wwx0c5b8f279a64”, которая присоединена к таблице ISP2, подключена или отключена, но из windows linux я не могу выполнить проверку ping потому что проверка ping проходит по маршруту по умолчанию, который проходит через Интерфейс “wlp2s0”.

Есть ли способ решить эту проблему? Я думаю, что если я смогу перенаправить локальный трафик Linux-бокса в таблицу ISP2, это сработает, но я не могу понять, как перенаправить локальный трафик блока Linux в таблицу ISP2.

Очевидный способ – временно добавить правило, которое активирует таблицу для адреса или диапазона адресов, которые вы хотите пропинговать:

 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, eg 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. 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, eg 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.