Mac OS X: Настройка маршрутов внутри IPsec-туннеля, созданного в Kerio

Очередная задача - настроить рабочий VPN туннель(используя шлюз на Kerio) с маршрутами по сетям и подсетям компании. Да чтобы это работало на Маках.
Как поднять туннель в Kerio я рассказывать не буду, там все просто.

  • Настройки -> Сеть -> + -> VPN -> L2TP через IPSec;
  • Придумываем имя и нажимаем "Создать";
  • Адрес сервера: указываем IP(или имя, если создали нужное NS-имя в DNS);
  • Имя учетной записи: вписываем либо локальное имя пользователя из Kerio, либо Domain\Name, если Kerio работает в связке с AD;
  • Кнопка "Настройка аутентификации..." позволит настроить методы аутентификации пользователя и компьютера;
  • Последовательно кнопки "Применить" и "Подключить".

Соединение установлено, но доступа к ресурсам сети нет?
Не беда! Данная заметка для этого и была создана =)

  • Открываем терминал и выполняем команду ifconfig - новое активное подключение называется ppp(x), где x - порядковый номер соединения. В нашем случае он будет нулевым.
  • Запомним IP-адрес VPN-сервера указанного в строке inet 192.168.50.30 --> 192.168.50.1 netmask 0xffffff00.
  • netstat -nr покажет, что нужных нам маршрутов пока в системе нет.
  • Создадим файл, отрабатываемый при запуске соединения ppp(x) sudo vim /etc/ppp/ip-up
  • В редакторе VIM переходим в режим Вставки - i;


ifname=$1
ttyname=$2
speed=$3
localip=$4
remoteip=$5
ipparam=$6
case "$remoteip" in 192.168.50.1) # Тот самый адрес сервера VPN;
/sbin/route add -net 172.16.4.0/22 -interface $ifname # Таким образом прокладывается маршрут к сети;
/sbin/route add -host 172.16.0.50 -interface $ifname # А здесь к конкретному хосту;
;;
esac
exit 0;

  • Жмем Esc для выхода из режима Вставки;
  • После ввода :wq(для сохранения данных в файле) жмем Enter;
  • Сделаем файл исполняемым - sudo touch /etc/ppp/ip-up;
  • Укажем права - sudo chmod a+x /etc/ppp/ip-up;

Произведем отключение от VPN и подключимся вновь. Ура! после выполнения netstat -nr нужные нам маршруты появились. Устройства пингуются - корпоративная сеть доступна. Давайте теперь избавимся от лишних маршрутов при отключенном L2TP-соединении.

  • Отключение туннеля будет сопровождаться запуском файла ip-down - sudo vim /etc/ppp/ip-down
  • VIM переводим в режим Вставки - i;


ifname=$1
ttyname=$2
speed=$3
localip=$4
remoteip=$5
ipparam=$6
case "$remoteip" in 192.168.50.1) # Тот самый адрес сервера VPN;
/sbin/route delete -net 172.16.4.0/22 -interface $ifname # Удаляем маршрут к сети;
/sbin/route delete -host 172.16.0.50 -interface $ifname # Забываем маршрут конкретному хосту;
;;
esac
exit 0;

  • Esc для выхода из режима Вставки;
  • После ввода :wq(для сохранения данных в файле) жмем Enter;
  • Сделаем файл исполняемым - sudo touch /etc/ppp/ip-down;
  • Укажем права - sudo chmod a+x /etc/ppp/ip-down;

Готово!

Запись опубликована в рубрике Заметки