Маршруты в Windows
route print - вывести список всех маршрутов, ключ -4 выведет все маршруты только по протоколу ipv4
Добавить маршрут в Windows
Синтаксис добавления маршрута в CMD
route add -p <SUBNET_ID> mask <SUBNET_MASK> <GATEWAY> <METRIC> IF <INTERFACE_ID>
где:
Ключ -p (persistent) добавит статический маршрут, т.е. он сохранится после перезагрузки. Во избежание стрельбы себе в ногу лучше сначала добавить без -p, протестить и потом уже добавить с -p.
SUBNET ID - подсеть которую мы добавляем
SUBNET MASK - маска для нового маршрута
METRIC - вес маршрута от 1 до 9999, чем меньше значение, тем выше приоритет маршрута
GATEWAY - гейтвей для новой подсети, по сути первый hop в который сервер отправит трафик
INTERFACE ID - необязательно, нро лучше указываем интерфейс, иначе может забиндиться на другой NIC и отправить трафик в неверном направлении, прописываем route print и смотрим внутренний номер интерфейса
Добавить маршрут в CMD
route add -p 192.168.0.0 MASK 255.255.255.0 192.168.1.1 metric 7 IF 11
Прочитать можно так: чтобы трафик попал в подсеть 192.168.0.0/24, нужно обратиться к узлу 192.168.1.1 через сетевой интерфейс с айди 11
Добавить маршрут в PowerShell
Тут вместо route print используется Get-NetRoute
Get-NetAdapter используется чтобы узнать Interface Index
New-NetRoute -DestinationPrefix "192.168.0.0/24" -RouteMetric 7 -InterfaceIndex 11 -NextHop 192.168.1.1
Удалить маршрут в Windows
Удалить маршрут в CMD
route delete 192.168.0.0 MASK 255.255.255.0 192.168.1.1 IF 11
Удалить маршрут в PowerShell
Remove-NetRoute -DestinationPrefix "192.168.0.0/24" -RouteMetric 7 -InterfaceIndex 11 -NextHop 192.168.1.1
Маршруты в Linux Линукс
route -n - вывести список всех маршрутов
Добавить маршрут в Linux Линукс
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
или
route add -net 192.168.0.0/24 gw 192.168.1.1 dev eth0
Добавить статический маршрут в Linux
В /etc/network/interfaces, после описания интерфейса, следует добавить:
post-up route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.1
Удалить маршрут в Linux Линукс
route delete -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.1
Огромное спасибо за информацию.