GrabDuck

VestaCP - как открыть доступ к внешним ДНС запросам — Wiki - Iphoster - 'the best ...

:

Доступная цена

VestaCP - как открыть доступ к внешним ДНС запросам

Сразу после установки панели VestaCP можно столкнуться с тем что нет пингуются любые домены или не работат команда пинг. Проблема заключается в том что iptables блокирует доступ к внешним ДНС серверам.


Для решения это проблемы создаем скрипт:

# vi /usr/local/vesta/data/firewall/custom.sh
#!/bin/bash
IPT="/sbin/iptables"
# Your DNS servers you use: cat /etc/resolv.conf
DNS_SERVER=$(cat /etc/resolv.conf  | grep -v '^#' | grep nameserver | awk '{print $2}')
for ip in $DNS_SERVER
do
       echo "Allowing DNS lookups (tcp, udp port 53) to server '$ip'"
       $IPT -A OUTPUT -p udp -d $ip --dport 53 -j ACCEPT
       $IPT -A INPUT  -p udp -s $ip --sport 53 -j ACCEPT
       $IPT -A OUTPUT -p tcp -d $ip --dport 53 -j ACCEPT
       $IPT -A INPUT  -p tcp -s $ip --sport 53 -j ACCEPT
done

Он в свою очередь подгружается скриптом /usr/local/vesta/bin/v-update-firewall

# Checking custom trigger
if [ -x "$VESTA/data/firewall/custom.sh" ]; then
   bash $VESTA/data/firewall/custom.sh
fi

Обязательно ставим флаг на выполнение:

# chmod a+x /usr/local/vesta/data/firewall/custom.sh

Проверяем наш /etc/resolv.conf:

nameserver 8.8.8.8


Также добавляем этот скрипт в автозапуск через /etc/rc.local:

sleep 5;
sh /usr/local/vesta/bin/v-update-firewall


Проверяем правила iptables:

Chain INPUT (policy DROP 78 packets, 24254 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     all  --  *      *       94.23.162.51         0.0.0.0/0
2       60  5460 ACCEPT     all  --  *      *       127.0.0.1            0.0.0.0/0
3      213 21543 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22
4        1    60 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 80,443
5        6   280 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 21,12000:12100
6       85  5125 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53
7        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53
8        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 25,465,587,2525
9        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 110,995
10       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 143,993
11       2    80 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 3306,5432
12    1920  356K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:1488
13     505 16160 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
14      16  2023 ACCEPT     udp  --  *      *       8.8.8.8              0.0.0.0/0           udp spt:53
15       0     0 ACCEPT     tcp  --  *      *       8.8.8.8              0.0.0.0/0           tcp spt:53


Сам скрипт можно скачать вот тут: custom.sh