Записки программиста
  • Главная страница
  • Базы данных
    • ClickHouse
      • Экспорт и импорт данных
    • MariaDB
      • Настройка временной зоны
    • MongoDB
      • Пользователи и авторизация
      • Конфигурация кэша WiredTiger
    • MySQL
      • Установка в FreeBSD
      • Восстановление репликации
      • Полезные ссылки
    • PostgreSQL
      • Блокировки
      • Вакуумирование таблиц
      • Репликация
      • Полезные заметки
    • Redis
      • Полезные заметки
  • Безопасность
    • OpenSSL
      • Работа с контейнером p12
    • PostgreSQL
  • Инфраструктура
    • Docker
      • Полезные заметки
    • Kubernetes
      • Установка k3s
      • Полезные заметки
    • Proxmox VE
      • Управление узлами кластера
  • Операционные системы
    • FreeBSD
      • Установка XOrg и Gnome
      • Свой репозиторий pkgng
      • Поддержка ZFS
      • Использование CARP
      • Установка на ZFS без таблицы разделов
    • Linux
      • apt
      • dpkg
      • Изменение корневого раздела диска без перезагрузки
    • macOS
      • Настройка уведомлений macOS
      • Настройка Finder
      • Настройка shell пользователя
      • Служба Spotlight
      • Локализация каталогов
      • Маршрутизация и VPN
    • UNIX
      • Работа с архивами
  • Программирование
    • PHP
      • Полезные заметки
    • Shell
      • Bash
  • Сетевые технологии
    • Nebula
    • Полезные ссылки
  • Системы версирования
    • GIT
      • Основные операции
      • Синхронизация форка с основным проектом
    • SVN
      • Полезные заметки
  • Файловые системы
    • Ceph
      • Настройка модуля Dashboard
      • Мониторинг
      • Полезные заметки
    • ZFS
      • Управление пулами ZFS
      • Управление томами ZFS
  • Транспорт
    • Никополь - Каменка-Днепровская
    • Энергодар - Примерное - Новоукраинка - Ивановка - Благовещенка - Червонцы
Powered by GitBook
On this page
  • Немного теории
  • Изменение маршрутов при подключении VPN
  • Изменение маршрутов при отключении VPN

Was this helpful?

  1. Операционные системы
  2. macOS

Маршрутизация и 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:

cd /etc/ppp

Создаем файл ip-up:

vi ip-up

Жмем клавишу i (режим вставки) и набираем следующий текст:

#!/bin/sh
ifname=$1
ttyname=$2
ttyspeed=$3
localip=$4
remoteip=$5
oldgateway=$6
/sbin/route add 10.0.0.0/8 $oldgateway
exit 0;

Сохраняем файл - Esc : w q Enter.

Изменяем права доступа к файлу для того, чтобы разрешить выполнение скрипта:

chmod 755 ip-up

Теперь при подключении VPN в таблицу маршрутизации будет добавлена запись на локальные подсети через прежний шлюз.

Изменение маршрутов при отключении VPN

Обратные действия реализуются с помощью скрипта ip-down. В том же каталоге /etc/ppp создаем файл ip-down:

/etc/ppp/ip-down
#!/bin/sh
/sbin/route delete 10.0.0.0/8
exit 0;

Изменяем права доступа к файлу для того, чтобы разрешить выполнение скрипта:

chmod 755 ip-up

Теперь при отключении мы получим начальную таблицу маршрутов.

PreviousЛокализация каталоговNextUNIX

Last updated 4 years ago

Was this helpful?