Мое 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 просматривает таблицу маршрутов с помощью NotifyRouteChange
вызова API Helper API.
Я установил NotifyRouteChange
точку останова перед вызовами и использовал опцию «Пропустить вызов», чтобы успешно запретить FortiSSL сбрасывать метрики маршрута, и теперь у меня есть:
Тем не менее, когда я запускаю 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, о котором я не знаю, который может способствовать определенному маршруту, даже если метрики маршрутной печати говорят об обратном?
ncpa.cpl
> свойства сетевой карты> свойства записи стека IP v4> вкладка «Общие» / «Дополнительно»> «Автоматическая метрика». Посмотри там на обоих интерфейсах. Также смотрите этот пост в блоге о многосетевой Windows .