Я пытаюсь настроить OpenVPN для доступа к удаленной сети (192.168.1.0/24), которая совпадает с моей локальной сетью. Из-за этого я добавил в конфигурацию сервера следующее, чтобы принудительно передавать трафик через VPN:
push "route 192.168.1.0 255.255.255.0"
К сожалению, при подключении вижу следующее:
route: writing to routing socket: File exists
add net 192.168.1.0: gateway 10.200.0.5: File exists
из-за существующего маршрута, предположительно из-за статических маршрутов DHCP:
$ netstat -nr -f inet
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
...
192.168.1 link#6 UCS 4 0 en0 !
...
Если я подключаюсь и отключаюсь от OpenVPN, этот существующий маршрут очищается, поэтому при повторном подключении все работает. Как я могу настроить OpenVPN так, чтобы этот маршрут был правильно настроен при первом подключении? Я не хочу полагаться на локальную конфигурацию DHCP, поэтому мне нужно либо очистить проблемный маршрут, либо заменить его при подключении.
Примечание: я также пробовал установить push "redirect-gateway def1"
в конфигурации сервера, но опять же из-за существующего маршрута трафик для 192.168.1.0/24 не маршрутизируется через VPN.
uname -a
: Darwin Lukes-Work-MBP 18.6.0 Версия ядра Дарвина 18.6.0: четверг, 25 апреля, 23:16:27 PDT 2019; корень: xnu-4903.261.4 ~ 2 / RELEASE_X86_64 x86_64Решено с помощью redirect-gateway
с block-local
флаг, по сути блокируя все подключения к локальной сети и направляя весь трафик через VPN-сервер в удаленную сеть.