Быстрый способ переопределить маршрут по умолчанию, предоставленный DHCP (который является / 0), - добавить два / 1 маршрута к шлюзу VPN:
route -n add -net 0.0.0.0 192.168.1.5 128.0.0.0
route -n add -net 128.0.0.0 192.168.1.5 128.0.0.0
Хотя предоставленный DHCP маршрут по умолчанию остается на месте, любой из / 1 будет предпочтительным для трафика IPv4 из-за их более коротких префиксов.
В настоящее время я использую этот взлом в качестве подтверждения концепции; Я все еще в сети, и запрос таблицы показывает, что используется маршрут / 1.
[nevin-mac-mini: ~] root # route -n add -net 0.0.0.0 192.168.2.1 128.0.0.0 добавить сеть 0.0.0.0: шлюз 192.168.2.1 [nevin-mac-mini: ~] root # route -n add -net 128.0.0.0 192.168.2.1 128.0.0.0 добавить сеть 128.0.0.0: шлюз 192.168.2.1
[nevin-mac-mini: ~] root # netstat -rn Таблицы маршрутизации Интернет: Флаги шлюза назначения Ссылки Использовать Netif Expire 0/1 192.168.2.1 UGSc 3 0 en0 по умолчанию 192.168.2.1 UGSc 4 0 en0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 1 6576 lo0 128.0 / 1 192.168.2.1 UGSc 1 0 en0 ...
[nevin-mac-mini: ~] root # route -n get 200.200.200.200 Маршрут до: 200.200.200.200 пункт назначения: 128.0.0.0 маска: 128.0.0.0 шлюз: 192.168.2.1 интерфейс: en0 флаги: recvpipe sendpipe ssthresh rtt, msec rttvar hopcount mtu expire 0 0 0 0 0 0 1500 0 [nevin-mac-mini: ~] root #