Где находится настройка «Отправлять весь трафик через VPN-соединение» в OSX 10.9 Mavericks?

17

Я пытаюсь изменить настройки VPN-соединения Cisco IPSec, которое было установлено через встроенный VPN-клиент OSX в системных настройках. VPN работает должным образом, что позволяет мне получать доступ к защищенным серверам в моей компании. Я хотел бы получить доступ к другим веб-сайтам в Интернете через этот VPN (YouTube, Википедия, что угодно). Насколько я могу судить, мой обычный просмотр веб-страниц не направляется через VPN.

На этой странице поддержки Apple говорится, что есть параметр «Отправлять весь трафик через VPN-соединение», который можно включить в Apple menu > System Preferences > Network > Advanced > Optionsдиалоговом окне . Однако, когда я выбираю VPN из списка сетевых интерфейсов и нажимаю кнопку «Дополнительно ...», вкладка или кнопка «Параметры» отсутствуют. Я вижу диалог с двумя вкладками, «DNS» и «Прокси». Там нет кнопки настроек или «Отправить весь трафик через VPN-соединение» в любом месте, чтобы найти.

Итак, что дает? Связано ли это с тем, к какому типу VPN я подключен (Cisco IPSec)? Это связано с настройками VPN? Независимо от того, как я могу маршрутизировать нормальный просмотр через VPN?

Pwnosaurus
источник
Что это за тип VPN-подключения? В некоторых случаях весь трафик будет отправляться через VPN-соединение в любом случае (если он активен), поэтому опция устарела (и, следовательно, недоступна). Пример: Cisco VPN ... нет варианта. VPN (PPTP) ... опция доступна.
sdmeyers
@sdmeyers не совсем уверен, что это за связь. Все, что я действительно вижу, это "Cicsco IPSec". Где бы я мог проверить тип настройки? Исходя из моего (ограниченного) понимания VPN, я считаю, что мой трафик не проходит через него. VPN-сервер находится в США, и когда я просматриваю свой текущий IP-адрес, я вижу, что хост находится за пределами той страны, в которой я сейчас нахожусь.
Pwnosaurus
1
Google "Какой у меня IP", чтобы увидеть ваш публичный IP-адрес до и после подключения к вашему VPN, здесь должно быть по-другому. VPN не изменит ваш локальный IP-адрес.
sdmeyers
Клиент Cisco IPSec для Mac, похоже, ведет себя точно так, как нужно - VPN-сервер предоставляет список защищенных маршрутов, которые добавляются в таблицу маршрутизации системы Mac. Хотя здесь возникла противоположная проблема ... У меня есть маршруты 10.xxxx и 172.xxx в моем netstat -rn, но мне как-то разрешен только доступ 10 - не 172.
tishma

Ответы:

11

Я предполагаю, что не все VPN-подключения встроенного VPN-клиента в Mac имеют такую ​​возможность.

PPTP и L2TP предлагают опцию: Откройте настройки сети:

введите описание изображения здесь

Выберите ваше VPN-соединение и нажмите на кнопку «Дополнительно».

Появится новое окно с тремя флажками под заголовком «Параметры сеанса». Последний из этих флажков - тот, который вам нужен: «перенаправить весь трафик через VPN».

Однако, как вы сказали. Расширенная кнопка не появляется в Cisco IPSec.

Я нашел эту ветку ( https://superuser.com/questions/91191/how-to-force-split-tunnel-routing-on-mac-to-a-cisco-vpn ), которая может быть ответом на вашу проблему. (если вы используете его для маршрутизации всего диапазона ip):

Кто-нибудь знает, как взломать таблицу маршрутизации (на Mac), чтобы победить форсирование VPN-маршрутизации для каждой вещи через VPN cisco? почти все, что я хочу сделать - это иметь только адреса 10.121. * и 10.122. * через VPN и все остальное прямо в Интернет.

Следующее работает для меня. Запустите их после подключения к cisco vpn. (Я использую встроенный клиент Cisco XOS, а не фирменный клиент Cisco.)

sudo route -nv add -net 10 -interface utun0
sudo route change default 192.168.0.1

Замените «10» в первой команде на сеть, которая находится на другой стороне туннеля.

Замените «192.168.0.1» на шлюз вашей локальной сети.

Я поместил это в скрипт bash, вот так:

$ cat vpn.sh 
#!/bin/bash

if [[ $EUID -ne 0 ]]; then
    echo "Run this as root"
    exit 1
fi

route -nv add -net 10 -interface utun0
route change default 192.168.0.1

Я также нашел объяснение того, как запускать это автоматически при подключении VPN, но уже поздно в пятницу, и я не испытываю желания попробовать это :)

https://gist.github.com/675916

Редактировать:

С тех пор я оставил работу, где я использовал Cisco VPN, так что это из памяти.

«10» в первой команде - это сеть, которую вы хотите маршрутизировать через VPN. «10» - это сокращение от «10.0.0.0/8». В случае Туан Ань Чрана, похоже, что сеть "192.168.5.0/24".

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

Самый простой способ выяснить шлюз - запустить netstat -rn перед входом в VPN и посмотреть на IP-адрес справа от места назначения «по умолчанию». Например, вот как это выглядит на моей коробке прямо сейчас:

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.0.1.1           UGSc           29        0     en1
10.0.1/24          link#5             UCS             3        0     en1
10.0.1.1           0:1e:52:xx:xx:xx   UHLWIi         55   520896     en1    481
10.0.1.51          7c:c5:37:xx:xx:xx   UHLWIi          0     1083     en1    350
10.0.1.52          127.0.0.1          UHS             0        0     lo0

Мой шлюз 10.0.1.1 - он находится справа от пункта назначения по умолчанию.

Винсент
источник
Этот ответ обеспечивает противоположность того, что спрашивали.
sdmeyers
-1

VPN-серверы Cisco обычно отправляют список маршрутов в частные сети, поэтому вы не отправляете весь свой трафик через VPN-сервер. Чтобы преодолеть эту проблему, вы можете попробовать предложения здесь для перехода от CiscoVPN к собственной OS X IPSec VPN путем дешифрования паролей, сохраненных в файлах CiscoVPN PCF, или ручной настройки маршрутизации.

Надеюсь, это может помочь.

Rose Ab
источник