UFW блокирует DNS

10

Я настраиваю безопасность на моем сервере. Для облегчения управления на брандмауэре я установил UFW. Я сделал некоторые настройки в UFW и разрешил некоторые порты. Поэтому, когда я включил его, службы DNS не отвечали.

Я попытался запустить команду DIG www.domain.com.brдля проверки DNS, но она не удалась. Эта команда запускается без проблем, когда UFW отключен. Я уже разрешил порт 53 (TCP и UDP), но DNS не работает.

Мои настройки UFW:

Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
21/tcp                     ALLOW IN    Anywhere
16/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere
80                         ALLOW IN    Anywhere
53                         ALLOW IN    Anywhere
465                        ALLOW IN    Anywhere
25/tcp                     ALLOW IN    Anywhere
22                         ALLOW IN    Anywhere
21/tcp (v6)                ALLOW IN    Anywhere (v6)
16/tcp (v6)                ALLOW IN    Anywhere (v6)
443/tcp (v6)               ALLOW IN    Anywhere (v6)
80 (v6)                    ALLOW IN    Anywhere (v6)
53 (v6)                    ALLOW IN    Anywhere (v6)
465 (v6)                   ALLOW IN    Anywhere (v6)
25/tcp (v6)                ALLOW IN    Anywhere (v6)
22 (v6)                    ALLOW IN    Anywhere (v6)
diegoklapper
источник
Опубликовать вывод ufw status verbose...
jasonwryan
Вот вывод pastebin.com/31Asbqwb
diegoklapper
Я попробовал, но это не сработало.
diegoklapper

Ответы:

13

Полный правильный синтаксис должен быть

sudo ufw allow out to any port 53
Неша Зорич
источник
11

Я решил эту проблему. Я разрешил исходящий для порта 53, который является портом службы DNS. Спасибо.

sudo ufw allow out 53
diegoklapper
источник
4

Во-первых, ufw allow dnsпозволяет вводить DNS-запросы, а это не то, что вам нужно.

Во-вторых, вы можете следовать всем командам, упомянутым в других ответах (проще всего ufw allow out 53), но порядок имеет значение . Поэтому, если у вас есть оператор deny, который также будет запрещать DNS-запросы, когда он используется исключительно, ставьте его последним !

Поэтому сначала разрешите порт 53 вашему DNS-серверу, а затем потенциально запретите / отклоните некоторые запросы.

rugk
источник
2

Я сам работал над некоторыми правилами брандмауэра для другого проекта и не смог заставить работать решение @ diegoklapper.

Даже мои собственные попытки реплицировать sudo ufw allow dnsболее явно (т.е. конкретный интерфейс) потерпели неудачу:

sudo ufw allow in on eth0 from any to any port 53 proto tcp

Пока я не понял, что я делаю не так (обратите внимание на протокол):

sudo ufw allow in on eth0 from any to any port 53 proto udp

Примечание. Это более конкретно относится к dnsmasqслучаю, когда вы обрабатываете или пересылаете запросы DNS и когда исходящие запросы уже разрешены по умолчанию.

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
53/udp on eth0             ALLOW IN    Anywhere
Мэтт Борха
источник