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.
v–update–firewall
Ö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