Имя хоста конфликтует между системным именем хоста и apache2 vHost

Я владею сервером под Ubuntu 16 в своей локальной сети, где я запускаю Apache2 со многими веб-сайтами vHost.

Меня беспокоит одно: имя хоста сервера является одним из vHost вместо одного написанный в файле /etc/hostname.

Любая идея о том, как это исправить?

Я уже редактировал имя хоста и файлы hosts, запускал hostnamectl и перезапустил систему, но это все еще давая мне имя из vHost вместо того, чтобы дать мне имя, которое я хочу.

Имя было показано в motd для «последнего входа с», когда я использовал сервер для подключения к другому через ssh и он отображается в разделе «Имя хоста», когда я запускаю «Angry Ip Scanner» (эквивалент nMap).

2
задан 28 June 2017 в 13:38

2 ответа

Из комментариев существует путаница между локальным именем хоста, установленным hostnamectl, именами сервера Apache и DNS (служба имен доменов).

HOSTMAME

Это это параметр, который используется только на вашем локальном хосте.

Чтобы установить имя хоста вашего локального компьютера, используйте hostnamectl

sudo hostnamectl set-hostname new_hostname

IMO, это предпочтительнее для ручного редактирования /etc/hostname и /etc/hosts, поскольку это единственная команда, менее подверженная опечаткам и менее склонная к прерыванию sudo.

HOSTMAME

Серверы доменных имен (DNS) является отдельным и определяет, как компьютеры подключаются к другим компьютерам, аналог «телефонной книги» используется для описания работы DNS, но это сеть, поэтому вы можете использовать имя, а не IP-адрес для подключения по сетевому протоколу к серверу , т. е. http://google.com, а не ip-адрес.

Подробную информацию о DNS см. в http://google.com или аналогичном.

Это несколько связано с FQDN - https://serverfault.com/questions/269838/what-is-the-difference-between-a-hostname-an d-a-full-qual-domain-name

В этом обсуждении я буду использовать полное доменное имя, чтобы ссылаться на сетевое имя, которое вы используете для подключения к серверу по сетевому протоколу, например http или ssh. DNS-серверы используют только FQDN, такие как foo.com, а не foo, / etc / host могут использовать не полное доменное имя, например foo, а не foo.com или даже оба.

Итак, в какой-то момент, как часть установка / настройка вашего веб-сервера, вы зарегистрировали одно или несколько FQDN с DNS-провайдером, таким как godaddy или аналогичным. Эти службы запускают и обслуживают DNS-серверы и, в вашем случае, сопоставляют ваши серверы имен Apache с вашим общедоступным IP-адресом.

СЕТЕВЫЕ ПРИЛОЖЕНИЯ USE / etc / hosts и DNS-серверы для разрешения полного доменного имени

Сетевые приложения обычно будут сначала искать в / etc / hosts для разрешения FQDN на IP-адрес. Если в / etc / hosts нет записи, они будут использовать DNS для разрешения IP-адреса.

Сетевые приложения не используют информацию, которую системный администратор записывает в / etc / hostname для разрешения DNS.

NETWORK APPS USE / etc / hosts и DNS-серверы для разрешения FQDN

Поэтому, когда вы запускаете nmap, он использует обратную службу DNS и / etc / hosts для разрешения полного доменного имени.

Подробнее см. документацию nmap - https://serverfault.com/questions/269838/what-is-the-difference-between-a-hostname-and-a-fully-qualified -domain-name

См. также это обсуждение по ошибке сервера - https://serverfault.com/questions/153776/nmap-find-all-alive-hostnames-and-ips-in -lan

Возможно, есть какой-то параметр или настройка, чтобы заставить nmap использовать / etc / hosts или отключить поиск DNS, и, возможно, кто-то опубликует эту информацию здесь, но это выходит за рамки этого обсуждения.

Короткий ответ: nmap, ssh, http и другие сетевые протоколы используют DNS и / или обратный просмотр DNS чтобы решить ваше полное доменное имя в ipaddress, как определено DNS-серверами или / etc / hosts, а не / etc / hostname на вашем локальном компьютере или удаленном сервере.

SSH

SSH будет использовать как / etc / hosts, так и DNS-серверы.

См. документацию ssh или https://serverfault.com/questions/153776/nmap-find-all-alive-hostnames-and- ips-in-lan для того, как отключить ssh от использования DNS-сервисов.

Если ssh не возвращает имя хоста, которое вы ожидаете, вам нужно продолжить расследование, см. https://serverfault.com/ questions / 266897 / why-is-hostname-lookup-in-ssh-return-a-different-result для получения подробной информации о том, как это сделать.

Итак, в вашем случае я предполагаю, что ssh также использует службы DNS вместо того, чтобы полагаться только на / etc / hosts, чтобы разрешить полное доменное имя, которое вы используете в командной строке.

SSH Я лично не использую мое полное доменное имя apache для моего имени локального хоста, используйте мое FQDN для ssh на моем сервере, и я обычно не передаю FQDN для nmap, и не использую NMAP для определения loc al. hostname сервера.

nmap сообщит вам полное доменное имя, зарегистрированное в FQDN, если оно существует, оно не сообщит вам, что находится в / etc / hostname удаленного сервера.

См. [D35] https://serverfault.com/questions/266897/why-is-hostname-lookup-in-ssh-returning-a-different-result

Пример:

NMAP по ip адресу

Это работает, предполагая, что ip-адрес является общедоступным, а удаленный хост включен, а не защищен брандмауэром для блокировки nmap;)

bodhi@daemon:~$nmap --top-ports 10 8.8.8.8 Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-28 16:10 MDT Nmap scan report for google-public-dns-a.google.com (8.8.8.8) Host is up (0.081s latency). PORT STATE SERVICE 21/tcp filtered ftp 22/tcp filtered ssh 23/tcp filtered telnet 25/tcp filtered smtp 80/tcp filtered http 110/tcp filtered pop3 139/tcp filtered netbios-ssn 443/tcp open https 445/tcp filtered microsoft-ds 3389/tcp filtered ms-wbt-server Nmap done: 1 IP address (1 host up) scanned in 2.15 seconds

NMAP по ip адресу

Это также работает до тех пор, пока имя, которое вы даете, является зарегистрированным FQDN

bodhi@daemon:~$nmap --top-ports 10 google.com Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-28 16:10 MDT Nmap scan report for google.com (172.217.11.238) Host is up (0.10s latency). Other addresses for google.com (not scanned): 2607:f8b0:400f:800::200e rDNS record for 172.217.11.238: den02s01-in-f14.1e100.net PORT STATE SERVICE 21/tcp filtered ftp 22/tcp filtered ssh 23/tcp filtered telnet 25/tcp filtered smtp 80/tcp open http 110/tcp filtered pop3 139/tcp filtered netbios-ssn 443/tcp open https 445/tcp filtered microsoft-ds 3389/tcp filtered ms-wbt-server Nmap done: 1 IP address (1 host up) scanned in 2.36 seconds

NMAP с фиктивным / не существующим FQDN

bodhi@daemon:~$nmap foo.bar Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-28 16:10 MDT **Failed to resolve "foo.bar".** WARNING: No targets were specified, so 0 hosts scanned. Nmap done: 0 IP addresses (0 hosts up) scanned in 0.55 seconds

Если у вас возникли трудности, нам нужна конкретная информация.

Опубликовать содержимое /etc/hostname и /etc/hosts Сообщите нам полное доменное имя всех ваших зарегистрированных доменных имен по соответствующим разделам ваших файлов конфигурации apache. Отправьте точные команды nmap и ssh, которые вы используете, и их выход.

Без дополнительной информации мы не можем прояснить любую путаницу между вашим локальным именем хоста и сетевым FQDN или отладить ваши соединения, если полное доменное имя не будет разрешено на ожидаемом удаленном сервере.

0
ответ дан 18 July 2018 в 11:01

Из комментариев существует путаница между локальным именем хоста, установленным hostnamectl, именами сервера Apache и DNS (служба имен доменов).

HOSTMAME

Это это параметр, который используется только на вашем локальном хосте.

Чтобы установить имя хоста вашего локального компьютера, используйте hostnamectl

sudo hostnamectl set-hostname new_hostname

IMO, это предпочтительнее для ручного редактирования /etc/hostname и /etc/hosts, поскольку это единственная команда, менее подверженная опечаткам и менее склонная к прерыванию sudo.

HOSTMAME

Серверы доменных имен (DNS) является отдельным и определяет, как компьютеры подключаются к другим компьютерам, аналог «телефонной книги» используется для описания работы DNS, но это сеть, поэтому вы можете использовать имя, а не IP-адрес для подключения по сетевому протоколу к серверу , т. е. http://google.com, а не ip-адрес.

Подробную информацию о DNS см. в http://google.com или аналогичном.

Это несколько связано с FQDN - https://serverfault.com/questions/269838/what-is-the-difference-between-a-hostname-an d-a-full-qual-domain-name

В этом обсуждении я буду использовать полное доменное имя, чтобы ссылаться на сетевое имя, которое вы используете для подключения к серверу по сетевому протоколу, например http или ssh. DNS-серверы используют только FQDN, такие как foo.com, а не foo, / etc / host могут использовать не полное доменное имя, например foo, а не foo.com или даже оба.

Итак, в какой-то момент, как часть установка / настройка вашего веб-сервера, вы зарегистрировали одно или несколько FQDN с DNS-провайдером, таким как godaddy или аналогичным. Эти службы запускают и обслуживают DNS-серверы и, в вашем случае, сопоставляют ваши серверы имен Apache с вашим общедоступным IP-адресом.

СЕТЕВЫЕ ПРИЛОЖЕНИЯ USE / etc / hosts и DNS-серверы для разрешения полного доменного имени

Сетевые приложения обычно будут сначала искать в / etc / hosts для разрешения FQDN на IP-адрес. Если в / etc / hosts нет записи, они будут использовать DNS для разрешения IP-адреса.

Сетевые приложения не используют информацию, которую системный администратор записывает в / etc / hostname для разрешения DNS.

NETWORK APPS USE / etc / hosts и DNS-серверы для разрешения FQDN

Поэтому, когда вы запускаете nmap, он использует обратную службу DNS и / etc / hosts для разрешения полного доменного имени.

Подробнее см. документацию nmap - https://serverfault.com/questions/269838/what-is-the-difference-between-a-hostname-and-a-fully-qualified -domain-name

См. также это обсуждение по ошибке сервера - https://serverfault.com/questions/153776/nmap-find-all-alive-hostnames-and-ips-in -lan

Возможно, есть какой-то параметр или настройка, чтобы заставить nmap использовать / etc / hosts или отключить поиск DNS, и, возможно, кто-то опубликует эту информацию здесь, но это выходит за рамки этого обсуждения.

Короткий ответ: nmap, ssh, http и другие сетевые протоколы используют DNS и / или обратный просмотр DNS чтобы решить ваше полное доменное имя в ipaddress, как определено DNS-серверами или / etc / hosts, а не / etc / hostname на вашем локальном компьютере или удаленном сервере.

SSH

SSH будет использовать как / etc / hosts, так и DNS-серверы.

См. документацию ssh или https://serverfault.com/questions/153776/nmap-find-all-alive-hostnames-and- ips-in-lan для того, как отключить ssh от использования DNS-сервисов.

Если ssh не возвращает имя хоста, которое вы ожидаете, вам нужно продолжить расследование, см. https://serverfault.com/ questions / 266897 / why-is-hostname-lookup-in-ssh-return-a-different-result для получения подробной информации о том, как это сделать.

Итак, в вашем случае я предполагаю, что ssh также использует службы DNS вместо того, чтобы полагаться только на / etc / hosts, чтобы разрешить полное доменное имя, которое вы используете в командной строке.

SSH Я лично не использую мое полное доменное имя apache для моего имени локального хоста, используйте мое FQDN для ssh на моем сервере, и я обычно не передаю FQDN для nmap, и не использую NMAP для определения loc al. hostname сервера.

nmap сообщит вам полное доменное имя, зарегистрированное в FQDN, если оно существует, оно не сообщит вам, что находится в / etc / hostname удаленного сервера.

См. [D35] https://serverfault.com/questions/266897/why-is-hostname-lookup-in-ssh-returning-a-different-result

Пример:

NMAP по ip адресу

Это работает, предполагая, что ip-адрес является общедоступным, а удаленный хост включен, а не защищен брандмауэром для блокировки nmap;)

bodhi@daemon:~$nmap --top-ports 10 8.8.8.8 Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-28 16:10 MDT Nmap scan report for google-public-dns-a.google.com (8.8.8.8) Host is up (0.081s latency). PORT STATE SERVICE 21/tcp filtered ftp 22/tcp filtered ssh 23/tcp filtered telnet 25/tcp filtered smtp 80/tcp filtered http 110/tcp filtered pop3 139/tcp filtered netbios-ssn 443/tcp open https 445/tcp filtered microsoft-ds 3389/tcp filtered ms-wbt-server Nmap done: 1 IP address (1 host up) scanned in 2.15 seconds

NMAP по ip адресу

Это также работает до тех пор, пока имя, которое вы даете, является зарегистрированным FQDN

bodhi@daemon:~$nmap --top-ports 10 google.com Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-28 16:10 MDT Nmap scan report for google.com (172.217.11.238) Host is up (0.10s latency). Other addresses for google.com (not scanned): 2607:f8b0:400f:800::200e rDNS record for 172.217.11.238: den02s01-in-f14.1e100.net PORT STATE SERVICE 21/tcp filtered ftp 22/tcp filtered ssh 23/tcp filtered telnet 25/tcp filtered smtp 80/tcp open http 110/tcp filtered pop3 139/tcp filtered netbios-ssn 443/tcp open https 445/tcp filtered microsoft-ds 3389/tcp filtered ms-wbt-server Nmap done: 1 IP address (1 host up) scanned in 2.36 seconds

NMAP с фиктивным / не существующим FQDN

bodhi@daemon:~$nmap foo.bar Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-28 16:10 MDT **Failed to resolve "foo.bar".** WARNING: No targets were specified, so 0 hosts scanned. Nmap done: 0 IP addresses (0 hosts up) scanned in 0.55 seconds

Если у вас возникли трудности, нам нужна конкретная информация.

Опубликовать содержимое /etc/hostname и /etc/hosts Сообщите нам полное доменное имя всех ваших зарегистрированных доменных имен по соответствующим разделам ваших файлов конфигурации apache. Отправьте точные команды nmap и ssh, которые вы используете, и их выход.

Без дополнительной информации мы не можем прояснить любую путаницу между вашим локальным именем хоста и сетевым FQDN или отладить ваши соединения, если полное доменное имя не будет разрешено на ожидаемом удаленном сервере.

0
ответ дан 24 July 2018 в 19:42

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

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