ubuntu-server недоступен с помощью https: // ubuntu: 10000 [duplicate]

Бит застрял здесь.

У меня есть 2 машины, которые не могут разрешать имена хостов LAN, если в / etc / hosts нет определенных записей

. Но другие машины в локальной сети могут разрешать имена хостов ,

Моя локальная сеть:

1 x запуск маршрутизатора Cisco DD-WRT v24-sp2 с включенным DNSMasq. Я настроил это с именами хостов и IP-адресами в своей локальной сети. 1 x Kubuntu 12.10 (разрешает все имена хостов правильно, если они введены в DNSMasq на маршрутизаторе) 2 x NAS (также правильно разрешает все имена) 1 x Ubuntu Server 12.04 (это НЕ разрешает локальные имена хостов, если они не введены в / etc / hosts) 1 x XBMCLive (Dharma) (тот же - не разрешается, если записи не находятся в / etc / hosts)

Как мне получить последние 2, чтобы использовать записи DNSMasq на маршрутизаторе?

Спасибо.

может

] в то время как на сервере, если я пинг другого ПК (wstation)

$ ping wstation PING wstation.local.domain (x.x.x.x)

Если я затем добавлю .local

$ ping wstation.local PING wstation.local.local.domain (x.x.x.x)

и непосредственно

$ ping 10.0.0.4 PING 10.0.0.4 (10.0.0.4) 56(84) bytes of data. 64 bytes from 10.0.0.4: icmp_req=1 ttl=64 time=0.387 ms 64 bytes from 10.0.0.4: icmp_req=2 ttl=64 time=0.316 ms 64 bytes from 10.0.0.4: icmp_req=3 ttl=64 time=0.312 ms 64 bytes from 10.0.0.4: icmp_req=4 ttl=64 time=0.280 ms 64 bytes from 10.0.0.4: icmp_req=5 ttl=64 time=0.322 ms ^C --- 10.0.0.4 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3998ms rtt min/avg/max/mdev = 0.280/0.323/0.387/0.038 ms
11
задан 20 January 2013 в 03:10

6 ответов

О вашем текущем выходе

ping wstation PING wstation.local.domain

Явно указывает, что ваш компьютер добавляет .local.domain к запросам без FQDN. Это что-то неправильно настроено или, по крайней мере, неправильно в настройке. (если вы на самом деле не используете суффикс .local.domain по назначению]

Разрешение имен и периоды

Одна важная вещь, о которой многие люди не знают, заключается в том, что полное имя должно всегда заканчивается периодом (.). Если вы опустите его, машина попытается разрешить его в локальном домене поиска (например, mydomain.tld). Поэтому в этом случае запрос для mypc.local станет mypc.local.mydomain.tld. Чтобы предотвратить это, запросите период.

Конфигурация резольвера

Конфигурация резольвера здесь имеет большое значение. В Ubuntu (и Debian) это настроено в файле /etc/network/interfaces (если вы не используете NetworkManager):

iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 gateway 192.168.3.1 dns-nameservers 192.168.3.45 192.168.8.10 dns-search foo.org bar.com # <-- these are the search domains

Разрешение имен в Linux также может быть выполнено другими способами. Дело не только в том, что локальный DNS-сервер запрашивается для всего этого. Взгляните на ваш /etc/nsswitch.conf файл для конфигурации hosts:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Это означает, что сначала файлы проверяются (это файл /etc/hosts), затем mDNS и только позже запрашивается реальный DNS-сервер. mDNS реализуется с использованием Avahi в Linux и называется Bonjour на устройствах Apple. Он использует суффикс .local по умолчанию и работает через широковещательные сообщения. Подобно ARP, но затем для DNS.

Все эти системы могут быть очень запутанными и даже больше при использовании .local в обычной настройке DNS, смешанной с устройствами mDNS. Я думаю, именно поэтому вы теперь запутались в том, почему одно устройство работает, а другое - нет: с

Чтобы разобрать вещи

Избегайте использование, если .local, если вы не хотите полностью полагаться на mDNS. Из вашего вопроса я понимаю, что вы хотите, чтобы все настроилось на центральное место, поэтому мой подход заключается в том, чтобы избежать этого. Настройте локальный DNS-сервер (устройство DD-WRT в вашем случае), чтобы использовать специальное доменное имя, например. [F16]. Для dnsmasq это единственный параметр, но в обычных настройках он должен быть настроен как на DNS-сервере, так и на DHCP-сервере (поскольку он объявляется через DHCP). Настройте все ПК на простое и уникальное имя хоста. Они используют это в своем запросе для DHCP, и это используется в dnsmasq, работающем на вашем маршрутизаторе, для их разрешения. Кроме того, настройте их вручную, чтобы не полагаться на DHCP. Удалите любую оставшуюся конфигурацию в /etc/resolv.conf в случае, если вы с ней справились в прошлом. Настройте ПК в сети, чтобы использовать my.home в качестве локального домена поиска. Это можно сделать через DHCP автоматически или использовать статические адреса через файл /etc/network/interfaces или в Network Manager: теперь должны работать как простейшие разрешения имен (ping hostname), так и полное имя (ping hostname.my.home).
12
ответ дан 17 July 2018 в 19:33

О вашем текущем выходе

ping wstation PING wstation.local.domain

Явно указывает, что ваш компьютер добавляет .local.domain к запросам без FQDN. Это что-то неправильно настроено или, по крайней мере, неправильно в настройке. (если вы на самом деле не используете суффикс .local.domain по назначению]

Разрешение имен и периоды

Одна важная вещь, о которой многие люди не знают, заключается в том, что полное имя должно всегда заканчивается периодом (.). Если вы опустите его, машина попытается разрешить его в локальном домене поиска (например, mydomain.tld). Поэтому в этом случае запрос для mypc.local станет mypc.local.mydomain.tld. Чтобы предотвратить это, запросите период.

Конфигурация резольвера

Конфигурация резольвера здесь имеет большое значение. В Ubuntu (и Debian) это настроено в файле /etc/network/interfaces (если вы не используете NetworkManager):

iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 gateway 192.168.3.1 dns-nameservers 192.168.3.45 192.168.8.10 dns-search foo.org bar.com # <-- these are the search domains

Разрешение имен в Linux также может быть выполнено другими способами. Дело не только в том, что локальный DNS-сервер запрашивается для всего этого. Взгляните на ваш /etc/nsswitch.conf файл для конфигурации hosts:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Это означает, что сначала файлы проверяются (это файл /etc/hosts), затем mDNS и только позже запрашивается реальный DNS-сервер. mDNS реализуется с использованием Avahi в Linux и называется Bonjour на устройствах Apple. Он использует суффикс .local по умолчанию и работает через широковещательные сообщения. Подобно ARP, но затем для DNS.

Все эти системы могут быть очень запутанными и даже больше при использовании .local в обычной настройке DNS, смешанной с устройствами mDNS. Я думаю, именно поэтому вы теперь запутались в том, почему одно устройство работает, а другое - нет: с

Чтобы разобрать вещи

Избегайте использование, если .local, если вы не хотите полностью полагаться на mDNS. Из вашего вопроса я понимаю, что вы хотите, чтобы все настроилось на центральное место, поэтому мой подход заключается в том, чтобы избежать этого. Настройте локальный DNS-сервер (устройство DD-WRT в вашем случае), чтобы использовать специальное доменное имя, например. [F16]. Для dnsmasq это единственный параметр, но в обычных настройках он должен быть настроен как на DNS-сервере, так и на DHCP-сервере (поскольку он объявляется через DHCP). Настройте все ПК на простое и уникальное имя хоста. Они используют это в своем запросе для DHCP, и это используется в dnsmasq, работающем на вашем маршрутизаторе, для их разрешения. Кроме того, настройте их вручную, чтобы не полагаться на DHCP. Удалите любую оставшуюся конфигурацию в /etc/resolv.conf в случае, если вы с ней справились в прошлом. Настройте ПК в сети, чтобы использовать my.home в качестве локального домена поиска. Это можно сделать через DHCP автоматически или использовать статические адреса через файл /etc/network/interfaces или в Network Manager: теперь должны работать как простейшие разрешения имен (ping hostname), так и полное имя (ping hostname.my.home).
12
ответ дан 23 July 2018 в 20:17

У меня возникли аналогичные проблемы с / etc / hosts, содержащими несколько пробелов между IP и именем хоста, вместо этого используя TAB. После изменения в TAB имя хоста может быть разрешено с помощью ping.

127.0.0.1 test.local ^^^^^^^^ → Should be a TAB not multiple spaces.

см. Также на https://superuser.com/a/938366/467479

0
ответ дан 17 July 2018 в 19:33

На основании ответа gertvdijk я просто прокомментировал строку в nsswitch.conf

sudo vim /etc/nsswitch.conf . . . hosts: files dns # mdns4_minimal [NOTFOUND=return] dns
1
ответ дан 17 July 2018 в 19:33

У меня возникли аналогичные проблемы с / etc / hosts, содержащими несколько пробелов между IP и именем хоста, вместо этого используя TAB. После изменения в TAB имя хоста может быть разрешено с помощью ping.

127.0.0.1 test.local ^^^^^^^^ → Should be a TAB not multiple spaces.

см. Также на https://superuser.com/a/938366/467479

0
ответ дан 23 July 2018 в 20:17
  • 1
    Извините, это НЕ правильно. Файл hosts будет работать с пробелами или вкладками. Кроме того, 127.0.0.1 должен иметь локальный хост, а затем localhost.localdomain - и в зависимости от вашей установки - имя хоста компьютера. (Некоторые настройки, Ubuntu / Debian вы помещаете ваше имя хоста в строку 127.0.1.1) Я бы не рекомендовал устанавливать какие-либо локальные адреса в файле hosts, хотя, поскольку они конфликтуют с mDNS / Avahi – The Dude 20 October 2016 в 17:02
  • 2
    Если у вас есть компьютеры Windows в вашем домене, очевидно, что он использует одноадресный DNS, который несовместим с реализациями mDNS Avahi или Zeroconf. Кроме того, проверьте ваш /etc/nsswitch.conf, чтобы проверить, не сработает ли он после mdns4_minimal [NOTFOUND = return] или выполнить полный поиск mdns4 (переместить его обратно). Кроме того, не следует настраивать DNS-серверы для использования домена .local, поскольку mDNS / sd-DNS-резольверы будут маскировать поиск в этом домене. Для вашего внутреннего DNS-домена используйте .lan, .work, .home и т. Д. (Но НЕ один из новых TLD, например .biz, .xyz, .web и т. Д.). Удачи, и добро пожаловать в забавный мир разрешения DNS. – The Dude 20 October 2016 в 17:15

На основании ответа gertvdijk я просто прокомментировал строку в nsswitch.conf

sudo vim /etc/nsswitch.conf . . . hosts: files dns # mdns4_minimal [NOTFOUND=return] dns
1
ответ дан 23 July 2018 в 20:17

Другие вопросы по тегам:

Похожие вопросы: