Tunneling traffic ketika port lokal acak

0

Saya memiliki aplikasi yang membuka koneksi pada port lokal acak ke port yang dikenal pada server jarak jauh yang menolak koneksi dari alamat IP saya. Apakah ada cara untuk menggunakan port-forwarding like tool untuk meneruskan semua koneksi keluar yang diarahkan ke ip:portterowongan SSH?

Max Allan
sumber
1
port lokal yang acak sama sekali tidak relevan. sama sekali tidak relevan. dan port forwarding sama sekali tidak relevan. pertanyaan Anda adalah tentang ssh dengan proxy .. Saya belum melakukannya tetapi ada beberapa cara. Anda akan membutuhkan komputer antara Anda dan server ssh, yang memungkinkan server ssh. Selain itu, istilah yang mungkin Anda inginkan adalah 'tcp port remapper .. ada program yang juga melakukannya.
barlop
Anda hampir selalu mendapatkan porta lokal acak ke porta yang dikenal di server. Saya pikir DHCP tampaknya menggunakan port lokal yang dikenal (68) tetapi hampir semuanya menggunakan port lokal acak
barlop
sedikit amandemen komentar pertama saya, port forwarding adalah istilah yang tepat..di ssh itu menyebutnya, itu sama dengan tcp port remapping yang sedang Anda bicarakan.
barlop

Jawaban:

1

port lokal yang acak sama sekali tidak relevan. sama sekali tidak relevan. dan port forwarding mungkin bukan istilah yang tepat untuk apa yang Anda inginkan. pertanyaan Anda adalah tentang ssh dengan proxy .. Saya belum melakukannya tetapi ada beberapa cara. Anda akan membutuhkan komputer antara Anda dan server ssh, yang memungkinkan server ssh. Selain itu, istilah yang mungkin Anda inginkan adalah 'tcp port remapper .. ada juga program yang melakukannya. Saya akan menyebutkan beberapa tetapi kebanyakan orang akan menggunakan ssh untuk itu.

jika berbicara tentang alat yang terpisah dari ssh

program ini dapat melakukan pemetaan ulang port tcp yang Anda cari

port mapper pm.exe http://www.kmint21.com/free/

atau nc, coba dari cygwin (bukan di gnuwin32) nc -l 1234 | nc 4.5.6.7 22 <- dengarkan di port 1234, teruskan ke ip 4.5.6.7 port 22

atau dengan netsh sebagainya pada perusahaan proxy Anda

C:\Windows\system32>netsh interface portproxy add v4tov4 listenport=4321 connect
address=10.0.0.50 connectport=47

see it is listening, and will forward to 10.0.0.50:47
C:\Windows\system32>netstat -aon | find "4321"
  TCP    0.0.0.0:4321           0.0.0.0:0              LISTENING       844

Tetapi Anda dapat menggunakan ssh untuk itu, ini sangat dirancang untuk itu.

ssh sendiri dapat melakukan pemetaan ulang port tcp .. (ssh mungkin menyebut penerusan port itu)

Anda menjalankan server ssh di komputer dengan IP yang OK dengan server non-ssh Anda.

maka Anda menggunakan ssh -L di komputer itu. yang membutuhkan antara parameter lain, apa yang bisa dipikirkan sebagai 2 parameter, IP untuk didengarkan, dan IP: PORT untuk diteruskan.

Jadi, Anda memiliki compA, CompB, CompC

CompB dan CompC saya kira tidak akan menjadi comp yang sama dalam kasus Anda.

compC menjalankan server non-ssh Anda. compB menjalankan ssh server.

IP CompA tidak diizinkan oleh CompC, tetapi diizinkan oleh CompB.

CompC mengizinkan IP CompB.

Jadi CompA dan CompC berkomunikasi melalui CompB.

Jadi dari CompA Anda terhubung ke CompB dan sebelum itu, Anda menjalankan compB port remapping .. yang ssh bisa dilakukan. ssh -L ... banyak contoh ssh -L online yang dapat Anda masukkan secara spesifik dalam kasus Anda, IP server ssh Anda, port yang akan didengarkan Compa untuk tersambung. dan IP: PORT server non-ssh Anda. Semuanya masuk ke perintah ssh -L yang Anda jalankan di CompB. ssh -L membuat fasilitas port forwarding dimana comp dengan ssh.exe mendengarkan (untuk klien non-ssh Anda) dan comp dengan sshd.exe ke depan (ke server non-ssh biasanya).

Kemudian Anda menghubungkan klien non-ssh Anda dari CompA ke CompB. dan itu akan diteruskan ke CompC melalui koneksi ssh yang Anda buat.

barlop
sumber
Terima kasih atas jawaban anda. Server yang saya ingin hubungkan bukan server SSH, tetapi saya dapat mengaksesnya melalui koneksi SSH. Saya bingung bagaimana saya bisa memetakan ulang port TCP dari mesin lokal saya jika dipilih secara acak (maksud saya, saya tidak punya cara untuk mengetahui terlebih dahulu port mana yang akan dipilih).
Max Allan
jika Anda mengakses server melalui ssh, maka bahkan jika server yang Anda akses bukan server ssh (dan biasanya bukan server ssh), Anda masih tersambung ke server ssh untuk mengaksesnya. ada dua bagian untuk koneksi a) membuat koneksi ssh b) membuat koneksi yang melewati koneksi ssh.
barlop
@ Max Saya mungkin sudah tahu apa yang membingungkan Anda. Anda berpikir atau berpikir bahwa Anda harus terhubung ke port lokal di Comp Blah di mana Anda menjalankan ssh.exe dari dan port itu acak, tetapi Anda tidak. Anda menjalankan ssh -L dari comp blah, dan itu akan membuat port lokal acak tetapi juga akan membuat port lain (sebut saja port xyz) yang mendengarkan, dan Anda menentukan port xyz ketika Anda melakukan ssh -L. Kemudian Anda menghubungkan compA ke port xyz pada CompB
barlop