it-swarm-id.com

Gunakan ssh dengan antarmuka jaringan tertentu

Saya menggunakan openconnect untuk 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 ifconfig menunjukkan saya memiliki antarmuka jaringan baru tun0 dengan alamat ip tertentu.

Pertanyaan: Bagaimana cara saya membuat ssh hanya menggunakan antarmuka jaringan tun0 agar saya dapat mengakses komputer di jaringan pribadi itu?

Edit:

Konfigurasi jaringan saya (route -n) sepertinya 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
39
axel22

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 baris untuk antarmuka tun0; koneksi ke alamat apa pun yang cocok dengan jalur itu akan dialihkan melalui antarmuka itu. Misalnya, menjalankan route -n Di 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 koneksi ke host di 192.168.122.0/24 (mis., Alamat 192.168.122.0 hingga 192.168.122.255 menurut 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 yang lainnya (baris 0.0.0.0) akan dialihkan melalui eth0 ke Host gateway 10.30 .0.1.

46
Riccardo Murri

Saya tidak tahu kapan itu diperkenalkan tetapi klien OpenSSH di RHEL7 memiliki ini di halaman 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.

11
ugob

Jika Anda menggunakan Network Manager untuk mengelola koneksi internet Anda (seperti manajer default pada banyak sistem), Anda mungkin ingin menginstal keduanya openconnect dan 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 secara otomatis akan muncul dan membantu Anda terhubung ke VPN. Ini sangat membantu untuk mengakses server melalui VPN, seperti bagaimana FireHost melakukan sesuatu.

2
earthmeLon

Hanya penambahan Jawaban. Kamu bisa menggunakan -b menandai dan menetapkan IP sumber Anda pada waktu akses.

Format + Contoh

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