Маршруты в Windows
вывести список всех маршрутов, ключ -4 выведет все маршруты только по протоколу ipv4:
1 |
route print |
Добавить маршрут в 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
1 |
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 через сетевой интерфейс с ID 11
Добавить маршрут в PowerShell
Тут вместо route print используется Get-NetRoute
Get-NetAdapter используется чтобы узнать Interface Index
1 |
New-NetRoute -DestinationPrefix "192.168.0.0/24" -RouteMetric 7 -InterfaceIndex 11 -NextHop 192.168.1.1 |
Удалить маршрут в Windows
Удалить маршрут в CMD:
1 |
route delete 192.168.0.0 MASK 255.255.255.0 192.168.1.1 IF 11 |
Удалить маршрут в PowerShell:
1 |
Remove-NetRoute -DestinationPrefix "192.168.0.0/24" -RouteMetric 7 -InterfaceIndex 11 -NextHop 192.168.1.1 |