Как сделать мой сервер Linux 192.168.* доступным через http://hostname/?

Как сделать мой сервер Linux 192.168.* доступным через http://hostname/?

(Извините, если вопрос сформулирован некорректно и/или является повторением. Я не специалист по работе с сетями и, вероятно, использую неверные термины... это также затрудняет поиск ответа на этот вопрос.)

Я запускаю сервер CentOS в VirtualBox, хост Windows, и я могу видеть доступ к страницам Apache hosted с http://192.168.1.109/машин в моей локальной сети. Но я бы хотел, чтобы люди могли печатать http://hostname/...и потому, что это проще, и потому, что я не уверен, что локальный IP-адрес статический. Я не совсем уверен, как действовать — может кто-нибудь указать мне правильное направление? Спасибо.

решение1

Я предполагаю, что вы используете мостовую сеть (иначе виртуальная машина не была бы так легко доступна). Настройка DNS для локальной сети зависит от того, какой блок ее контролирует (какой-нибудь домашний маршрутизатор, я полагаю).

Если маршрутизатор слишком примитивен и не имеет собственного DNS-сервера, или вы не хотите его настраивать, вы можете использовать mDNS. УстановитьАвахина Linux-боксах иБонжурна Windows-боксах.

решение2

Вы можете создать файл hosts в Windows, который указывает на 192.168.1.109 как "веб-сервер" или как вам нравится, так что хост Windows будет иметь к нему доступ. Это предполагает, что ваша машина Windows также находится на 192.168.1.x, и соединение является мостовым. В противном случае вы можете рассмотреть переадресацию портов вашего виртуального сетевого соединения NAT, но в последний раз, когда я пробовал это с VirtualBox, это было тяжело сделать, поэтому я использовал мостовую сеть.

В противном случае вам нужно настроить внутренний DNS-сервер с правильным набором записей для этого IP. Излишество для того, что вы описываете.

google hosts file windows, чтобы получить информацию о том, как это настроить. Простой текстовый файл в вашей хостовой системе Windows, но будет работать только в этой системе, а не для всех в вашей сети. Если они работают под управлением Windows, вам также понадобятся пользовательские файлы HOSTS на их машинах. Громоздко, только если у вас много машин. Если вы работаете на более крупном сайте, вам нужно будет использовать маршрут DNS-сервера, который всего на три порядка больше PITA для первоначальной настройки, если только вы не виртуализируете DNS-сервер :-)

решение3

Если у ваших хостов динамические IP, вам нужен DHCP-сервер, который либо взаимодействует с DNS-сервером, либо сам является DNS-сервером. Я всегда использую DNSMasq на своих Linux-маршрутизаторах, которые выполняют DHCP и разрешение имен.

Если ваш маршрутизатор не поддерживает сервер имен, вы можете настроить сервер имен, например bind, который знает, какой хост где находится. Однако недостаток наличия отдельного сервера имен заключается в том, что вам нужно дать вашим хостам статические IP-адреса, а затем дать имена этих IP-адресов в сервере имен.

В крайнем случае, вы также можете отредактировать файл hosts на каждом клиенте, которому нужно иметь возможность искать сервер по имени. Мне нужна запись типа "192.168.1.1 bla.localdomain bla". Расположение файла hosts зависит от ОС.

решение4

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

Самым простым ответом было бы попытаться присвоить веб-серверу статический адрес (либо просто назначив ему статический адрес, либо настроив «резервирование DHCP»), а затем можно было бы просто воспользоваться идеей Барта и использовать файл hosts.

Связанный контент