Biasanya ini berarti Anda telah meneruskan port ke alamat IP yang salah pada LAN.
Secara default, Ubuntu tidak memfilter upaya koneksi masuk dengan firewall. Jadi kecuali Anda telah mengubah pengaturan firewall di Ubuntu, upaya untuk membuka koneksi ke port TCP apa pun, 1 hingga 65535, akan:
Itu menyebabkan persis situasi yang Anda gambarkan. Jadi Anda kemungkinan besar dapat memperbaikinya dengan memastikan port sedang diteruskan ke alamat IP yang benar pada LAN.
... maka Anda harus melakukan beberapa pemecahan masalah.
Apakah port yang ditentukan untuk sisi LAN benar? Artinya, dengan asumsi Anda belum mengubah konfigurasi server SSH, apakah port 57757 di sisi WAN diatur untuk meneruskan ke port 22 di server OpenSSH? (Anda mungkin ingin memeriksa ulang ini.)
Mungkin ada beberapa masalah dengan port spesifik yang Anda pilih (57757). Coba yang lain dan lihat apakah itu bekerja lebih baik.
(Jika tidak, dan Anda melanjutkan dengan petunjuk ini, ubah kembali atau ganti "57757" di bawah dengan nomor baru.)
Coba mulai ulang server OpenSSH. Itu dapat membantu jika ada masalah jaringan. Jika itu tidak membantu, coba mulai ulang perute dan modem kabel / DSL / ISDN juga.
Jika karena alasan tertentu Anda tidak dapat me-restart ketiga perangkat, saya sarankan memulai kembali apa pun yang Anda bisa. Jika Anda tidak dapat memulai kembali layanan OpenSSH, setidaknya Anda dapat memulai kembali layanan dan (lebih mungkin untuk memperbaikinya) menurunkan antarmuka dan membawanya lagi.
Untuk me-restart server OpenSSH:
sudo restart ssh
Untuk menurunkan antarmuka jaringan, cari tahu dulu antarmuka apa yang ada di dalamnya:
ifconfig
Biasanya, untuk mesin dengan kartu Ethernet tunggal dan / atau kartu nirkabel tunggal, Ethernet adalah eth0
dan nirkabel wlan0
.
Jika koneksi Ethernet kabel adalah apa yang ingin Anda hilangkan dan mulai kembali, jalankan:
sudo ifdown eth0
Lalu lari:
sudo ifup eth0
Atau, Anda dapat menjalankan:
sudo ifconfig eth0 down
Diikuti oleh:
sudo ifconfig eth0 up
Jika mesin menggunakan NetworkManager untuk mengelola antarmuka yang menjalankan server OpenSSH, saya masih menyarankan mencoba cara-cara di atas, tetapi Anda juga dapat mencoba melepaskan dan menghubungkan kembali di NetworkManager.
Untuk koneksi Ethernet, coba juga mencabut kabel dan memasangnya kembali. Untuk koneksi nirkabel, coba matikan dengan sakelar perangkat keras (jika ada), dan nyalakan kembali.
Sesuatu yang aneh sedang terjadi di sini dan tidak ada yang membutuhkan waktu lama - ada baiknya untuk teliti sebelum melakukan langkah pemecahan masalah yang lebih melelahkan.
Bagaimana Anda mencoba mengaksesnya dari sisi WAN? Jika Anda menggunakan mesin pada LAN untuk melakukan ini (hanya menghubungkan dari LAN ke IP WAN router Anda), ini hanya didukung untuk beberapa router. Lagi pula, tugas router adalah untuk merutekan lalu lintas antara sisi WAN dan LAN, bukan untuk merutekan lalu lintas dari satu sisi ke sisi lain. Dukungan untuk menghubungkan ke port yang diteruskan pada IP WAN dari dalam LAN sebenarnya merupakan pengecualian daripada aturan, meskipun banyak router rumah / kantor memiliki fitur ini.
Jadi, jika Anda tidak menguji port forward dari host di sisi WAN, Anda harus melakukannya. Pilihan Anda untuk ini adalah:
Hubungkan diri Anda dari sisi WAN. Ini berfungsi jika Anda memiliki akses ke mesin di sana, misalnya, akses SSH ke mesin jarak jauh di sekolah, kantor, rumah teman, atau yang serupa.
Hubungkan mesin uji antara router dan apa pun menyediakan nya koneksi internet. Jika Anda memiliki modem kabel / DSL / ISDN dengan port Ethernet dan router Anda terhubung ke sana, Anda dapat menghubungkan switch ke modem dan menghubungkan router ke switch. Sambungkan komputer ke sakelar. Pertama-tama lihat apakah mesin itu hanya mendapatkan akses Internet - hari ini, banyak ISP menyediakan dua atau lebih alamat IP yang terpisah. Jika tidak , buka halaman pengaturan router Anda dan periksa WAN IP dan subnet mask WAN-nya , lalu berikan alamat IP secara statis ke mesin yang terhubung dengan switch yang berada dalam subnet yang sama.
Metode ini memiliki beberapa kelemahan. Ini menyakitkan! Juga, secara teoritis dimungkinkan bagi ISP untuk mengkonfigurasi jaringan mereka secara tidak benar sehingga mesin uji yang terhubung ke sakelar dapat mengakses Internet. (Kecuali jika ISP Anda bermaksud untuk menghubungkan Anda dengan lebih dari satu IP WAN danAnda kebetulan telah memilih IP WAN untuk mesin uji yang ditugaskan ISP Anda kepada Anda, lalu lintas di antara itu dan host WAN yang benar harus diblokir / dijatuhkan oleh ISP. Tetapi beberapa ISP memiliki praktik aneh, jadi siapa yang tahu?) Jika ini terjadi, kemungkinan tidak akan menimbulkan masalah serius bagi siapa pun (dan bahkan jika itu terjadi, Anda hanya perlu menghubungkannya hingga beberapa menit). Namun, ini dapat berpotensi dilihat sebagai upaya untuk mendapatkan akses tambahan di luar batas langganan Anda, dan - yang lebih penting - jika pengguna lain memiliki IP yang sama, itu dapat mengganggu koneksi mereka. Karena itu, jika Anda ingin mencoba metode ini, jangan mencoba mengakses Internet dari mesin uji, segera hentikan jika Anda menemukan mesin uji dapat mengakses Internet, dan jangan coba-coba ini sama sekali jika dilarang atau disarankan oleh ISP Anda. (Dan jangan gunakan ini jika sisi WAN dari router Anda adalah LAN kantor, tanpa berkonsultasi terlebih dahulu dengan administrator jaringan Anda. Itu bukan ISP dan tidak ada asumsi bahwa sumber daya disediakan untuk mencegah akses yang tidak diinginkan.)
Ada variasi pada teknik ini yang terkadang lebih tepat. Router Anda mungkin mendapatkan informasinya koneksi - alamat IP, subnet mask, alamat IP dari gateway (router) pada WAN yang itu menggunakan ketika tidak tahu di mana untuk mengirim sesuatu, dan informasi tentang server DNS - dari Anda ISP, melalui DHCP, melalui modem kabel / DSL / ISDN. Inilah sebabnya mengapa Anda harus menyambungkan router ke modem untuk memberikan konfigurasi yang diperlukan agar hasil pengujian sisi-WAN bermakna. Tetapi router biasanya akan mengingat informasi ini, asalkan sebenarnya terhubung ke jaringan di sisi WAN. Jadi Anda dapat menghubungkan router, modem, dan mesin uji, tetapi kemudian, dengan cepat, dansebelum melakukan sesuatu dengan mesin uji selain memastikan saklar melihatnya terhubung , lepaskan modem.
Gunakan layanan gratis di Internet untuk menguji port Anda. Karena memasukkan mesin uji antara antarmuka WAN router Anda dan Internet (di atas) sangat terlibat - dan karena itu akan menunjukkan port sebagai dapat diakses meskipun itu tidak dapat diakses karena diblokir oleh ISP Anda (yang juga berlaku untuk menghubungkan ke IP WAN router dari sisi LAN) - biasanya lebih baik menggunakan layanan pemindaian port berbasis web.
Ada banyak layanan pemindaian porta. (Beberapa olahraga menggunakan frase "periksa firewall Anda" dengan gagasan bahwa kebanyakan orang mencoba memblokir daripada memfasilitasi akses.) Ini adalah satu. Jika Anda memilih untuk menggunakan yang itu, klik Lanjutkan , ketik 57757 ke dalam kotak teks, dan klik Use Probe Port Khusus yang Ditentukan . Untuk keperluan menjalankan server, Anda ingin "terbuka". "Ditutup" berarti porta dapat diakses tetapi server tidak berjalan (dan karenanya upaya koneksi ditolak). "Stealth" berarti port tidak dapat diakses - seolah-olah tidak ada mesin yang ditemukan di sana (atau seolah-olah port diteruskan ketika tidak ada mesin).
OK, jadi Anda telah menentukan bahwa itu sebenarnya tidak dapat diakses dari Internet. Secara potensial Anda dapat memindai (idealnya dari sisi WAN) untuk mendapatkan detail, meskipun seringkali ini tidak memberikan informasi yang bermanfaat.
Jika Anda ingin melakukan ini, maka di sisi WAN, Anda dapat menjalankan:
sudo nmap -sS -sV -p57757 -vv WAN-IP
Jika port ditampilkan sebagai difilter, itu mengkonfirmasikan bahwa paket yang dikirim ke sana mungkin tidak ke mana-mana (atau diblokir / dijatuhkan di sepanjang jalan).
Ada baiknya memeriksa untuk melihat apakah masalah yang timbul dari port terkena WAN menjadi berbeda dari port server yang sebenarnya mendengarkan. Meneruskan port 55757 pada WAN ke port 22 pada mesin LAN harus membuat semuanya berjalan dengan baik, tapi mungkin di suatu tempat (server, klien) ada yang berasumsi nomor port sama dari perspektif server dan klien.
Agaknya Anda tidak dapat meneruskan port 22 melalui router. Mungkin ISP Anda memblokir port itu. Tetapi jika Anda bisa melakukannya, lakukan itu!
Jika tidak, Anda dapat membuat server OpenSSH benar-benar mendengarkan pada port 57757.
Untuk melakukan ini, buat cadangan file konfigurasi server:
cd /etc/ssh
sudo cp sshd_config sshd_config.old
Kemudian edit:
gksu gedit sshd_config
Atau gunakan editor teks konsol jika mesin tidak memiliki GUI:
sudo nano -w sshd_config
Di dekat bagian atas file, blok teks ini muncul:
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
Ubah saja Port 22
baris di atas, untuk mengatakan Port 57757
sebaliknya.
Anda bisa menambahkan port daripada mengubahnya. Saya merekomendasikan pengujian dengan konfigurasi efektif yang paling sederhana.
Lihat man sshd_config
untuk detail lebih lanjut tentang mengkonfigurasi server OpenSSH.
Simpan file, keluar dari editor teks, dan mulai ulang server SSH dengan:
sudo restart ssh
Sekarang ubah port forward pada router jadi port 57757 ke depan ke port 57757 (bukan 22) pada server OpenSSH, dan lihat apakah itu dapat diakses dari Internet.
Jika masih tidak berfungsi, lihat apakah mungkin firewall Ubuntu sebenarnya memblokir lalu lintas yang berasal dari luar LAN.
(Ini tidak mungkin jika Anda sendiri tidak mengonfigurasinya dengan cara ini, tetapi jika semua pengaturan Anda benar dan tidak ada langkah-langkah di atas yang mengungkapkan sesuatu tentang masalah tersebut, ada baiknya Anda memeriksa.)
Lari:
sudo iptables -L
Secara default, di Ubuntu, hasilnya terlihat seperti:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Ini adalah kebijakan permisif sederhana, yang pada dasarnya setara dengan tidak menjalankan firewall. (Memang, jika modul firewall netfilter tidak dikompilasi ke dalam kernel Anda, sistem Anda akan berperilaku dengan cara yang sama seperti pengaturan di atas, meskipun iptables
perintah, yang menanyakan netfilter
pengaturan, tidak akan bekerja tentu saja.)
Jika konfigurasi Anda tidak terlihat seperti itu, baca man iptables
untuk mengetahui apa yang mereka lakukan, dan / atau edit pertanyaan Anda (atau, jika Anda orang yang berbeda dengan masalah yang sama membaca ini, posting pertanyaan baru) untuk menyertakan mereka. Harap perhatikan bahwa, berpotensi, iptables
aturan Anda dapat mengungkapkan informasi sensitif tentang konfigurasi Anda. Secara praktis, ini biasanya tidak terjadi - dengan kemungkinan pengecualian aturan tentang host tertentu yang diblokir, atau jika konfigurasi Anda sangat buruk / tidak aman - biasanya kegunaan informasi ini untuk penyerang, terutama untuk mesin di LAN rumah / kantor di belakang router NAT , minimal.