Маршрутизация всего трафика, кроме нескольких IP-диапазонов через шлюз по умолчанию в Mountain Lion

5643
Espen Herseth Halvorsen

Я использую VPN (Cisco IPSec) через настройки сети Mountain Lion по умолчанию. В Lion (а также в Snow Leopard) я сделал следующее, чтобы изменить маршрутизацию на использование моего шлюза по умолчанию для всего трафика и настроить несколько маршрутов для определенных IP-диапазонов, которые должны были проходить через VPN:

# Route traffic through VPN: route -nv add -net IPRANGE -interface utun0 #...more lines for the different IP-ranges that should go through VPN)  # Route all other traffic through the old default gateway: route change default DEFAULT-GATEWAY-IP 

Похоже, это не работает под Mountain Lion. (Новая реализация?) Cisco IPSec, кажется, динамически добавляет много маршрутов в таблицу маршрутизации, когда я посещаю их в браузере.

Я много отлаживал (ping, traceroute'ing), но до сих пор не нашел решения.

Основная проблема, которую я пытаюсь решить, - это просто направлять трафик для определенных IP-диапазонов через VPN, все остальное должно действовать, поскольку я не подключен к VPN. Любое другое решение, которое достигает, будет хорошо со мной =)

3
«Это, кажется, не работает» не очень хорошее описание проблемы. Что именно идет не так? David Schwartz 12 лет назад 0
Как я уже сказал, для каждого домена, который я посещаю, добавляются новые (и более конкретные) маршруты. Это было не так в Lion / Snow Leopard. Это означает, что этот метод изменения маршрута по умолчанию не будет работать, так как будут создаваться новые и более конкретные маршруты для каждого IP / домена, который я посещаю, и он принимает маршрут по умолчанию. Espen Herseth Halvorsen 12 лет назад 0
Вы используете встроенный клиент ipsec? Вы отправили весь трафик через проверенный vpn? По умолчанию все должно использовать таблицы маршрутизации, убедитесь, что по умолчанию установлено то, что, как вы думаете, должно быть, и у вас нет более конкретных маршрутов, таких как (0.0.0.0/1 и 128.0.0.0/1). Doon 12 лет назад 0
Да, я использую встроенный Cisco IPSec. Варианта отправлять трафик на / нет по VPN соединению нет ... Espen Herseth Halvorsen 12 лет назад 0

1 ответ на вопрос

2
Allen

Если вы укажете в панели настроек VPN (Системные настройки, пункт VPN, Дополнительно), что НЕ хотите, чтобы весь трафик проходил через VPN, то после подключения к VPN ни один из ваших маршрутов не будет изменен. Затем, чтобы получить маршруты только для определенных вещей, которые вам нужны внутри VPN, вам нужно создать этот файл:

/ И т.д. / ррр / ф-вверх

содержащий

#!/bin/bash /sbin/route add -net 10.10.10 -interface ppp0 

где «10.10.10» соответствует подсети, в которой вы находитесь. Это работает, когда я хочу войти в сеть 10.10.10 / 24, чья подсеть 255.255.255.0. Если бы подсеть была 255.255.0.0, я бы заменил «10.10».

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

chmod 755 /etc/ppp/ip-up 

Я не знаю, что вам сказать, если у вас есть несколько VPN, к которым вам нужно подключиться, каждая из которых имеет разные маршруты, которые нужно добавить. Но это работает только для 1 VPN.

Это кажется идеальным решением, единственная проблема заключается в том, что у меня нет возможности указать, что я не хочу, чтобы трафик маршрутизировался через VPN-соединение в дополнительных настройках. Эта опция отсутствует в VPN-соединении Cisco IPSec. Espen Herseth Halvorsen 12 лет назад 3
И чтобы уточнить: эта опция присутствует на VPN-соединениях типов «L2TP over IPSec» и «PPTP», но не на «Cisco IPSec». :( Espen Herseth Halvorsen 12 лет назад 0