GNU/Linux >> Belajar Linux >  >> Linux

Koneksi Ssh Ditolak Dari Dalam Lan?

Saya menggunakan Fedora 19 dan saya memiliki masalah dengan ssh .

Ssh aktif dan berjalan dan saya dapat terhubung ketika saya memasukkan ip lan saya. Tetapi ketika saya mencoba nama server saya (blahblah.no-ip.org ) Saya mendapatkan koneksi ditolak. No-ip sudah berjalan sebagai layanan dan berfungsi dengan baik (mengirim ip yang benar).

Saya sudah mengatur penerusan port di router saya, saya juga mengubah port ssh baik pada layanan dan penerusan port router (jika ISP tercinta memutuskan untuk memblokir port tersebut). Tapi tetap saja saya mendapatkan koneksi yang ditolak dan ketika saya nmap nama host Saya melihat bahwa port ssh ditutup.

Satu hal:Saya memiliki dua PC di bawah ip eksternal yang sama (saya telah mengatur penerusan port ke ip internal yang benar). Ketika saya nmap blahblah.no-ip.org Saya mendapatkan Port 23 dan 80 terbuka. 80 tampaknya baik-baik saja tetapi saya belum pernah memulai layanan telnet di komputer saya.

Ada ide apa lagi yang harus dicoba? Router adalah zte zxv10 dan penerusan port telah diatur dengan benar. Saya mengatakan ini karena saya telah menyiapkan penerusan port untuk banjir dan berfungsi dengan baik.

Jawaban yang Diterima:

Tidak mungkin terhubung ke alamat IP publik yang diteruskan melalui port dari dalam LAN yang sama. Untuk menjelaskan ini, saya memerlukan sebuah contoh.

Misalkan IP pribadi router Anda adalah 192.168.1.1 dengan IP publik 10.1.1.1. Server Anda menggunakan 192.168.1.2 port 2222. Anda menyiapkan penerusan port dari 10.1.1.1:1111 ke 192.168.1.2:2222.

Jika seseorang di Internet (10.3.3.3) ingin berbicara dengan Anda, mereka membuat paket:

Source: 10.3.3.3 port 33333
Dest:   10.1.1.1 port 1111

Router Anda menerima paket pada 10.1.1.1 dan menulis ulang:

Source: 10.3.3.3 port 33333
Dest:   192.168.1.2 port 2222

Server Anda menerima paket itu dan mengirimkan balasan:

Source: 192.168.1.2 port 2222
Dest:   10.3.3.3 port 33333

Router Anda menerima paket itu pada 192.168.1.1 dan menulis ulang:

Source: 10.1.1.1 port 1111
Dest:   10.3.3.3 port 33333

Dan koneksi berfungsi, dan semua orang senang.

Sekarang misalkan Anda terhubung dari dalam LAN Anda (192.168.1.3). Anda menghasilkan sebuah paket:

Source: 192.168.1.3 port 33333
Dest:   10.1.1.1 port 1111

Router Anda menerima paket pada 10.1.1.1 dan menulis ulang:

Source: 192.168.1.3 port 33333
Dest:   192.168.1.2 port 2222

Server Anda menerima paket itu dan mengirimkan balasan:

Source: 192.168.1.2 port 2222
Dest:   192.168.1.3 port 33333

Di sinilah kami menemukan masalah. Karena IP tujuan ada di LAN Anda, server Anda tidak mengirim paket itu ke router untuk ditulis ulang. Sebaliknya, ia mengirimkannya langsung ke 192.168.1.3. Tetapi mesin itu tidak mengharapkan respons dari 192.168.1.2 port 2222. Mesin itu mengharapkan satu dari 10.1.1.1 port 1111. Jadi mesin itu menolak untuk mendengarkan paket "palsu" ini, dan semuanya tidak berfungsi.

Terkait:SSH 7.4 jeda berkepanjangan di "janji:jaringan"?

Cara saya menyiasatinya adalah dengan mengkonfigurasi router saya (yang juga menyediakan DNS untuk LAN saya) untuk mengembalikan alamat IP pribadi server saya ketika saya mencari nama host DDNS saya. Dengan begitu, ketika saya berada di jaringan rumah saya, saya terhubung langsung ke server dan melewatkan penerusan porta. (Solusi ini hanya berfungsi ketika penerusan port Anda tidak mengubah nomor port, hanya alamat IP. Dan Anda hanya dapat memiliki 1 server per nama host publik.)


Linux
  1. Ubah nomor port server SSH default

  2. Perbaiki ::Koneksi kesalahan SSH Linux ditolak

  3. Ubah Port SSH di CentOS dan Red Hat

  1. Ubah Port SSH di sistem operasi Linux Ubuntu

  2. Koneksi SSH Ditolak oleh TCP Wrapper

  3. Koneksi ditolak ke MongoDB errno 111

  1. Jalankan skrip shell dari perintah docker-compose, di dalam container

  2. SSH:terhubung ke port host localhost 22:Koneksi ditolak

  3. Haruskah saya mengubah port SSH default di server linux?