91

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

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

4 ответа4

80

Создайте файл /etc/ppp/ip-up со следующим содержимым:

#!/bin/sh
/sbin/route add <SUBNET> -interface $1 

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

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

chmod 0755 /etc/ppp/ip-up

Этот файл будет выполняться каждый раз, когда вы подключаетесь к VPN.

Параметры, данные для скрипта:

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

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

-- Connect Work VPN

tell application "System Events"
    tell network preferences
        tell current location
            tell service "Work"
                connect
                tell current configuration
                    repeat until get connected = true
                        delay 1
                    end repeat
                end tell
            end tell
        end tell
    end tell
end tell

set gateway to "192.168.1.1"

do shell script "route add 172.16.0.0/16 " & gateway with administrator privileges

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

8

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

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

<code> Установить сервисный заказ ... </code> Заказ VPN

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

  1. VPN
  2. Ethernet
  3. аэропорт

Не так:

  1. аэропорт
  2. Ethernet
  3. VPN

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

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

✅ Проверено на L2TP VPN соединении

1

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

Эта ссылка, по- видимому, применима только к 10.4, но материал командной строки все еще может работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .