Debian не работает dns

Обновлено: 04.07.2024

Основную настройку сети можно выполнить, редактируя конфигурационный файл interfaces, который располагается в /etc/network/interfaces. Здесь Вы можете задать IP адресс сетевой карты (или использовать DHCP), настроить маршрутизацию, IP masquerading, установить маршрут по умолчанию и многое другое.

Для того что бы интерфейс автоматически инициализировался при загрузке, не забудьте добавить строчку 'auto'.

Полный список опций можно найти в man interfaces.

Автоматическое конфигурирование интерфейса с использованием DHCP

Если Вы хотите использовать DHCP вам необходимо написать следующие:

Ручное конфигурирование интерфейса

Если Вы хотите сконфигурировать вручную, например задать шлюз по умолчанию (так же опционально можно задать: сеть, широковещательный адрес или шлюз):

Если вы хотите добавить IPv6 адрес, то напишете следующие:

Полный список опций можно найти в man interfaces.

Настройка скорости и дуплекса

Частые ошибки автоматического согласования режимов работы, свидетельствуют о проблемах с кабелем. Следует проверить физическое состояние кабельного оборудования (отсутствие повреждений итп), прежде чем предполагать несовместимость алгоритмов автосогласования. Если Вы выключите автосогласование и установите скорость и дуплекс вручную, то интерфейс на другом конце кабеля будет считать что автосогласование не поддерживается и установит скорость 10Mbs и полудуплексный режим передачи. Для того чтобы не было ошибок в работе, при ручной настройки Вам необходимо убедиться что оба интерфейса работают на одинаковых скоростях и установлен одинаковый режим дуплекса.

Переключение интерфейса в режим моста без IP адреса

Чтобы создать сетевой интерфейс без IP адреса используйте ручной метод и команды pre-up и post-down

В большинстве ситуаций необходимо отредактировать файлы конфигураций этих программ.

В более сложных ситуациях, более правильным будет использование программы resolvconf, но для простых конфигураций она избыточена.

Конфигурационный файл resolv.conf

Конфигурационный файл resolv.conf располагается в /etc/resolv.conf, и содержит информацию которая позволяет компьютеру подсоединяться к сети преобразовывать имя в адрес. (Прим. Не путайте этот конфигурационный файл с программой resolvconf , которая по неудачному стечению обстоятельств имеет такое же название.)

Файл resolv.conf обычно содержит IP адреса серверов имён (DNS) которые будут пытаться перевести имена в адрес для любого узла доступного в сети. Там будут строчки содержащие, примерно, следующие:

В этом примере, система исопользует сервера имён с IP адресами 12.34.56.78 и 12.34.56.79. Просто отредактируйте этот файл и введите IP адреса нужных Вам серверов, после слова nameserver. Можно добавить ещё строчки, если у Вас больше 2 серверов имён.

Не используйте этот метод если у Вас установлена программа resolvconf

Конфигурационный файл resolv.conf имеет множество других опций для определения режимов преобразования имён. См. man resolv.conf.

Программа resolvconf

Программа resolvconf следит за информацией о доступных на данных момент серверов имён. Не следует путать её с одноимённым конфигурационным файлом resolv.conf. Программа resolvconf является опциональной для систем Debian.

Конфигурационный файл resolv.conf содержит информацию о серверах имён, которые используются в системы. Однако, когда множеству программ необходимо динамически изменять файл resolv.conf они начинают мешать друг другу и файл становиться не синхронизируемым (out-of-sync). Программа resolvconf решает эту проблему. Она является посредником между программами которые поставляют информацию о серверах имён (например dhcp клиент) и программами которые используют эту информацию (например резолвер).

Если resolvconf правильно установлена, конфигурационный файл resolv.conf заменяется символьной ссылкой на файл /etc/resolvconf/run/resolv.conf и резолвер использует файл, который динамически генерируется программой resolvconf.

Программа resolvconf, в общем случае, необходима когда в системе присутствуют программы которым необходимо часто изменять информацию о серверах имён. В простых системах где нет таких программ, достаточно просто файла resolv.conf.

Если программа resolvconf установлена, то Вам не следует вручную редактировать файл resolv.conf , так как он будет динамически меняться программами в системе. Если Вам необходимо вручную задать сервера имён (например при статически сконфигурированном интерфейсе), добавьте в конфигурационный файл interfaces следующую строчку:

Разместите эту строчку в описании интерфейса iface, сразу после указания шлюза gateway. IP адрес сервера имёны необхожимо ввести после слова dns-nameservers. Если IP адресов несколько то они разделяются пробелом. Не забудьте написать "s" в конце слова dns-nameservers.

Программа resolvconf была добавлена в Debian сравнительно недавно и многие старые программы необходимо обновить и переконфигурировать для правильно работы. Если у Вас возникли проблемы, смотрите файл /usr/share/doc/resolvconf/README. Он содержит полную информацию по работе resolvconf с другими программами.

Конфигурирование DNS для network-manager

Если Вы используете NetworkManager, настройки располагаются в файле /etc/sysconfig/network-scripts/ifcfg-*. Например так:


Наверно, нужно что-то добавить в каталог /etc/resolvconf/ ?


или перезапустить какие-то сервисы, интернет на хосте появился уже после старта системы, минут через 10


через ifconfig, без перезапуска сетевых служб

```resolvectl``` посмотри что пишет


command not found


Посмотри логи systemd-resolved:


У меня в дебиане работают, врун.

nslookup чего вещает ?


command not found

а что он может вещать, если не настроено разрешение?

а что там первородным методом является нынче?

как там задается последовательность разрешения: hosts, resolv.conf, etc.

кажется, что-то про NSS?

уже проще наверно в hosts нацарапать нужные репы для apt?


что ему еще надо?

небось по ipv6 везде долбится.

sudo apt install resolvconf


еще бы apt работал, но можно конечно на большом компе.


Так разве не через netplan? Давненько не ковырял Debian.


фууу, как же системГшники все испоганили, даже network/interfaces не работает

ты что-то сделал не так.
может nm поставил ?


прописал параметр ядра ipv6.disable=1

перезагрузился, IPv6 исчез

по прежнему не работает

как прописать в конфигах apt, чтобы она показывал к каким хостам пытается обратиться, чтобы прописать их в /etc/hosts

похоже, я даже недооценивал всю трагедию появления системG.


Ничего не ставил, DNS не работал сразу же после заливки образа на SD карточку.


Похоже, это то, что надо.

А еще есть: openresolv


Да задолбало, проще чрутнуться на SD после:

cp /usr/bin/qemu-arm-static usr/bin/


фууу, как же системГшники все испоганили, даже network/interfaces не работает

Одно с другим вообще никак не связано.

как ты определяешь, что не работают DNS запросы?


какой адрес DNS? прописанный тобой или провайдером?

прежде, чем пробовать чинить, попробуй другой сервер DNS: 1.1.1.1. Прописать также как ты прописывал гуглский.

Не связано, только в Devuan все работает, как и раньше без извращений.

Вообще, получается, этот мерзкий системГ - это оружие массового поражения двойного и более назначения, как минимум:

1) Унификация сложнейшего зонда для профитов проприерастов. Админу и пользователю одни убытки, раньше все работало само или с полпинка, а щас за 2 часа не удается настроить DNS в готовом для использования образе.

cat /etc/bind/named.conf
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

cat /etc/bind/named.conf.default-zones
// prime the server with knowledge of the root servers
zone "." type hint;
file "/usr/share/dns/root.hints";
>;

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" type master;
file "/etc/bind/db.local";
>;

zone "127.in-addr.arpa" type master;
file "/etc/bind/db.127";
>;

zone "0.in-addr.arpa" type master;
file "/etc/bind/db.0";
>;

zone "255.in-addr.arpa" type master;
file "/etc/bind/db.255";
>;

zone "mydomain.loc" type master;
file "/etc/bind/db.mydomain";
>;

zone "0.168.192.in-addr.arpa" type master;
file "/etc/bind/db.192.168.0";
>;

cat /etc/bind/db.mydomain
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA srv-dc-0001.mydomain.loc. (
201911111133 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS srv-dc-0001.
@ IN A 192.168.0.104
@ IN AAAA ::1
srv-dc-0001 IN A 192.168.0.104

cat /etc/bind/db.192.168.0
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA srv-dc-0001.mydomain.loc. (
201911111056 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS srv-dc-0001.
104 IN PTR srv-dc-0001.

ip address
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:a8:e8:9a brd ff:ff:ff:ff:ff:ff
inet 192.168.0.104/24 brd 192.168.0.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::aeb7:f378:cf15:e0ea/64 scope link noprefixroute
valid_lft forever preferred_lft forever

sudo systemctl status bind9
bind9.service - BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-11-11 13:54:47 MSK; 8min ago
Docs: man:named(8)
Process: 555 ExecStart=/usr/sbin/named $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 578 (named)
Tasks: 4 (limit: 4689)
Memory: 23.0M
CGroup: /system.slice/bind9.service
└─578 /usr/sbin/named -u bind

passwd: files systemd
group: files systemd
shadow: files
gshadow: files

hosts: files dns mdns4_minimal [NOTFOUND=return]
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netstat -lntup | grep ":53"
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 578/named
tcp6 0 0 . 53 . * LISTEN 578/named
udp 0 0 0.0.0.0:5353 0.0.0.0:* 447/avahi-daemon: r
udp 0 0 192.168.0.104:53 0.0.0.0:* 578/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 578/named
udp6 0 0 . 5353 . * 447/avahi-daemon: r
udp6 0 0 . 53 . * 578/named


Все настройки стандарные, однако даже на самой машине не разрешается доменное имя:

dig mydomain.loc
; <<>> DiG 9.11.5-P4-5.1-Debian <<>> mydomain.loc
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 20557
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 4452b738672011a4325f28a35dc940e17a4e802091c64422 (good)
;; QUESTION SECTION:
;mydomain.loc. IN A

getent ahosts
127.0.0.1 localhost
192.168.0.104 srv-dc-0001.mydomain.loc srv-dc-0001
127.0.0.1 localhost ip6-localhost ip6-loopback

Но при запросах из DNS ничего не возвращается, и не берётся из файлов настроек DNS
getent -s hosts:dns ahosts

Решено: Не работает DNS - не преобразуются адреса в ip.

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Решено: Не работает DNS - не преобразуются адреса в ip.

так быть не должно.
Почему нет dhclient'а? Поставьте немедленно.

The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Посмотри, что прописано в /etc/resolv.conf. Там должны быть строчки вида
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата А какие они? /etc/resolv.conf кажись нет. dhclient шас поставлю.

Попробуй создать и прописать в нём dns-сервера.

А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата Создал resolve.conf, в нем прописал ip моего роутера - ничего. За delisetup спасибо, но он оказался почти бесполезным - сказал, что сеть удачно сконфигурирована, но так ничего и не получилось.
А какие есть dns-сервера?
Это надо у провайдера узнавать. Ещё можно попробовать использовать гугловские: 8.8.8.8, 8.8.4.4.
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата Создал resolve.conf, в нем прописал ip моего роутера - ничего. За delisetup спасибо, но он оказался почти бесполезным - сказал, что сеть удачно сконфигурирована, но так ничего и не получилось.
А какие есть dns-сервера?
1. /etc/resolv.conf
2. DNS'ы нужно взять у провайдера
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind. Пакетный менеджер-то есть, но ему надо указать точное имя файла, на диске dhcp-клиента нет, да и интернета пока нет. Так что дело дрянь. А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата Покажите результаты команд
ifconfig
route
tracert 8.8.8.8
и файл /etc/network/interfaces

ifconfig -a:
eth0 Link encap:Ethernet HWaddr 00:50:04:54:96:6C
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:10 Base address:0x6800

lo Link encap:Local Loopback
LOOPBACK MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Папки /etc/networks нет вообще, вот /etc/networks:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0

tracert: Команда не найдена.

Заодно, содержимое каталога /etc:
adjtime bitlbee/ conf.d/ cron.d/ cron.daily/ cron.hourly/ cron.monthly/
cron.weekly/ cups/ ddclient/ devfsd.conf dhcpc/ fdprm fonts/
fstab group gtk-2.0/ hostname hosts hosts.allow.new hosts.deny.new
hotplug/ hotplug.d/ inetd.conf inittab inputrc issue ld.so.cache
lilo.conf lilo.conf.bak login.defs logrotate.d/ lynx.cfg lynx.lss
makepkg.conf man.conf mime.types modules.conf modules.devfs motd mtab
nanorc networks pacman.conf pango/ passwd pcmcia/ ppp/ profile profile.old
protocols rc* rc.conf rc.conf

rc.d/
rc.local* rc.modules* rc.multi* rc.multi

* rc.multi.abackup* rc.service*
rc.shutdown* rc.single* resolv.conf resolve.conf securetty services shadow
shadow- shells skel/ slsh.rc ssh/ ssl/ sysctl.conf syslog.conf txt TZ wgetrc
X11/ xml/ zhcon.conf

C'est tout. Voici tout les plumes de ma tante.

Да, еще подробности моей сети. Интернет->модем ADSL со встроенным роутером -> роутер -> компьютер. На роутере настроен Static DHCP для моего компа - 192.168.0.2, ip роутера - 192.168.0.1, маска подсети - 255.255.255.0.

Читайте также: