1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-coredns

Клонировать/Скачать
corefile.5.md 5.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 11.06.2025 08:22 1869dea

Имя

corefile — конфигурационный файл для CoreDNS.

Описание

Файл corefile определяет внутренние серверы, которые должен запустить CoreDNS, а также плагины, которые должны быть подключены к каждому из них. Синтаксис следующий:

[SCHEME://]ZONE [[SCHEME://]ZONE]...[:PORT] {
    [PLUG-IN]...
}

ZONE определяет, для какого имени будет использоваться этот сервер. Множественные зоны допускаются и должны быть разделены пробелами. Вы можете использовать "обратную" синтаксис для указания обратной зоны (например, ip6.arpa и in-addr.arpa), используя IP-адрес в формате CIDR.

Необязательный SCHEME по умолчанию равен dns://, но может также быть tls:// (DNS over TLS), grpc:// (DNS over gRPC) или https:// (DNS over HTTP/2).

Необязательный PORT контролирует порт, на котором будет запущен сервер, по умолчанию это порт OnClickListener. Если вы используете номер порта здесь, вы не сможете переопределить его с помощью -dns.port (coredns(1)), также см. coredns-bind(7).

Указание комбинации ZONE и PORT для разных серверов несколько раз приведет к ошибке при запуске.

Когда поступает запрос, он сопоставляется со всеми зонами для всех серверов, сервер с наибольшим совпадением имени запроса получит запрос.

PLUG-IN определяет плагины, которые мы хотим загрузить в этот сервер. Это также необязательно, но сервер без плагинов будет возвращать SERVFAIL для всех запросов. Каждый плагин может иметь несколько свойств, которые могут иметь аргументы, см. документацию для каждого плагина.Комментарии допускаются и начинаются с неотведенного символа решетки # и продолжаются до конца строки. Комментарии могут начинаться в любом месте строки.

Поддерживается использование переменных окружения, как в Unix, так и в Windows форматах: {$ENV_VAR_1} или {%ENV_VAR_2%}.

Вы можете использовать "плагин" import для включения частей других файлов, см. https://coredns.io/plugins/import, и coredns-import(7).

Если CoreDNS не может найти файл corefile для загрузки, он загружает следующий встроенный файл:

. {
    whoami
    log
}

Импорт

Вы можете использовать "плагин" import для включения частей других файлов, см. https://coredns.io/plugins/import, и coredns-import(7).

Фрагменты

Если вы хотите переиспользовать фрагмент, вы можете определить его и затем использовать с помощью import.

(mysnippet) {
    log
    whoami
}

. {
    import mysnippet
}

Примеры

Зона ZONE является корневой зоной ., а ПЛАГИНchaos. Плагин chaos принимает (необязательный) аргумент: CoreDNS-001. Этот текст возвращается при запросе класса CH: dig CH TXT version.bind @localhost.

. {
   chaos CoreDNS-001
}

При определении новой зоны вы либо создаете новый сервер, либо добавляете её к существующему. Здесь мы определяем один сервер, который обрабатывает две зоны; что потенциально цепочкой подключает разные плагины:

example.org {
    whoami
}
org {
    whoami
}
~~~~~~ corefile
example.org org {
    whoami
}

Обратные зоны могут быть указаны как доменные имена:

0.0.10.in-addr.arpa {
    whoami
}

или с использованием обозначения CIDR:

10.0.0.0/24 {
    whoami
}

Это также работает на границе, не являющейся октетом:

10.0.0.0/27 {
    whoami
}

Авторы

Авторы CoreDNS.

Авторские права

Apache License 2.0

См. также

Руководство по CoreDNS: coredns(1) и дополнительная документация на https://coredns.io. Также см. документацию плагина import и все руководства по плагинам.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-coredns.git
git@api.gitlife.ru:oschina-mirror/mirrors-coredns.git
oschina-mirror
mirrors-coredns
mirrors-coredns
master