UFW blokuje DNS

10

Konfiguruję zabezpieczenia na moim serwerze. Aby ułatwić zarządzanie w zaporze, zainstalowałem UFW. Wprowadziłem pewne ustawienia w UFW i pozwoliłem na niektóre porty. Dlatego po włączeniu usługi DNS nie odpowiadają.

Próbowałem uruchomić polecenie, DIG www.domain.com.braby przetestować DNS, ale nie powiodło się. To polecenie działa bez problemów, gdy UFW jest wyłączony. Zezwoliłem już na port 53 (TCP i UDP), ale DNS nie działa.

Moje ustawienia 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
źródło
Opublikuj wyniki ufw status verbose...
jasonwryan
Oto wynik pastebin.com/31Asbqwb
diegoklapper
Próbowałem, ale to nie działało.
diegoklapper

Odpowiedzi:

13

Pełna poprawna składnia powinna być

sudo ufw allow out to any port 53
Nesha Zoric
źródło
11

Rozwiązałem ten problem. Zezwoliłem na wychodzące dla portu 53, który jest portem usługi DNS. Dzięki.

sudo ufw allow out 53
diegoklapper
źródło
4

Po pierwsze ufw allow dnszezwala na przychodzące żądania DNS, co nie jest tym, czego chcesz.

Po drugie, możesz wykonać wszystkie polecenia wymienione w innych odpowiedziach (najłatwiej ufw allow out 53), ale kolejność ma znaczenie . Więc jeśli masz instrukcję odmowy, która również odmawiałaby żądaniom DNS, gdy byłaby używana wyłącznie, umieść ją na końcu !

Najpierw zezwól na port 53 na serwerze DNS, a następnie potencjalnie odrzuć / odrzuć niektóre żądania.

dywanik
źródło
2

Pracowałem nad niektórymi regułami zapory ogniowej dla innego projektu i nie byłem w stanie uzyskać rozwiązania @ diegoklapper do działania.

Nawet moje próby sudo ufw allow dnsdokładniejszej replikacji (tj. Określonego interfejsu) nie powiodły się:

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

Dopóki nie zrozumiałem, co robiłem źle (protokół notatek):

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

Uwaga: Dotyczy to dnsmasqw szczególności sytuacji, gdy przetwarzasz lub przekazujesz żądania DNS i gdy żądania wychodzące są już domyślnie dozwolone.

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

To                         Action      From
--                         ------      ----
53/udp on eth0             ALLOW IN    Anywhere
Matt Borja
źródło