Маршрутизация и VPN
В связи с тем, что macOS не принимает таблицу маршрутизации по расширениям протокола DHCP часто возникает проблема корректировки маршрутов при установки связи по VPN. Проблема возникает при необходимости использования соединения VPN в качестве маршрута по-умолчанию (при установки флажка "Отправлять весь трафик через VPN" в настройках соединения).
Для решения можно использовать up/down скрипты, вызываемые pppd: ip-up и ip-down. В качестве примера рассмотрим корректировку маршрутов на подсеть 10.0.0.0/8.
Немного теории
Скрипту ip-up передаются шесть параметров:
ifname- название новогоpppинтерфейсаttyname(у меня пустая строка)ttyspeed(у меня пустая строка)localip-ip, присвоенныйpppинтерфейсуremoteip-ipшлюзаoldgateway-ipпрежнего шлюза по-умолчанию
Эти параметры могут помочь при написании логики работы скрипта.
Изменение маршрутов при подключении VPN
Запускаем терминал. Для удобства запускаем оболочку с правами root-а:
sudo cshПереходим в каталог /etc/ppp:
Создаем файл ip-up:
Жмем клавишу i (режим вставки) и набираем следующий текст:
Сохраняем файл - Esc : w q Enter.
Изменяем права доступа к файлу для того, чтобы разрешить выполнение скрипта:
Теперь при подключении VPN в таблицу маршрутизации будет добавлена запись на локальные подсети через прежний шлюз.
Изменение маршрутов при отключении VPN
Обратные действия реализуются с помощью скрипта ip-down.
В том же каталоге /etc/ppp создаем файл ip-down:
Изменяем права доступа к файлу для того, чтобы разрешить выполнение скрипта:
Теперь при отключении мы получим начальную таблицу маршрутов.
Last updated
Was this helpful?