Jika Anda memecahkan masalah layanan yang Anda tahu berjalan normal, langkah selanjutnya adalah memastikan layanan tersebut mendengarkan di port jaringan yang benar.
netstat
perintah menunjukkan layanan yang mendengarkan port pada server Linux dan detail dari koneksi apa pun yang saat ini dibuat untuknya. Detail koneksi yang perlu dipertimbangkan selama pemecahan masalah daemon jaringan dasar adalah alamat yang didengarkan daemon (termasuk nomor port), pengidentifikasi proses daemon ( PID), dan nama program.
Anda perlu menjalankan netstat
di server yang menjalankan layanan.Netstat
tidak terpengaruh oleh konfigurasi firewall Anda.
Catatan: Anda juga dapat menggunakan lsof
dan ss
perintah untuk memeriksa port. Banyak dari flag perintah yang terdapat dalam artikel ini adalah sama ketika Anda menjalankan lsof
dan ss
perintah. Namun, output yang ditampilkan saat Anda menggunakan perintah ini mungkin tidak mirip dengan output netstat
alat. Untuk informasi lebih lanjut tentang kedua perintah, lihat lsof
dan ss
manual perintah.
Periksa port
Untuk membuat daftar port TCP yang sedang didengarkan, dan nama setiap daemon pendengar dan PID-nya, jalankan perintah berikut:
sudo netstat -plnt
Contoh berikut menunjukkan output untuk tiga program umum yang mendengarkan pada tiga soket yang berbeda.
$ sudo netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3686/mysqld
tcp 0 0 :::443 :::* LISTEN 2218/httpd
tcp 0 0 :::80 :::* LISTEN 2218/httpd
tcp 0 0 :::22 :::* LISTEN 1051/sshd
Filter daftar
Jika daftar daemon yang mendengarkan panjang, Anda dapat menggunakan grep
untuk memfilternya. Misalnya, untuk memfilter semuanya kecuali port server web default 80
, jalankan perintah berikut:
$ sudo netstat -plnt | grep ':80'
tcp 0 0 :::80 :::* LISTEN 8448/httpd
Analisis hasilnya
Hasil umum meliputi hasil berikut:
- Tidak ada yang mendengarkan di port. Periksa file konfigurasi layanan, lalu mulai ulang layanan.
- Layanan yang benar mendengarkan pada port yang benar. Dalam hal ini Anda perlu menguji layanan lebih teliti. Lewati ke artikel tentang menguji layanan mendengarkan untuk tanggapan menggunakannetcat.
- Sesuatu selain layanan yang diharapkan tampaknya mendengarkan di port.
Catatan :Server super, seperti xinetd, mungkin mendengarkan di port. Periksa konfigurasi xinetd Anda untuk memastikan bahwa perilaku ini dapat diterima.
Jika ada sesuatu yang mendengarkan di port, Anda dapat menonaktifkan program dengan menjalankan sudo service httpd stop
, atau ubah konfigurasinya sehingga tidak lagi mendengarkan port. Ketika netstat
menunjukkan port gratis, aktifkan layanan yang benar (misalnya sudo service vsftpd start
).
Jika Anda membuat perubahan karena layanan yang salah mendengarkan, jalankan netstat
perintah lagi. Jika netstat
tidak menunjukkan program mendengarkan pada port yang benar, Anda perlu mengatasi konfigurasinya sebelum melangkah lebih jauh.
Jika Anda membuat perubahan pada saat ini, pastikan untuk menguji penyiapan Anda untuk memverifikasi bahwa Anda telah menyelesaikan masalah Anda.
Jika menggunakan netstat
tidak menyelesaikan masalah port Anda, lanjutkan uji koneksi ke layanan dengan menggunakan perintah netcat.