Belirli bir ağ arayüzü ile ssh kullanın


37

openconnectVpn'ye bağlanmak için kullanıyorum . Kimlik bilgilerimi girdikten sonra şunu alıyorum:

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

Çalışan ifconfiggösterir tun0Belirli bir ip adresi ile yeni bir ağ arayüzü var.

Soru: Nasıl yaparım sshkullanımını sadece ağ arabirim tun0O özel ağ üzerindeki bilgisayarları erişebileceği şekilde?

Düzenle:

Ağ yapılandırmam ( route -n) şöyle görünüyor:

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

Ağ yapılandırmanızı ele alabilir misiniz? Doğru yönlendirme yapıldığında, tun0'a bağlı ağa yönlendirilen trafik bu arayüzü kullanacaktır.
Eli Heady,

Yanıtlar:


45

TCP paketlerinin hangi arabirimden geçmesi gerektiğine karar veren ssh istemcisi değil, çekirdek. Kısacası SSH, çekirdekten belirli bir IP adresine bağlantı açmasını ister ve çekirdek, yönlendirme tablolarına bakarak hangi arabirimin kullanılacağına karar verir.

(Aşağıdaki GNU / Linux'ta olduğunuzu varsayar; genel kavram tüm Unices için aynıdır, ancak çalıştırılacak komutların özellikleri ve çıktının formatlanma şekli değişebilir.)

Çekirdek yönlendirme tablolarını route -n ve / veya ip route show komutları ile görüntüleyebilirsiniz .

OpenConnect, tun0arayüz için bir satır eklemiş olmalıydı ; bu çizgiyle eşleşen herhangi bir adrese olan bağlantılar bu arayüz üzerinden yönlendirilecektir. Örneğin, route -ndizüstü bilgisayarımda çalışırken aşağıdaki çıktıyı alıyorum:

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

Bu, 192.168.122.0/24'teki (yani, CIDR notasyonuna göre 192.168.122.0 ila 192.168.122.255 adresleri) ana bilgisayarlara olan bağlantıların arayüz üzerinden yönlendirileceği anlamına gelir virbr0; 169.254.0.0/16 ve 10.30.0.0/24'e kadar olanlar geçecek eth0ve başka bir şey (0.0.0.0 satırı) eth0 aracılığıyla 10.30.0.1 ağ geçidi ana bilgisayarına yönlendirilecektir.


Bunu açıklığa kavuşturduğun için teşekkürler - bu arayüze openconnectbir çizgi eklememiş görünüyor tun0. Sanırım bunu manuel olarak yapmalıyım.
axel22

1
@ axel22 Buraya bir göz atabilirsiniz : bbs.archlinux.org/viewtopic.php?id=69064 openconnect kullanan ve rotaları ayarlayan bir komut dosyası için.
Riccardo Murri,

@RiccardoMurri misiniz cevap ister soruma
Rahul Gautam

6

Ne zaman piyasaya sürüldüğünü bilmiyorum ama RHEL7'deki OpenSSH istemcisi bu sayfada var:

 -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.

Arabirimi seçebilmek kadar iyi değil, ancak yakın.


Ayrıca -Bkullanılacak ağ arayüzünün adını belirlemeye izin veren bir bayrak.
Henrik

Seçenek bir -b bind_addressşekilde benim için işe yaramadı. Rotaları geçici olarak değiştirmek işe yaramalı. BTW: -BSeçenek, Ubuntu ile birlikte gelen SSH sürümünde mevcut değil.
John

2

Eğer (gibi birçok sistemlerde varsayılan yöneticisi) internet bağlantılarını yönetmek için Ağ Yöneticisi kullanıyorsanız, her iki yüklemek isteyebilirsiniz openconnectve network-manager-openconnect.

Ağ Yöneticisi için OpenConnect eklentisi yüklendikten sonra, Ağ Yöneticisi'ni açın ve +sol alt köşedeki simgeye tıklayın . Size VPN seçeneğinin ve ardından OpenConnect Uyumlu VPN'in seçilebildiği bir açılır kutu verilmelidir .

OpenConnect ile arayüz oluşturmak için Ağ Yöneticisi'ni kullanarak rotalarınız otomatik olarak görünecek ve VPN'e bağlanmanıza yardımcı olacaktır. Bu, özellikle FireHost'un yaptığı gibi VPN üzerinden sunuculara erişmek için kullanışlıdır .


1

Sadece bir cevabın eklenmesi. -bBayrak kullanabilir ve kaynak IP'nizi erişim zamanında tanımlayabilirsiniz.

Format + Örnek

ssh -b interface-ip remote-ip
ssh -b 10.11.22.40 10.11.22.38 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.