bind9

Ответить
ya
^-^
Сообщения: 2746
Зарегистрирован: 16 дек 2021, 19:56

bind9

Сообщение ya »

/etc/bind/named.conf.options

Код: Выделить всё

acl allowed_hosts {
    127.0.0.0/8;
    10.0.0.0/8;   // разрешить всю подсеть
    192.168.0.0/16;         // разрешить конкретный IP
    172.16.0.0/12;
};

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };

listen-on {any;}; # DNS does not answer to queries from VPN if I restrict
                          # here to my  LAN only
allow-query-cache {any;};

forwarders {1.1.1.2;1.0.0.2;};


        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        listen-on-v6 { any; };
forwarders {2606:4700:4700::1112;2606:4700:4700::1002;1.1.1.2;1.0.0.2;};
    // Другие опции
    allow-query { allowed_hosts; };
    allow-recursion { allowed_hosts; };
    allow-transfer { none; }; // отключить передачу зон или ограничить по спискам


};

Проверяйте конфигурацию перед перезапуском

Код: Выделить всё

named-checkconf

Код: Выделить всё

named-checkzone example.com /etc/bind/db.example.com
sudo systemctl restart bind9
ya
^-^
Сообщения: 2746
Зарегистрирован: 16 дек 2021, 19:56

Re: bind9

Сообщение ya »

Проверяем запущен ли bind9

Код: Выделить всё

service named status
для devuan в системе runit

Создадим каталоги для демона bind9

Код: Выделить всё

sudo mkdir -p /etc/sv/bind9
sudo mkdir -p /etc/sv/bind9/log
/etc/sv/bind9/run

Код: Выделить всё

#!/bin/sh
echo "Starting $NAME..."
exec /usr/sbin/named -g -u bind -4
добавим символическую ссылку на демона

Код: Выделить всё

ln -s /etc/sv/bind9 /etc/service/
/etc/sv/bind9/finish

Код: Выделить всё

#!/bin/sh

NAME=bind9

echo "$NAME Stopped"
pkill -9 named

выставим права доступа на выполнение

Код: Выделить всё

sudo chmod +x /etc/sv/bind9/run
sudo chmod +x /etc/sv/bind9/finish
Проверим статус

Код: Выделить всё

sv status bind9
Лог-файл

Код: Выделить всё

grep bind /var/log/syslog 
ya
^-^
Сообщения: 2746
Зарегистрирован: 16 дек 2021, 19:56

Re: bind9

Сообщение ya »

Чтобы предотвратить перезапись файла `/etc/resolv.conf` при запуске dhclient, можно применить один из следующих методов:

### 1. Использование файла `/etc/dhcp/dhclient.conf`
Добавьте в конфигурационный файл `/etc/dhcp/dhclient.conf` следующую строку:

```/etc/dhcp/dhclient.conf (заменит существующий dns для dhcp-клиента)

Код: Выделить всё

supersede domain-name-servers 8.8.8.8, 8.8.4.4;
```

или, чтобы полностью игнорировать изменение DNS:

```/etc/dhcp/dhclient.conf (добавит к существующему dns локальный dns-сервер для dhcp-клиента)

Код: Выделить всё

prepend domain-name-servers 127.0.0.1;
```

Но самый универсальный способ — указать, чтобы dhclient не изменял `resolv.conf`.

### 2. Зафиксировать файл `/etc/resolv.conf` с помощью `chattr`
Вы можете сделать файл необновляемым командой:

```bash

Код: Выделить всё

sudo chattr +i /etc/resolv.conf
```

Это сделает файл "immutable", и ни один процесс, включая dhclient, не сможет его изменять. Чтобы вернуть возможность редактировать, используйте:

```bash

Код: Выделить всё

sudo chattr -i /etc/resolv.conf
```

**Важно:** Использование этого метода требует осторожности, так как он полностью блокирует любые изменения файла.

### 3. Отключить автоматическую перезапись через сетевые менеджеры
Если используется NetworkManager или другой менеджер сетей, настройте его так, чтобы он не обновлял `/etc/resolv.conf`.

Для NetworkManager добавьте в `/etc/NetworkManager/NetworkManager.conf`:

```ini

Код: Выделить всё

[main]
dns=none
```

или в настройках конкретного профиля отключите автоматическую настройку DNS.
Ответить