it-swarm-eu.dev

Použijte ssh s konkrétním síťovým rozhraním

K připojení k vpn používám openconnect. Po zadání mého pověření dostanu toto:

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

Spuštění ifconfig ukazuje, že mám nové síťové rozhraní tun0 s určitou IP adresou.

Otázka: Jak mohu ssh použít pouze síťové rozhraní tun0, abych mohl přistupovat k počítačům v této soukromé síti?

pravit:

Moje konfigurace sítě (route -n) se zdá být toto:

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
39
axel22

Není to ssh klient, který rozhoduje, přes které rozhraní TCP pakety by měly jít, je to jádro. Stručně řečeno, SSH požádá jádro, aby otevřelo připojení k určité IP adrese a jádro rozhodne, které Rozhraní se používá při prohlížení směrovacích tabulek.

(Následující předpokládá, že jste na GNU/Linuxu; obecný koncept je stejný pro všechny Unices, ale specifika příkazů, které se mají spustit, a způsob, jakým je výstup formátován, se mohou lišit.)

Směrovací tabulky jádra můžete zobrazit pomocí příkazů route -n a/nebo ip route show .

OpenConnect měl přidat řádek pro tun0 rozhraní; připojení k jakékoli adrese odpovídající dané lince budou směrovány přes toto rozhraní. Například spuštění route -n na svém notebooku získám následující výstup:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.30.0.1       0.0.0.0         UG    0      0        0 eth0
10.30.0.0       0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

To znamená, že připojení k hostitelům v síti 192.168.122.0/24 (tj. Adresy 192.168.122.0 až 192.168.122.255 podle notace CIDR ) bude směrováno přes rozhraní virbr0; ty k 169.254.0.0/16 a 10.30.0.0/24 projdou eth0, a cokoli jiného (řádek 0.0.0.0) bude směrováno přes eth0 k Hostitel brány 10.30.0.1.

46
Riccardo Murri

Nevím, kdy byl představen, ale klient OpenSSH na RHEL7 má toto na své stránce:

 -b bind_address
         Use bind_address on the local machine as the source address of the connection.  Only useful on systems with more than one address.

Ne tak dobré, jak si vybrat rozhraní, ale blízko.

11
ugob

Pokud používáte ke správě připojení k internetu Správce sítě (jako je výchozí správce v mnoha systémech), možná budete chtít nainstalovat openconnect i network-manager-openconnect.

Jakmile je plugin OpenConnect nainstalován pro Network Manager, otevřete Network Manager a klikněte na + ikona vlevo dole. Měli byste dostat rozbalovací seznam s možností [~ # ~] vpn [~ # ~] a poté možnost vybrat - OpenConnect Compatible VPN.

Pomocí rozhraní Network Manager k rozhraní s OpenConnect se vaše trasy automaticky objeví a pomohou vám připojit se k VPN. To je zvláště užitečné pro přístup k serverům přes VPN, například jak FireHost dělá věci.

2
earthmeLon

Jen doplnění odpovědi. Můžeš použít -b označte a definujte svou zdrojovou IP v době přístupu.

Formát + příklad

ssh -b interface-ip remote-ip
ssh -b 10.11.22.40 10.11.22.38 
2
Shafiq