Gdzie jest ustawienie „Wyślij cały ruch przez połączenie VPN” w OSX 10.9 Mavericks?

17

Próbuję zmienić ustawienia połączenia Cisco IPSec VPN, które zostało skonfigurowane za pomocą wbudowanego klienta VPN OSX w preferencjach systemowych. VPN działa zgodnie z oczekiwaniami, umożliwiając mi dostęp do chronionych serwerów w mojej firmie. Chciałbym uzyskać dostęp do innych stron internetowych za pośrednictwem tej sieci VPN (youtube, wikipedia, cokolwiek). O ile wiem, moje regularne przeglądanie stron internetowych nie jest kierowane przez VPN.

Ta strona pomocy technicznej Apple mówi, że istnieje ustawienie o nazwie „Wyślij cały ruch przez połączenie VPN”, które można włączyć za pomocą Apple menu > System Preferences > Network > Advanced > Optionsdialogu. Jednak po wybraniu VPN z listy interfejsów sieciowych i kliknięciu przycisku „Zaawansowane ...” nie ma karty ani przycisku „Opcje”. Widzę dialog z dwiema zakładkami: „DNS” i „proxy”. Nigdzie nie ma przycisku opcji ani „Wyślij cały ruch przez połączenie VPN”.

Co więc daje? Czy ma to związek z tym, do jakiego rodzaju sieci VPN jestem podłączony (Cisco IPSec)? Czy jest to związane z ustawieniami VPN? Niezależnie od tego, jak mogę trasować normalne przeglądanie przez VPN?

Pwnozaur
źródło
Co to za połączenie VPN. W niektórych przypadkach cały ruch i tak zostanie wysłany przez połączenie VPN (gdy jest aktywny), więc opcja jest przestarzała (a zatem niedostępna). Przykład: Cisco VPN ... brak opcji. VPN (PPTP) ... dostępna opcja.
sdmeyers
@ sdmeyers nie bardzo wie, jaki rodzaj połączenia. Wszystko, co naprawdę widzę, to „Cicsco IPSec”. Gdzie mam sprawdzić typ ustawienia? Opierając się na moim (ograniczonym) zrozumieniu VPN, uważam, że mój ruch nie jest przez to przekierowywany. Serwer VPN znajduje się w Stanach Zjednoczonych, a kiedy szukam swojego obecnego adresu IP, widzę, że host znajduje się w kraju poza USA, w którym obecnie się znajduję.
Pwnosaurus
1
Google „Jakie jest moje IP”, aby zobaczyć twój publiczny adres IP przed i po połączeniu z VPN, tutaj powinno być inaczej. VPN nie zmieni twojego lokalnego adresu IP.
sdmeyers
Wygląda na to, że klient Cisco IPSec dla komputerów Mac zachowuje się dokładnie tak, jak tego wymaga - serwer VPN udostępnia listę chronionych tras, które są dołączane do systemowej tabeli routingu Mac. Mam jednak odwrotny problem ... Mam na swojej trasie 10.xxxx i 172.xxx netstat -rn, ale jakoś mam dostęp tylko do 10 - nie 172.
tishma

Odpowiedzi:

11

Chyba nie wszystkie połączenia VPN wbudowanego klienta VPN na Macu mają tę opcję.

PPTP i L2TP oferują opcję: Otwórz ustawienia sieci:

wprowadź opis zdjęcia tutaj

Wybierz połączenie VPN i kliknij przycisk zaawansowany.

Pojawi się nowe okno z trzema polami wyboru pod nagłówkiem „Opcje sesji”. Ostatnie z tych pól wyboru to: „przekieruj cały ruch przez VPN”.

Jednak, jak powiedziałeś. Przycisk zaawansowany nie wyświetla się w Cisco IPSec.

Znalazłem ten wątek ( /superuser/91191/how-to-force-split-tunnel-routing-on-mac-to-a-cisco-vpn ), który może być odpowiedzią na Twój problem (jeśli używasz go do trasowania całego zakresu ip):

Czy ktoś wie, jak zhakować tabelę routingu (na komputerze Mac), aby pokonać wymuszanie routingu VPN dla każdej rzeczy przez sieć VPN firmy Cisco? właściwie to, co chcę zrobić, to mieć tylko adresy 10.121. * i 10.122. * przez VPN i wszystko inne prosto do Internetu.

Poniższe działa dla mnie. Uruchom je po nawiązaniu połączenia z VPN Cisco. (Używam wbudowanego klienta Cisco OS X, a nie klienta marki Cisco).

sudo route -nv add -net 10 -interface utun0
sudo route change default 192.168.0.1

Zamień „10” w pierwszym poleceniu na sieć znajdującą się po drugiej stronie tunelu.

Zamień „192.168.0.1” na bramę sieci lokalnej.

Umieściłem go w skrypcie bash, takim jak ten:

$ cat vpn.sh 
#!/bin/bash

if [[ $EUID -ne 0 ]]; then
    echo "Run this as root"
    exit 1
fi

route -nv add -net 10 -interface utun0
route change default 192.168.0.1

Znalazłem również wyjaśnienie, w jaki sposób uruchomić to automatycznie po podłączeniu VPN, ale jest piątek późno i nie mam ochoty tego próbować :)

https://gist.github.com/675916

Edytować:

Od tego czasu porzuciłem pracę, w której korzystałem z Cisco VPN, więc pochodzi to z pamięci.

„10” w pierwszym poleceniu to sieć, którą chcesz trasować przez VPN. „10” to skrót od „10.0.0.0/8”. W przypadku Tuan Anh Tran wygląda na to, że sieć to „192.168.5.0/24”.

Jeśli chodzi o to, którą bramę określić w drugim poleceniu, powinna to być brama lokalna. Gdy logujesz się do sieci VPN, która zapobiega tunelowaniu dzielonemu, wymusza tę zasadę, zmieniając tabele routingu, tak aby wszystkie pakiety były kierowane przez interfejs wirtualny. Więc chcesz zmienić domyślną trasę z powrotem na to, co było przed wejściem do VPN.

Najłatwiejszym sposobem na znalezienie bramki jest uruchomienie komendy netstat -rn przed zalogowaniem się do sieci VPN i sprawdzenie adresu IP po prawej stronie „domyślnego” miejsca docelowego. Na przykład oto, jak teraz wygląda na moim pudełku:

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.0.1.1           UGSc           29        0     en1
10.0.1/24          link#5             UCS             3        0     en1
10.0.1.1           0:1e:52:xx:xx:xx   UHLWIi         55   520896     en1    481
10.0.1.51          7c:c5:37:xx:xx:xx   UHLWIi          0     1083     en1    350
10.0.1.52          127.0.0.1          UHS             0        0     lo0

Moja brama to 10.0.1.1 - znajduje się na prawo od „domyślnego” miejsca docelowego.

Vincent
źródło
Ta odpowiedź stanowi przeciwieństwo tego, o co pytano.
sdmeyers
-1

Serwery Cisco VPN zwykle wysyłają listę tras do sieci prywatnych, abyś nie wysyłał całego swojego ruchu przez serwer VPN. Aby rozwiązać ten problem, możesz wypróbować sugestie tutaj dotyczące migracji z CiscoVPN do natywnego systemu OS X IPSec VPN poprzez odszyfrowanie haseł zapisanych w plikach PCF CiscoVPN lub ręczne skonfigurowanie routingu.

Mam nadzieję, że to może pomóc.

Rose Ab
źródło