Vesta panel kurulu sunucunun dns çözümleyememesi sorunu ve çözümü

Sunucunuz herhangi bir ip yi pingleyebiliyor ama isim çözemiyor durumda ise , /etc/resolv.conf dosyanızda ki dns serverlar erişilebilir durumda ise , iptables kullanıyor iseniz muhtemelen resolv.conf dosyanızda yazan ip lere doğru 53 portunun gidişine izin vermeniz gerekecektir.

Vesta iptables kural dizisini aşağıdaki şekilde görebilirsiniz.

nano $VESTA/data/firewall/rules.conf

Kural değiştirdikten sonra update etmek için aşağıdaki komutu kullanabilirsiniz.

vupdatefirewall

Örneğin resolv.conf dosyanızda google ın 8.8.8.8 ve 8.8.4.4 dns leri var , bu durumda aşağıdaki komutlar çalıştırabilirsiniz.

/sbin/iptables A OUTPUT p udp d 8.8.8.8 dport 53 m state state NEW,ESTABLISHED j ACCEPT

/sbin/iptables A INPUT  p udp s 8.8.8.8 sport 53 m state state ESTABLISHED     j ACCEPT

/sbin/iptables A OUTPUT p tcp d 8.8.4.4 dport 53 m state state NEW,ESTABLISHED j ACCEPT

/sbin/iptables A INPUT  p tcp s 8.8.4.4 sport 53 m state state ESTABLISHED     j ACCEPT

Bunu her seferinde tek tek yapmamak için küçük bir bash script kullanabilirsiniz. Örneği aşağıdaki gibidir.

#!/bin/bash
Firewall="/sbin/iptables"
 
# Ayhan ARDA - http://www.ayhanarda.com
DNS_SUNUCU=$(cat /etc/resolv.conf  | grep -v '^#' | grep nameserver | awk '{print $2}')
 
for ip in $DNS_SUNUCU
do
        echo "(tcp, udp port 53) '$ip' adresleri için izinler veriliyor"
        $Firewall -A OUTPUT -p udp -d $ip --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
        $Firewall -A INPUT  -p udp -s $ip --sport 53 -m state --state ESTABLISHED     -j ACCEPT
        $Firewall -A OUTPUT -p tcp -d $ip --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
        $Firewall -A INPUT  -p tcp -s $ip --sport 53 -m state --state ESTABLISHED     -j ACCEPT
done

Ayhan ARDA

Share Button

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*
*