Saya mengalami masalah membuka port 53 pada mesin centos saya, untuk konfigurasi DNS.
Ini konfigurasi iptables saya
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
Ketika saya menjalankan pemindaian nmap dari mesin, hanya port 80 yang tampak terbuka di atasnya. Apakah saya kehilangan sesuatu?
EDIT:
Iptable penuh
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p udp -m state --state NEW,ESTABLISHED -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT -reject-with icmp-host-prohibited
-A FORWARD -j REJECT -reject-with icmp-host-prohibited
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
COMMIT
nmap
baris perintah yang Anda gunakan?iptables --list
akan berguna untuk melihat. Anda juga ingin menonaktifkan firewall disystem-config-firewall-tui
(atau di gui Anda), sehingga Anda dapat mengaturnya secara manual dengan perintah iptables, jika tidak, firewall akan menulis ulang iptables Anda jika Anda menggunakannya. Kiat bonus, dalam centos (setidaknya) yang dapat Anda lakukanservice iptables save
ketika selesai, sehingga perubahan tetap untuk reboot berikutnya.nmap -sU -p 53 $host
Jawaban:
Semantik Anda terbalik.
Aturan yang Anda posting mengizinkan koneksi DNS keluar ke server DNS jauh, bukan koneksi masuk ke server DNS lokal.
Untuk mengizinkan koneksi ke server DNS lokal Anda, balikkan aturan INPUT dan OUTPUT:
(Dan tolong luangkan beberapa menit di beberapa titik untuk merevisi firewall Anda menjadi stateful.)
sumber
Gunakan
-I
sebagai ganti-A
.Karena Anda memiliki server DNS yang mendengarkan maka itu akan mendengarkan pada port 53 sehingga aturan input seharusnya
sumber
Apakah Anda yakin server DNS aktif berjalan? Bahkan jika Anda memiliki port terbuka, layanan harus aktif. Anda dapat memverifikasi apa yang sedang mendengarkan secara lokal dengan menjalankan perintah netstat. Juga, sudahkah Anda mencoba untuk benar-benar mematikan firewall sejenak hanya untuk melihat apa yang muncul?
sumber