Gunakan ssh dengan antarmuka jaringan tertentu

38

Saya menggunakan openconnectuntuk terhubung ke vpn. Setelah memasukkan kredensial saya, saya mendapatkan ini:

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

Menjalankan ifconfigmenunjukkan Saya memiliki antarmuka jaringan baru tun0dengan alamat ip tertentu.

Pertanyaan: Bagaimana cara saya sshhanya menggunakan antarmuka jaringan tun0sehingga saya dapat mengakses komputer di jaringan pribadi itu?

Edit:

Konfigurasi jaringan saya ( route -n) tampaknya seperti ini:

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
axel22
sumber
Bisakah Anda menguraikan konfigurasi jaringan Anda? Dengan perutean yang tepat, semua lalu lintas yang ditujukan untuk jaringan yang terpasang ke tun0 akan menggunakan antarmuka itu.
Eli Heady

Jawaban:

45

Bukan klien ssh yang memutuskan melalui mana paket TCP antarmuka harus pergi, itu adalah kernel. Singkatnya, SSH meminta kernel untuk membuka koneksi ke alamat IP tertentu, dan kernel memutuskan antarmuka mana yang akan digunakan dengan berkonsultasi dengan tabel routing.

(Berikut ini mengasumsikan Anda berada di GNU / Linux; konsep umum adalah sama untuk semua Unices, tetapi spesifik dari perintah untuk menjalankan dan cara output diformat dapat bervariasi.)

Anda dapat menampilkan tabel routing kernel dengan perintah route -n dan / atau ip route show .

OpenConnect seharusnya menambahkan garis untuk tun0antarmuka; koneksi ke alamat yang cocok dengan garis itu akan dialihkan melalui antarmuka itu. Misalnya, berjalan route -ndi laptop saya, saya mendapatkan output berikut:

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

Ini berarti bahwa koneksi ke host di 192.168.122.0/24 (yaitu, alamat 192.168.122.0 hingga 192.168.122.255 sesuai dengan notasi CIDR ) jaringan akan dialihkan melalui antarmuka virbr0; yang ke 169.254.0.0/16 dan 10.30.0.0/24 akan melalui eth0, dan apa pun (garis 0.0.0.0) akan dialihkan melalui eth0 ke host gateway 10.30.0.1.

Riccardo Murri
sumber
Terima kasih telah menjelaskan ini untuk saya - sepertinya openconnecttidak menambahkan garis untuk tun0antarmuka. Saya kira saya harus melakukan ini secara manual.
axel22
1
@ axel22 Anda mungkin melihat di sini: bbs.archlinux.org/viewtopic.php?id=69064 untuk skrip yang menggunakan openconnect dan mengatur rute.
Riccardo Murri
@RiccardoMurri Apakah Anda ingin menjawab pertanyaan saya
Rahul Gautam
7

Saya tidak tahu kapan diperkenalkan tetapi klien OpenSSH di RHEL7 memiliki ini di manualnya:

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

Tidak sebagus bisa memilih antarmuka, tetapi tutup.

ugob
sumber
Juga -Bbendera, yang tampaknya memungkinkan untuk menentukan nama antarmuka jaringan untuk digunakan.
Henrik
Pilihannya -b bind_addresstidak bekerja untuk saya, entah bagaimana. Mengubah rute sementara harus bekerja. BTW: -BOpsi ini tidak ada pada versi SSH yang datang dengan Ubuntu.
Yohanes
2

Jika Anda menggunakan Network Manager untuk mengelola koneksi internet Anda (seperti manajer default pada banyak sistem), Anda mungkin ingin menginstal keduanya openconnectdan network-manager-openconnect.

Setelah plugin OpenConnect diinstal untuk Network Manager, buka Network Manager dan klik +ikon di kiri bawah. Anda harus diberi kotak kombo dengan opsi VPN dan kemudian kemampuan untuk memilih OpenConnect VPN yang Kompatibel .

Dengan menggunakan Network Manager untuk berinteraksi dengan OpenConnect, rute Anda akan muncul secara otomatis dan membantu Anda terhubung ke VPN. Ini sangat membantu untuk mengakses server melalui VPN, seperti bagaimana FireHost melakukan sesuatu.

earthmeLon
sumber
1

Hanya penambahan Jawaban. Anda dapat menggunakan -bflag dan menentukan IP sumber Anda pada waktu akses.

Format + Contoh

ssh -b interface-ip remote-ip
ssh -b 10.11.22.40 10.11.22.38 
Syafiq
sumber