(Извините, если этот вопрос сформулирован неправильно и / или дублируется. Я не специалист по сетям и, вероятно, использую неправильные термины ... из-за этого также трудно понять, был ли уже дан ответ. )
Я запускаю сервер CentOS в VirtualBox, хосте Windows, и я могу видеть доступ к страницам, размещенным в Apache, по адресу http://192.168.1.109/
с машин в моей локальной сети. Но я бы хотел, чтобы люди могли печатать http://hostname/
... и потому, что это проще, и в первую очередь потому, что я не уверен, что локальный IP-адрес статический. Я не совсем уверен, что делать дальше - может ли кто-нибудь указать мне правильное направление? Спасибо.
Вы можете создать файл hosts в Windows, который указывает на 192.168.1.109 как на «веб-сервер» или любое другое имя, которое вам нравится, чтобы хост Windows имел к нему доступ. Предполагается, что ваш компьютер с Windows также находится на 192.168.1.x и соединение является мостовым. В противном случае вы могли бы посмотреть, как порт перенаправляет ваше виртуальное сетевое соединение с NAT, но в прошлый раз, когда я пробовал это с виртуальным боксом, это было не так, поэтому я использовал мостовую сеть.
В противном случае вам необходимо настроить внутренний DNS-сервер с соответствующими записями, установленными для этого IP-адреса. Перебор для того, что вы описываете.
Google размещает окна файлов, чтобы получить информацию о том, как его настроить. Просто простой текстовый файл в вашей хост-системе Windows, но он будет работать только в этой системе, а не для всех в вашей сети. Если они работают под Windows, вам также понадобятся пользовательские файлы HOSTS на их машинах. Громоздка, только если машин много. Если вы работаете на более крупном сайте, вам нужно будет использовать маршрут DNS-сервера, который всего на три порядка больше PITA для первоначальной настройки, если вы не виртуализируете DNS-сервер :-)
Я предполагаю, что вы используете мостовую сеть (иначе виртуальная машина не была бы так легко доступна). Настройка DNS для локальной сети зависит от того, какой блок управляет им (я ожидаю, что это какой-то домашний маршрутизатор).
Если этот маршрутизатор слишком примитивен и не имеет собственного DNS-сервера или вы не хотите его настраивать, вы можете использовать mDNS. Установить Авахи на ящиках Linux и Bonjour на ящиках Windows.
Если ваши хосты имеют динамические IP-адреса, вам понадобится DHCP-сервер, который либо взаимодействует с DNS-сервером, либо сам является DNS-сервером. Я всегда использую DNSMasq на своих маршрутизаторах на базе Linux, которые выполняют DHCP и разрешение имен.
Если ваш маршрутизатор не поддерживает сервер имен, вы можете настроить сервер имен, например bind, который знает, какой хост где находится. Однако недостатком отдельного сервера имен является то, что вам нужно дать своим хостам статические IP-адреса, а затем указать имена этих IP-адресов на сервере имен.
В крайнем случае, вы также можете редактировать файл hosts на каждом клиенте, который должен иметь возможность искать сервер по имени. Мне нужна запись типа «192.168.1.1 bla.localdomain bla». Расположение хост-файла зависит от ОС.
Если вы не уверены, что IP-адрес статический, вы, вероятно, захотите проверить, есть ли / убедиться, что веб-сервер имеет запись DNS в локальной сети, чтобы ее всегда можно было найти. Проблема с файлами hosts на тестовых клиентах заключается в том, что они предполагают, что IP-адрес является статическим, поэтому, если IP-адрес изменится, вам придется продолжать обновлять файл hosts, что раздражает.
Самый простой ответ - попытаться дать веб-серверу статический адрес (либо просто назначив ему статический адрес, либо настроив «резервирование DHCP»), тогда вы можете просто согласиться с идеей Барта использовать файл hosts.