Mac os маршруты через vpn

Как выборочно маршрутизировать сетевой трафик через VPN на Mac OS X Leopard?

Я не хочу отправлять весь свой сетевой трафик вниз к VPN, когда я подключен к сети моей компании (через VPN) из дома. Например, когда я работаю из дома, я хотел бы иметь возможность создавать резервные копии всех своих файлов в Time Capsule дома и по-прежнему иметь доступ к внутренней сети компании.

Я использую встроенный VPN-клиент Leopard. Я попытался снять флажок » отправлять весь трафик через VPN-соединение.»Если я это сделаю, я потеряю доступ к внутренним веб-сайтам моей компании это через curl или веб-браузер (хотя внутренние IP-адреса все еще доступны). Было бы идеально, если бы я мог выборочно выбрать набор IP-адресов или доменов для маршрутизации через VPN и сохранить остальные в своей сети. Достижимо ли это с помощью встроенного VPN-клиента Leopard? Если у вас есть какие-либо рекомендации программного обеспечения, я хотел бы услышать их, а также.

4 ответов

создать файл / etc/ppp / ip-up следующего содержания:

замена С подсетью вы хотите маршрутизировать через VPN (например. 192.168.0.0/16)

выполнить от имени root:

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

  • : интерфейс VPN (например, ppp0 )
  • : неизвестный, был 0 в моем случае
  • : IP сервера VPN
  • : адрес VPN-шлюза
  • : обычный (не vpn) шлюз для подключения к локальной сети

Я хотел сделать нечто подобное. Подключите VPN, а затем маршрутизируйте дополнительную сеть через эту VPN. Я закончил со следующим битом Applescript:

вам нужно изменить «Work» к имени вашего VPN соединения, 192.168.1.1 на ваш адрес шлюза и 172.16.0.0/16 в адрес сети, к которой вы хотите маршрут. Дополнительные сети можно добавить, повторив последнюю строку с разными адресами.

есть скрытая функция в настройках сети на MacOS:вы можете сортировать интерфейсов.

открыть системные настройки — > Сеть — > нажмите gear внизу слева -> Set service Order.

важно, что у вас есть сетевые интерфейсы, отсортированный в порядке, вы хотите их использовать. Если вы хотите, чтобы все данные, не относящиеся к локальной сети, интерфейс VPN наверху. Вроде такой

таким образом, нет необходимости проверять следующие настройки в Session Options :

отправить весь трафик через VPN-соединение

Источник

Маршрутизация в Mac OS при VPN подключении

Появилась как-то задача подключатся по VPN к рабочей сети, чтобы иметь доступ к внутренним ресурсам.
Средствами Мака это можно сделать создав VPN подключение и 2 варианта:
1. поставить галочку «Слать весь трафик через VPN подключение»
2. статически прописать статически route add -net 192.168.10.0/24 192.168.44.1, где 192.168.10.0/24 — сеть в которой находятся компьютеры на работе, 192.168.44.1 VPN шлюз к которому я подключаюсб.

Читайте также:  Диспетчер задач кали линукс

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

Итак задачу я решил следующим образом:
создал скрипт: touch /etc/ppp/ip-up
дал ему прав на исполнение: chmod +x /etc/ppp/ip-up
создал файл для логов: touch /tmp/ppp.log

Содержимое скрипта:
#!/bin/sh
VPNWORK=»192.168.44.1″; #обьявляем переменную (например по названию VPN подключения)
if [ $IPREMOTE = $VPNWORK ] #проверяем, если совпадает добавляем маршрут
then
/sbin/route -n add -net 192.168.10.0/24 $IPREMOTE > /tmp/ppp.log 2>&1
fi

Таким образом после подключения к сети добавляется маршрут, и нет необходимости добавлять его вручную, так-же при отключении от VPN он удаляется сам.

При необходимости добавлять DNS сервер можно дописать текст между then и fi:
echo «nameserver 4.2.2.1» > /etc/resolv.conf
Вместо 4.2.2.1 укажите свой основной DNS и второй записью рабочий.

Но при этом после отключения нам надо вернуть предыдущий DNS конфиг на место, для этого создаем: touch /etc/ppp/ip-down && chmod +x /etc/ppp/ip-down

Перед началом работы делаем бекап:
cp /etc/resolv.conf /etc/resolv.conf_original

и добавляем в скрипт /etc/ppp/ip-down:
#!/bin/sh
cat /etc/resolv.conf_original > /etc/resolv.conf

Собственно всё. При каждом подключении VPN прописывается маршрут, работаете сколько надо, после отключения удаляется, при этом у вас не будет загвоздок с DNS.

Источник

taldanzig / osxvpnrouting.markdown

Routing tips for VPNs on OS X

When VPNs Just Work™, they’re a fantastic way of allowing access to a private network from remote locations. When they don’t work it can be an experience in frustration. I’ve had situations where I can connect to a VPN from my Mac, but various networking situations cause routing conflicts. Here are a couple of cases and how I’ve been able to get around them.

Case 1: conflicting additional routes.

In this example the VPN we are connecting to has a subnet that does not conflict with our local IP, but has additional routes that conflict in some way with our local network’s routing. In my example the remote subnet is 10.0.x.0/24, my local subnet is 10.0.y.0/24, and the conflicting route is 10.0.0.0/8. Without the later route, I can’t access all hosts on the VPN without manually adding the route after connecting to the VPN:

Читайте также:  Очистка папки загрузки windows 10

In the above case the VPN is a PPTP VPN that uses ppp0 as the network interface. With this additional route, I can now access all the hosts I need to on the VPN. This won’t solve the case of trying to access addresses on the 10.0.y.0/24 subnet though.

Case 2: conflicting subnet between VPN and local network.

Fairly often a VPN on a private address space subnet can end up conflicting with a local subnet. For example if both the remote and local networks share the 192.168.0.0/24 subnet then our VPN connection ends up being pretty useless as all of the remote addresses will end up being routed to the local network device.

It is possible to get around this in some cases as long as the VPN IP address doesn’t conflict directly with a local IP address that you need access to. In this case we need to add a specific route for the remote IP:

In the above case I’m routing the host 192.168.0.x (replace the x with your specific address) via the tun0 device (in this case an OpenVPN connection).

Useful commands to debug routing issues.

The following command will show the existing routing table (IPv4 only):

The following command will show you how a specific host will get routed:

Источник

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

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

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

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

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

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

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

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

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

Выбираем «VPN»

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

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

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

Читайте также:  Проверка загрузчика windows 10

Теперь нам надо узнать интерфейс через который идет 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

Блоги

  • Музыка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

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

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

Источник

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