8

Мое VPN-соединение пропускает весь интернет-трафик через туннель, и это очень медленно. Я хочу иметь возможность туннелировать только определенные IP-адреса и делать это на моей стороне (на стороне клиента).

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

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101     40
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0         On-link     192.168.0.101    276
    192.168.0.101  255.255.255.255         On-link     192.168.0.101    276
    192.168.0.255  255.255.255.255         On-link     192.168.0.101    276
    192.168.119.0    255.255.255.0         On-link     192.168.119.1    276
    192.168.119.1  255.255.255.255         On-link     192.168.119.1    276
  192.168.119.255  255.255.255.255         On-link     192.168.119.1    276
    192.168.221.0    255.255.255.0         On-link     192.168.221.1    276
    192.168.221.1  255.255.255.255         On-link     192.168.221.1    276
  192.168.221.255  255.255.255.255         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.119.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.0.101    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.119.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.221.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.0.101    276

После подключения это выглядит так:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101   4265
          0.0.0.0          0.0.0.0         On-link        172.16.0.1     21
        127.0.0.0        255.0.0.0         On-link         127.0.0.1   4531
        127.0.0.1  255.255.255.255         On-link         127.0.0.1   4531
  127.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
       172.16.0.1  255.255.255.255         On-link        172.16.0.1    276
      192.168.0.0    255.255.255.0         On-link     192.168.0.101   4501
    192.168.0.101  255.255.255.255         On-link     192.168.0.101   4501
    192.168.0.255  255.255.255.255         On-link     192.168.0.101   4501
    192.168.119.0    255.255.255.0         On-link     192.168.119.1   4501
    192.168.119.1  255.255.255.255         On-link     192.168.119.1   4501
  192.168.119.255  255.255.255.255         On-link     192.168.119.1   4501
    192.168.221.0    255.255.255.0         On-link     192.168.221.1   4501
    192.168.221.1  255.255.255.255         On-link     192.168.221.1   4501
  192.168.221.255  255.255.255.255         On-link     192.168.221.1   4501
   200.250.246.74  255.255.255.255      192.168.0.1    192.168.0.101   4245
        224.0.0.0        240.0.0.0         On-link         127.0.0.1   4531
        224.0.0.0        240.0.0.0         On-link     192.168.119.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.221.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.0.101   4502
        224.0.0.0        240.0.0.0         On-link        172.16.0.1     21
  255.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
  255.255.255.255  255.255.255.255         On-link     192.168.119.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.221.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.0.101   4501
  255.255.255.255  255.255.255.255         On-link        172.16.0.1    276

VPN-клиент размещает универсальный маршрут с более низкой метрикой, чем все мои другие маршруты, и это направляет весь интернет-трафик через туннель. Я попытался изменить показатель моего интернет-маршрута по умолчанию на более низкое значение:

C:\Windows\system32>route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 10 if 13
OK!

Но ничего не изменилось.

Затем я попытался удалить «всеобъемлющий» маршрут VPN, тот, у которого метрика 21 выше:

C:\Windows\system32>route delete 0.0.0.0 mask 0.0.0.0 if 50
OK!

И это сломало все

C:\Windows\system32>ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
PING: transmit failed. General failure.

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

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

Я использую Windows 7 x64, если это поможет.

- ОБНОВЛЕНИЕ (2013-12-24) -

Благодаря совету mbrownnyc я изучил проблему с Rohitab и обнаружил, что клиент FortiSSL просматривает таблицу маршрутов с помощью вызова API помощника IP NotifyRouteChange .

Я установил точку останова до NotifyRouteChange и использовал опцию "Пропустить вызов", чтобы успешно запретить FortiSSL сбрасывать метрики маршрута, и теперь у меня есть:

Маршруты с метриками в пользу моего адаптера Wifi

Тем не менее, когда я запускаю tracert, мой маршрут все еще проходит через VPN:

C:\Windows\system32>tracert www.google.com

Tracing route to www.google.com [173.194.118.83]
over a maximum of 30 hops:

  1    45 ms    47 ms    45 ms  Jurema [172.16.0.1]

Есть ли какой-то аспект работы в сети Windows, о котором я не знаю, который может способствовать определенному маршруту, даже если метрики маршрутной печати говорят об обратном?

1 ответ1

2

Обратите внимание, что я не использую обычную сетевую нотацию для адресации здесь (например, CIDR или даже нотацию host/mask , чтобы не перепутать спрашивающего).

Вместо удаления маршрута "шлюз по умолчанию" (0.0.0.0 mask 0.0.0.0), чтобы ваш сетевой стек не знал, куда отправлять большинство пакетов, попробуйте поднять метрику VPN-маршрута ниже, чем у вашего маршрута по умолчанию (в этом дело 4265).

После соединения с клиентом Fortigate:

route change 0.0.0.0 mask 0.0.0.0 172.16.0.1 metric 4266 if N

Где N - номер интерфейса для интерфейса fortissl возвращаемый в начале route print .

Сетевой стек должен относиться к этому правильно:

  • Маршрут, который "включает адреса назначения", будет обрабатывать пакеты (маршрут указывает сетевому стеку отправлять пакеты, предназначенные для this IP this gateway для дальнейшей маршрутизации).
  • Все пакеты с IP- адресом назначения 172.16.*. * будет отправлено в VPN; поскольку сетевой стек Windows знает, что если к интерфейсу подключен адрес, то этот интерфейс используется для доступа к другим IP-адресам в этом диапазоне адресов. Я могу получить более подробные сведения о диапазоне, если вы разместите "Маску подсети" для 172.16.0.1.

Вы должны определить IP-адреса ресурсов, к которым вам нужен доступ через VPN. Вы можете сделать это легко, используя nslookup [hostname of resource] при подключении без настройки маршрутов.

[Напыщенный]

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

  • Доступ VPN-клиентов к ресурсам должен быть изолирован и строго ограничен, как если бы к ним обращались через Интернет (потому что активы, где вы не устанавливаете полный контроль, представляют более высокий риск, чем активы, где вы можете утверждать некоторые).
  • Они должны интегрировать механизм контроля доступа к сети для клиентов VPN. Это может позволить им применять некоторые политики на клиентских компьютерах (например, «устарели ли антивирусные определения?»).и т. д.)
  • Подумайте об использовании жесткого решения, такого как виртуальный рабочий стол Fortigate SSL VPN (которое довольно легко настроить и освободить, как мне кажется, с лицензией SSL VPN).

[/ Напыщенная]

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