Mac os добавить постоянный маршрут для vpn

Как разделить VPN трафик в MacOS

Предположим, вы разработчик и часть ресурсов (например база данных) находятся в корпоративной сети, доступ в которую осуществляется через VPN.

Если вы посмотрите на все доступные инструкции как настраивать VPN на Mac OS, то увидите что авторы говорят вам ставить галку «отправлять весь трафик через VPN», что приводит к тому, что (Капитан Очевидность) весь трафик идет через VPN, что в свою очередь накладывает все ограничения корпоративной сети (запрет на посещение отдельных ресурсов, закрытые порты и т.д.) или ограничения сервиса анонимизации (узкий канал, долгий ping и т.д.).

Возникает вопрос — нельзя ли через VPN пускать только определенный трафик, а весь остальной (основной) трафик пусть идет по обычному каналу без ограничений.

Делается это довольно просто.

Кратко пройдемся по настройке VPN соединения.

Нажимаем на «яблочко» в левом верхнем углу экрана и выбираем «Системные настройки».

Выбираем «Сеть»

Нажимаем на «плюсик» в списке сетевых соединений.

Выбираем «VPN»

Тип VPN (в моем случае это L2TP через IPSec)

Заполняем параметры соединения

Галку «Отправлять весь трафик через VPN» не ставим

Теперь нам надо узнать интерфейс через который идет VPN-трафик.

Запускаем ifconfig без подключенного VPN

Подключаем VPN и снова запускаем ifconfig

Видим что появился интерфейс ppp0

Теперь по умолчанию весь трафик идет по обычному соединению (не VPN).

Далее, мне нужно чтобы коннекты к моему серверу, расположенному по адресу 192.168.0.20 шли через VPN. Для этого нам нужно построить сетевой маршрут. Воспользуемся штатной unix-командой route.

Теперь весь трафик идет через мое обычное соединение, а трафик к корпоративному серверу идет через VPN.

Для удобства в файле

/.profile создаем алиасы на команду добавления маршрутов

Теперь чтобы поднять соединение, необходимо подключиться к VPN и выполнить команду server-vpn-up.

Альтернативный вариант, это создать файл /etc/ppp/ip-up, прописать в него [в моем случае]

и дать права на выполнение

После этого маршрут будет прописываться автоматически после соединения с VPN.

Какие могут встретиться подводные камни.

1. Может быть конфликт IP-адресов, если внутренняя и внешняя сеть используют одно адресное пространство (возможно я использую не правильный термин, поправьте в комментариях пожалуйста). Т.е. у вас и VPN и внутренняя домашняя сеть находятся в 192.168.0… В моем случае решением было перенастройка домашней сети на 10.0.1…

2. При подключении VPN автоматически ставился корпоративный DNS 192.168.0.7. И хотя весь трафик должен был идти вроде как не через VPN, все сайты переставали открываться. Решилось это добавлением Google-ового DNS 8.8.8.8 и поднятии его в самый верх.

Источник

Блоггер.КГ

Apple

Прямой эфир

daite_piva 16 сентября 2020, 16:54

daite_piva 5 декабря 2016, 11:57

daite_piva 22 ноября 2016, 13:29

daite_piva 26 августа 2016, 12:00

daite_piva 7 июля 2016, 14:41

daite_piva 23 февраля 2016, 12:16

daite_piva 22 декабря 2015, 11:10

daite_piva 16 декабря 2015, 18:49

manas_anarov 13 октября 2015, 17:19

daite_piva 5 октября 2015, 17:31

manas_anarov 4 октября 2015, 16:11

manas_anarov 7 сентября 2015, 14:29

daite_piva 20 августа 2015, 11:23

daite_piva 30 июня 2015, 12:02

Читайте также:  Imovie для windows что это

Блоги

  • Музыка2.34
  • Книги1.15
  • Рейтинг сайтов WWW.NET.KG1.15
  • NIX1.15
  • Юмор2.61
  • Кирнет2.26
  • Google1.31
  • Apple1.29
  • Технопарки2.42
  • Мобильные устройства связи4.97

Mac OS X: Добавление статических маршрутов при подключении по VPN

Для поднятия статических маршрутов при подключении по VPN создаём файл /etc/ppp/ip-up:

Если у вас несколько VPN-соединений, то очевидно придётся проверять IP-адрес шлюза, например:
if [ $IPREMOTE = «10.3.3.1» ]
then
# делаем что надо для подключения к 10.3.3.1
fi

Понятно, что в этом скрипте можно не только статические маршруты навешивать.

Ну и конечно указанный файл должен иметь права на выполнение:

Источник

Настройка подключения VPN на Mac

Чтобы подключиться к сети VPN, необходимо ввести настройки конфигурации на панели «Сеть». Эти настройки включают адрес сервера VPN, имя учетной записи и другие параметры идентификации, такие как пароль или сертификат, полученные от сетевого администратора.

Если Вы получили файл настроек VPN от администратора сети, можно импортировать его для настройки подключения. Если нет, то настройки можно ввести вручную.

Импорт файла настроек VPN

На Mac выполните одно из следующих действий.

Дважды нажмите на файл, чтобы открыть настройки сети и автоматически импортировать настройки.

Выберите пункт меню «Apple»

> «Системные настройки», нажмите «Сеть», нажмите раскрывающееся меню «Действия» , затем выберите «Импортировать конфигурации». Выберите файл, затем нажмите «Импортировать».

Введите настройки VPN автоматически

На Mac выберите меню Apple

> «Системные настройки», затем нажмите «Сеть».

Нажмите кнопку «Добавить» в списке слева, нажмите всплывающее меню «Интерфейс», затем выберите «VPN».

Нажмите всплывающее меню «Тип VPN», затем выберите тип VPN-подключения, который Вы хотите настроить, в зависимости от сети, к которой Вы подключаете компьютер. Присвойте имя службе VPN, затем нажмите «Создать».

Протокол L2TP — это расширенная версия протокола PPTP, который используется интернет-провайдерами для поддержки VPN через Интернет.

Протокол IPSec (Internet Protocol Security) является набором протоколов безопасности.

IKEv2 — это протокол, который настраивает сопоставление безопасности в IPSec.

Введите адрес сервера и имя учетной записи для VPN-подключения.

Нажмите «Настройки аутентификации», затем введите информацию, полученную от администратора сети.

Если Вы получили соответствующие указания от администратора сети, нажмите «Дополнительно» и введите дополнительную информацию, такую как параметры сеанса, настройки TCP/IP, DNS-серверы и прокси.

Дополнительная информация, которую Вы можете ввести, зависит от типа настраиваемого VPN-подключения.

Нажмите «Применить», затем нажмите «ОК».

Выберите «Показывать статус VPN в строке меню», чтобы использовать значок статуса VPN для подключения к сети и переключения между службами VPN.

Для удаления конфигурации VPN выберите службу VPN в списке сетевых служб и нажмите кнопку «Удалить» .

Источник

О маршрутизации простыми словами. Как посмотреть, добавить или удалить маршрут в macOS

Я давно заметил, что многих пользователей пугает само слово «маршрутизация». Да чего там говорить про обычных пользователей, когда даже админы (особенно те, кто кроме Windows ничего другого не видели) с трудом понимают что это такое.

И я сейчас не преувеличиваю. Иногда требуется прописать статический маршрут на клиенте, а не на роутере и мне приходилось объяснять не пользователю, а админу зачем это нужно, как это делается и в чём отличие от маршрута по умолчанию.

Мальчик сказал маме: “Я хочу кушать” и мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать” и папа отправил его назад к маме.
Мальчик сказал маме: “Я хочу кушать” и мама снова отправила его к папе.
Так мальчик бегал туда-обратно, пока не упал.
Что случилось с мальчиком? TTL кончился.

Скажете бессмысленный анекдот? Чтобы его понять нужно изучить как работают сети, а пока давайте объясню простыми словами что такое «маршрутизация» (routing), чтобы это слово вас больше не пугало.

Читайте также:  Установка языкового пакета windows 10 через командную строку

Если вы когда-либо настраивали свой роутер или смотрели свойства подключения к сети, то наверняка видели что кроме адреса вашего компьютера, есть ещё адрес шлюза (ещё одно непонятное слово).

Всё просто. Интернет можно представить как разветвлённую дорожную сеть с кучей направлений. Каждая из дорог может привести куда угодно и не факт что нам туда вообще нужно. Так вот, ваш шлюз — это отправная точка во всемирную сеть, откуда вы начинаете свой путь и, в большинстве случаев, он становится для вас маршрутом по умолчанию.

То есть, когда вы открываете какие-то сайты, качаете торренты или проверяете почту, все ваши данные проходят через устройство с данным адресом. Он знает куда нужно дальше передавать пакеты данных. Таких отправных точек может быть превеликое множество и каждая из них обладает информацией о своём сегменте сети, компьютерах и других устройствах, расположенных за ней. Собственно, маршрутизация — это процесс определения лучшего маршрута.

Когда мы знаем точный маршрут следования (его ещё называют статическим), то можем сразу начать движение по нему, в противном случае используется маршрут по умолчанию, который как бы говорит: всё, что не знаешь, куда послать — шли сюда.

В каком случае может потребоваться указывать статический маршрут? Например, при использовании VPN-соединений, когда не желательно гонять весь трафик в защищённом канале. Но это уже выходит за рамки простого описания, да и про VPN я уже много рассказывал ранее. Кому интересно что это такое, можете почитать тут, а сейчас расскажу как управлять статическими маршрутами на примере macOS (если вы хотите узнать как управлять маршрутами в Windows и Linux, оставляйте комментарии и в одном из следующих постов я постараюсь изложить данную тему подробнее).

Как посмотреть, добавить или удалить маршрут в macOS

Чтобы посмотреть все действующие маршруты, отрываем Терминал и вводим следующую команду:

Добавить статичный маршрут можно следующей командой:

sudo route -n add 192.168.10.0/24 10.8.0.9

Здесь мы указали что для доступа к сети 192.168.10.0 с маской 255.255.255.0 (24) следует использовать шлюз 10.8.0.9.

Теперь удалим созданный статичный маршрут:

sudo route -n delete 192.168.10.0/24 10.8.0.9

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Источник

IPSec VPN для OS X и iOS. Без боли

VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).
© Wikipedia

VPN используется для удаленного подключения к рабочему месту, для защиты данных, для обхода фильтров и блокировок, для выдачи себя за гражданина другой страны и вообще — штука незаменимая. Практически повсеместно в качестве простого средства для организации пользовательского VPN используется всем известный OpenVPN, который использовал и я. Ровно до тех пор, пока у меня не появился Macbook и OS X в придачу. Из-за того, что подход Apple к конфигурации DNS сильно отличается от подхода других *nix-систем, проброс DNS через VPN нормально не работал.

После некоторых исследований у меня получилось два варианта:
— Использование DNS «мимо» VPN, что сильно небезопасно, но решает проблему.
— Использование нативных для OS X VPN-протоколов: PPTP и семейства IPSec.
Разумеется, я выбрал второе и разумеется — IPSec, а не устаревший PPTP.

Читайте также:  Grub cmdline linux default acpi off

Настройка Linux ( в моем случае — Arch Linux )

  1. Открыть Настройки → Сеть
  2. Нажать (+) и выбрать VPN/Cisco IPSec
  3. Заполнить основную информацию ( адрес, имя пользователя и пароль )
  4. Выбрать «Настройки аутентификации» и указать группу и PSK ( из файла /etc/racoon/psk.key )
  5. Подключиться

OS X и IPSec

IPSec это не один протокол, а набор протоколов и стандартов, каждый из которых имеет кучу вариантов и опций. OS X поддерживает три вида IPSec VPN:
— IPSec/L2TP
— IKEv2
— Cisco VPN

Первый вариант избыточен — какой смысл пробрасывать ethernet-пакеты для пользовательского VPN?
Второй — требует сертификатов и сильно сложной настройки на стороне клиента, что тоже нехорошо.
Остается третий, который называется «Cisco», а на самом деле — XAuth+PSK. Его и будем использовать.

Препарация OS X

После некоторых неудачных попыток настроить VPN на OS X, я полез изучать систему на предмет того, как же именно там работает VPN.
Недолгий поиск дал мне файлик /private/etc/racoon/racoon.conf, в котором была строчка include «/var/run/racoon/*.conf»;.
После этого все стало понятно: при нажатии кнопки OS X генерирует конфиг для racoon и кладет его в /var/run/racoon/, после окончания соединения — удаляет. Осталось только получить конфиг, что я и сделал, запустив скрипт перед соединением.

Внутри я нашел именно ту информацию, которой мне не хватало для настройки сервера: IPSec proposals. Это списки поддерживаемых клиентом ( и сервером ) режимов аутентификации, шифрования и подписи, при несовпадении которых соединение не может быть установлено.
Итоговый proposal для OS X 10.11 и iOS 9.3 получился таким:
encryption_algorithm aes 256;
hash_algorithm sha256;
authentication_method xauth_psk_server;
dh_group 14;

Выбор VDS и настройка VPN

Для VPN-сервера я выбрал VDS от OVH, поскольку они дают полноценную виртуализацию с возможностью ставить любое ядро с любыми модулями. Это очень важно, поскольку ipsec работает на уровне ядра, а не пользователя, как OpenVPN.
Режим «Cisco VPN» (XAuth + PSK) предполагает двухэтапную аутентификацию:
— Используя имя группы и PSK для нее ( этап 1 )
— Используя имя пользователя и пароль ( этап 2 )

Настройка racoon

racoon — демон, который занимается управлением ключами ( IKE ). Именно он дает ядру разрешение на провешивание туннеля после того, как аутентифицирует клиента и согласует все детали протокола ( aka proposal ). racoon входит в стандартный пакет ipsec-tools и есть практически в любом дистрибутиве Linux «из коробки».

Используя случайные 64 бита группы и 512 бит ключа, я получаю достаточно вариантов, чтоб сделать перебор бессмысленным.

Настройка Linux

— Необходимо разрешить маршрутизацию: sysctl net.ipv4.ip_forward=1
— Необходимо разрешить протокол ESP и входящие соединения на порты 500/udp и 4500/udp: iptables -t filter -I INPUT -p esp -j ACCEPT; iptables -t filter -I INPUT -p udp —dport 500 -j ACCEPT; iptables -t filter -I INPUT -p udp —dport 4500 -j ACCEPT
— Необходимо включить NAT для нашей сети: iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j MASQUERADE
— Необходимо создать группу и создать/добавить туда пользователей: groupadd vpn и useradd -G vpn vpn_user
— Необходимо запустить racoon: racoon -vF

Настройка OS X

Настройки → Сеть

Выбрать (+) → VPN → Cisco IPSec → придумать название

Выбрать соединение → ввести адрес сервера, имя пользователя и пароль

Выбрать «Настройки аутентификации» → ввести имя группы и ключ ( именно в таком порядке )

Настройка iOS

Настройки → Основные → VPN → Добавить конфигурацию VPN.

Заполнить форму по аналогии, подключиться.

Источник

Оцените статью