Как я настраиваю область поиска правильно?

Я недавно установил Ubuntu GNOME на моем рабочем компьютере, заменив Windows 7, потому что я буду делать большую техническую разработку Linux.

Многие из нашей конфигурации и сценариев разработки используют сокращенные URL для серверов в сети компании. Таким образом, они используют http://server вместо http://server.location.company.com. У меня никогда не было проблем с этими URL в Windows, но я не смог заставить их работать правильно в Ubuntu. Это не выполнимо, чтобы я просто ввел весь полностью определенный URL, потому что сокращенная форма используется повсеместно в различных сценариях, но я могу получить доступ к подробным URL.

Когда я соединяюсь с VPN компании с помощью клиента VPN Dell SonicWall NetExtender, сокращенные URL действительно работают правильно.

На основе исследования я сделал до сих пор, я думаю, что должен настроить location.company.com поскольку область поиска на Ubuntu, но мои попытки выполнения этого перестала работать до сих пор. Вот то, что я попробовал:

  • В приложении "Сетевых соединений" отредактируйте мое беспроводное соединение. Под вкладкой IPv4 выберите Автоматический адреса (DHCP) только. Затем введите location.company.com как область поиска, и вставленный в наш сервер DNS также. Это не имело никакого заметного значения.
  • Изменение dhclient.conf, как описано здесь.
  • Выполнение dpkg-reconfigure resolvconf удостоверяться, что это динамично обновляет resolv.conf.

Я также волнуюсь, что в этой точке попробовал несколько разных вещей, и они могли вмешиваться друг в друга. Я знаю, что некоторые части этой конфигурации изменились в последних годах с Ubuntu, и может быть трудно найти актуальнейшую информацию. Мне не абсолютно ясно, как администратор сети, resolvconf, dhclient, и другие конфигурационные файлы сотрудничают в новейших версиях Ubuntu.

Так, мой вопрос: Как я могу настроить свой компьютер, чтобы заставить краткие URL работать правильно в Ubuntu 14.10?

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

Спасибо за помощь! Сообщите мне, могу ли я обеспечить какую-либо дополнительную информацию.

Править: Вот мой /etc/resolv.conf, то, которому я верю, было сгенерировано resolvconf.

# Add Company Nameservers and Domain
nameserver 192.168.200.53
nameserver 192.168.200.65
search location.company.com
nameserver 127.0.1.1
search location.company.com
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search hsd1.co.comcast.net
25
задан 25 July 2017 в 02:24

4 ответа

Область поиска означает домен, который будет автоматически добавлен, когда Вы только будете использовать имя хоста для конкретного хоста или компьютера. Это в основном используется в локальной сети.

Позволяет говорят, что у Вас есть доменное имя как xyz.com (это может быть доступно глобально или может быть локально только), и у Вас есть 100 компьютеров в LAN. Теперь Вы хотите, чтобы это доменное имя было автоматически добавлено, при поиске любого компьютера просто именем хоста компьютера. Если доменное имя, которое будет добавлено, xyz.com затем область поиска должна быть похожей:

dns-search xyz.com ##If you put this into /etc/network/interfaces

или

search xyz.com ##If you put this into /etc/resolvconf/resolv.conf.d/base|head|tail

Теперь, как Вы проверяете, если его работа правильно, просто используйте ping или любая программа разрешения DNS как host, nslookup , dig.

Например, если хост test наличие IP 192.168.1.5 затем использование host:

host test
test.xyz.com has address 192.168.1.5

Теперь как dig не использует поисковый список/домен по умолчанию, необходимо использовать его как dig +search test позволять добавить область поиска.

Используя nslookup:

nslookup test
Server:     192.168.1.11
Address:    192.168.1.11#53

Name:   test.xyz.com
Address: 192.168.1.5

Здесь 192.168.1.11 Ваш локальный сервер DNS, который имеет IP-адрес для хоста test.xyz.com (заметьте полную форму), который является 192.168.1.5. Сервер DNS разрешит имя хоста test.xyz.com к IP 192.168.1.5 но ничего не разрешит для только test поскольку это не имеет никакой записи как так.

Так, что область поиска делает в нашем случае, то, что это автоматически добавляет доменное имя для создания этого FQDN, когда мы просто используем имя хоста для поиска компьютера.

30
ответ дан 23 November 2019 в 01:12

Я - runnig Бионический Бобр и мой resolv.conf говорит:

# This file is managed by man:systemd-resolved(8). Do not edit.

таким образом, мое решение состояло в том, чтобы отредактировать /etc/systemd/resolved.conf , опция Domains= согласно документам и затем перезапускают systemd-разрешенный:

service systemd-resolved restart
16
ответ дан 23 November 2019 в 01:12

Я искал решение этой проблемы для Ubuntu Focal 20.04, так как мой локальный домен не добавлялся к именам хостов.

В большинстве unix-подобных ОС, таких как Solaris, Debian и т. д., решение состоит в том, чтобы добавить строку с «search domain.name» в /etc/resolv.conf, но современные выпуски Ubuntu теперь используют systemd-resolved, поэтому мне пришлось выяснить, что делать.

К счастью, это по-прежнему только одна строка — просто используйте команду resolvectl вместо редактирования текстового файла:

# resolvectl domain <ifname> domain.name

(вы можете найти свое ifname, вызвав ip-адрес или resolvectl status)

Примечание. Это изменение не является постоянным, для постоянного решения см. обновление ниже

Чтобы убедиться, что оно работает, убедитесь, что домен указан в списке systemd-resolved, вызвав:

user@host:/$ resolvectl status | tail

DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 192.168.1.2
         DNS Servers: 192.168.1.2
                      192.168.1.3
          **DNS Domain: domain.name**

и что он находится в автоматически сгенерированном /etc/resolv.conf, вызвав:

user@host:/$ tail /etc/resolv.conf

nameserver 127.0.0.53
options edns0
**search domain.name**

И попробуйте ssh или http, используя имя хоста вместо полного доменного имени, чтобы проверить, разрешается ли настроенный локальный домен автоматически.

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

Обновление от 20 февраля 2020 г.:

Я заметил, что это изменение не является постоянным. В соответствии с этим вопросом DNS настроен на systemd 127.0.0.53 - как изменить навсегда? Я узнал, что постоянная конфигурация хранится в /etc/systemd/resolved.conf - просто раскомментируйте Domains= и напишите там свой домен:

[Resolve]
#DNS=
#FallbackDNS=
Domains=domain.name
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=yes
#DNSStubListener=yes
#ReadEtcHosts=yes
11
ответ дан 20 February 2020 в 04:32

Начиная с версии 16.04 инструмент Расширенная настройка сети доступен только через командную строку:

sudo nm-connection-editor

Домен поиска может быть настраивается на вкладке Настройки IPvX.

enter image description here

Для получения дополнительной информации см. отличный ответ Томаса Уорда.

6
ответ дан 5 February 2021 в 17:11

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

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