Używam openconnect
do połączenia z VPN. Po wprowadzeniu moich danych uwierzytelniających otrzymuję:
POST https://domain.name/...
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 30
Connected tun0 as xxx.xxx.xxx.xxx, using SSL
Established DTLS connection
Uruchamianie ifconfig
programów Mam nowy interfejs sieciowy tun0
z pewnym adresem IP.
Pytanie: Jak ssh
korzystać z interfejsu sieciowego, tun0
aby uzyskać dostęp do komputerów w tej sieci prywatnej?
Edytować:
Moja konfiguracja sieci ( route -n
) wydaje się następująca:
172.16.194.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.16.25.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
Odpowiedzi:
To nie klient ssh decyduje przez który interfejs powinien przejść pakiet TCP, to jądro. Krótko mówiąc, SSH prosi jądro o otwarcie połączenia z określonym adresem IP, a jądro decyduje, którego interfejsu należy użyć, sprawdzając tabele routingu.
(Poniżej założono, że korzystasz z GNU / Linuksa; ogólna koncepcja jest taka sama dla wszystkich Uniksów, ale specyfika poleceń do uruchomienia i sposób formatowania danych wyjściowych mogą się różnić).
Możesz wyświetlić tabele routingu jądra za pomocą poleceń route -n i / lub ip route show .
OpenConnect powinien był dodać linię do
tun0
interfejsu; połączenia z dowolnym adresem pasującym do tej linii będą kierowane przez ten interfejs. Na przykładroute -n
na moim laptopie otrzymuję następujące dane wyjściowe:Oznacza to, że połączenia z hostami w sieci 192.168.122.0/24 (tj. Adresy 192.168.122.0 do 192.168.122.255 zgodnie z zapisem CIDR ) będą kierowane przez interfejs
virbr0
; przejdą one do 169.254.0.0/16 i 10.30.0.0/24eth0
, a wszystko inne (linia 0.0.0.0) zostanie przekierowane przez eth0 do hosta bramy 10.30.0.1.źródło
openconnect
nie dodałem linii dotun0
interfejsu. Chyba powinienem to zrobić ręcznie.Nie wiem, kiedy został wprowadzony, ale klient OpenSSH na RHEL7 ma to na swojej stronie podręcznika:
Nie tak dobry, jak możliwość wyboru interfejsu, ale blisko.
źródło
-B
flaga, która wydaje się pozwalać na określenie nazwy używanego interfejsu sieciowego.-b bind_address
jakoś mi nie działała. Tymczasowa zmiana tras powinna działać. BTW:-B
Opcja nie istnieje w wersji SSH dostarczanej z Ubuntu.Jeśli używasz Network Managera do zarządzania połączeniami internetowymi (tak jak domyślny menedżer w wielu systemach), możesz chcieć zainstalować oba
openconnect
inetwork-manager-openconnect
.Po zainstalowaniu wtyczki OpenConnect dla Network Managera otwórz Network Managera i kliknij +ikonę w lewym dolnym rogu. Powinieneś otrzymać pole kombi z opcją VPN, a następnie możliwość wyboru VPN zgodnego z OpenConnect .
Używając Network Managera do połączenia z OpenConnect, Twoje trasy pojawią się automatycznie i pomogą ci połączyć się z VPN. Jest to szczególnie pomocne przy uzyskiwaniu dostępu do serwerów przez VPN, na przykład w jaki sposób FireHost działa.
źródło
Tylko dodanie odpowiedzi. Możesz użyć
-b
flagi i zdefiniować źródłowy adres IP w czasie dostępu.Format + Przykład
źródło