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

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

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

Какая-либо идея о том, как зафиксировать это?

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

Имя показали в motd для "последнего входа в систему от", когда я использовал сервер для соединения с другим через ssh, и это показывает в части Имени хоста, когда я выполняю "Сердитый IP Сканер" (nMap эквивалент).

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

1 ответ

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

HOSTMAME

Это - установка, только используемая на Вашем localhost.

Для установки имени хоста локального компьютера использовать hostnamectl

sudo hostnamectl set-hostname new_hostname

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

DNS

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

Для получения дальнейшей информации на DNS см. https://webhostinggeeks.com/guides/dns/или подобный.

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

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

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

СЕТЕВОЕ ИСПОЛЬЗОВАНИЕ ПРИЛОЖЕНИЙ/etc/hosts и серверы DNS для разрешения FQDN

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

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

NMAP

Таким образом, при выполнении nmap он использует обратный сервис DNS и/etc/hosts для разрешения FQDN.

См. nmap документацию для деталей - https://nmap.org/book/man-host-discovery.html

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

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

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

SSH

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

См. ssh документацию или https://linux-tips.com/t/disabling-reverse-dns-lookups-in-ssh/222 для того, как отключить ssh от useing сервисов DNS.

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

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

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

nmap скажет Вам FQDN, зарегистрированный к FQDN, если он будет существовать, он не говорит Вам, что находится в/etc/hostname удаленного сервера.

Посмотрите, что ошибка Apache "Не могла надежно определить полностью определенное доменное имя сервера"

Пример:

NMAP IP-адресом

Это работает, предполагая, что IP-адрес общедоступен, и удаленный хост произошел и не firewalled для блокирования 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 FQDN

Это также работает пока имя, которое Вы даете, зарегистрированный 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
  • Скажите нам FQDN всех своих зарегистрированных доменных имен
  • отправьте соответствующие разделы своих апачских конфигурационных файлов
  • Отправьте точный nmap, и ssh управляет, чтобы Вы работали и их вывод.

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

0
ответ дан 2 December 2019 в 08:52

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

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