# Настройка Google/Cloudflare dns на Ubuntu server 22.04В этой статье покажу как изменить dns сервера на сервера google и cloudflare на Ubuntu 22.04.



---

## Предыстория

Недавно я столкнулся с проблемой тарификации всех dns запросов на виртуальной машине от провайдера yandex cloud.

Провайдер зашил в свой установочный образ ubuntu платный dns сервер.

В этой статье мы с вами заблокируем платный dns сервер от яндекса и пропишем публичные dns от google и cloudflare.

---

## Шаг 1

Указываем публичные днс для нашего сетевого интерфейса eth0:
```bash
# Задаем DNS-серверы
sudo resolvectl dns eth0 8.8.8.8 1.1.1.1

# Устанавливаем домен для поиска
sudo resolvectl domain eth0 "~."
```

---

## Шаг 2

Проверяем какой у нас dns сервер исспользуется по умолчанию
```bash
resolvectl status
```

**Должны увидеть строчку `Current DNS Server: ip`**

**У меня по умолчанию стоял платный dns яндекса: `10.129.0.2`
И в дополнительных у нас появились сервера которые мы прописали в шаге 1**

---

## Шаг 3

Блокируем доступ к серверу яндекс

Что бы наш сервер не мог польше пользоваться днс сервером от яндекс еще и платным, мы блокируем трафик через iptables

```bash
sudo iptables -A OUTPUT -p udp --dport 53 -d 10.129.0.2 -j DROP
sudo iptables -A OUTPUT -p tcp --dport 53 -d 10.129.0.2 -j DROP
```

**Вместо `10.129.0.2` вы подставляете ip адрес который у вас в `Current DNS Server` из шага 2**

---

## Шаг 4

Проверка dns

Выполним команду

```bash
nslookup google.com
```

**Она должны выполниться без ошибок и показать нам ip адреса домена google.com**

Выполняем команду `resolvectl status` еще раз для просмотра изменился ли наш сервер по умолчанию на сервер от google или cloudflare.