Moje połączenie VPN zmusza cały ruch internetowy przez tunel, a to bardzo wolno. Chcę mieć możliwość tunelowania tylko niektórych adresów IP i robienia tego po mojej stronie (po stronie klienta).
Łączę się z VPN za pomocą klienta FortiSSL , tablica tras wygląda tak przed ustanowieniem połączenia:
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
Po podłączeniu wygląda to tak:
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
Klient VPN ustawia trasę typu „catch-all” o niższym wskaźniku niż wszystkie inne moje trasy, co prowadzi cały ruch internetowy przez tunel. Próbowałem zmienić domyślną metrykę trasy internetowej na niższą wartość:
C:\Windows\system32>route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 10 if 13
OK!
Ale nic się nie zmieniło.
Następnie próbowałem usunąć trasę „catch-all” VPN, tę z metryką 21 powyżej:
C:\Windows\system32>route delete 0.0.0.0 mask 0.0.0.0 if 50
OK!
I wszystko zepsuło:
C:\Windows\system32>ping 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
PING: transmit failed. General failure.
Próbowałem również zmienić metrykę na adapterach, ale klient FortiSSL zastępuje wszystkie ustawienia podczas łączenia, więc to nie pomogło.
Poprawka musi pochodzić z mojej strony, ponieważ ludzie po drugiej stronie potrzebują dni na odpowiedź.
Korzystam z systemu Windows 7 x64, jeśli to pomaga.
- AKTUALIZACJA (2013-12-24) -
Dzięki wskazówce mbrownnyc zbadałem problem z Rohitabem i dowiedziałem się, że klient FortiSSL obserwuje tabelę tras za pomocą NotifyRouteChange
wywołania API IP Helper.
NotifyRouteChange
Ustawiłem punkt przerwania przed połączeniami i użyłem opcji „Pomiń połączenie”, aby skutecznie uniemożliwić FortiSSL resetowanie wskaźników trasy, a teraz mam:
Jednak po uruchomieniu tracert moja trasa nadal przechodzi przez 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]
Czy jest jakiś aspekt sieci Windows, o którym nie wiem, że może faworyzować określoną trasę, nawet jeśli wskaźniki wydruku trasy mówią inaczej?
ncpa.cpl
> właściwości karty sieciowej> właściwości pozycji stosu IP v4> karta Ogólne / Zaawansowane> Metryka automatyczna. Spójrz tam na oba interfejsy. Zobacz także ten post na blogu o systemie Windows MultiHomed .Odpowiedzi:
Zauważ, że nie używam regularnej notacji sieciowej do adresowania tutaj (takiej jak CIDR, a nawet
host/mask
notacji, aby nie mylić pytającego).Zamiast usuwać trasę „bramy domyślnej” (
0.0.0.0 mask 0.0.0.0
), aby stos sieciowy nie miał pojęcia, gdzie wysłać większość pakietów, spróbuj podnieść metrykę trasy VPN poniżej tej z trasy domyślnej (w tym przypadku4265
).Po połączeniu z klientem Fortigate:
Gdzie N jest numerem interfejsu dla
fortissl
interfejsu zwróconego na początkuroute print
.Stos sieciowy powinien traktować to poprawnie:
this IP
dothis gateway
dalszego routingu).172.16.*.*
zostaną wysłane do sieci VPN; ponieważ stos sieciowy systemu Windows wie, że jeśli do interfejsu dołączony jest adres, interfejs ten służy do uzyskiwania dostępu do innych adresów IP w tym zakresie adresów. Mogę uzyskać bardziej wyraźny zakres, jeśli opublikujesz „Maskę podsieci” dla172.16.0.1
.Musisz określić adresy IP zasobów, do których potrzebujesz dostępu przez VPN. Możesz to zrobić z łatwością, korzystając z
nslookup [hostname of resource]
połączenia, bez zmiany tras.[tyrada]
Nie mam problemu z dopuszczeniem tunelowania podzielonego przez VPN, szczególnie z powodu cytowanego problemu użytkowania. Jeśli Twój dział IT rozważa tunelowanie podzielone jako mechanizm bezpieczeństwa, musi ponownie przemyśleć swoje działania:
[/tyrada]
źródło
HKEY_CURRENT_USER\Software\Fortinet\SslvpnClient
.Tunnel
powinno być interesujące. Prześlij z powrotem to, co znajdziesz. Lub odpowiedz i oznacz jakocommunity wiki
, abyś mógł pomóc innym.