Мне нужно использовать пользовательское имя URL, доступное со всех устройств в локальной сети.
Я знаю, что это можно установить в /etc/hosts
файле
127.0.0.1 myname
127.0.1.1 system09-System-Product-Name
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
При вводе myname
хостов доступен доступ к myname/urlpath . Он доступен только для моей системы. Как сделать его доступным и для систем в моей локальной сети?
решение1
Как следует из названия, доступ к Localhost возможен только из вашей локальной системы.
Если вам необходимо, чтобы другие пользователи имели доступ к вашему пользовательскому URL-адресу, вам необходимо сопоставить IP-адрес вашей системы с используемым именем, а затем добавить эту запись на все рабочие станции вашей локальной сети, отредактировав их файлы /etc/hosts, например:
127.0.0.1 <custom_name> # this is for localhost
<your_ip_address> <custom_name> # this is to be added to other workstations in the LAN
Другое решение — использовать DNS-сервер в вашей локальной сети и создать запись A для вашего пользовательского имени, которая позволит другим пользователям в вашей локальной сети получать доступ к вашей ссылке.
решение2
Имя localhost
предназначено только для локального доступа.
С другой стороны, вам не следует удалять localhost
ни /etc/hosts
то, ни другое. Вы увидите много проблем, если попытаетесь это сделать.
С этого момента у вас есть 3 варианта.
- Создать запись в
/etc/hosts
файле всех соседних ПК - Настройте DNS-сервер в своей сети и добавьте записи в него. Большинство домашних маршрутизаторов имеют встроенный DNS-сервер/прокси, и многие из них позволяют добавлять пользовательские записи.
- Используйте mDNS. mDNS является частьюсетевое взаимодействие zeroconf. Он позволяет машине автоматически разрешать другие хосты в локальной сети без необходимости вручную настраивать DNS-сервер с этими хостами. Он делает это, отправляя широковещательный запрос и ожидая ответа.
Точная процедура настройки зависит от ОС, но Arch Linux имеетхорошее руководство.
После того, как вы запустите его, все, что вам нужно сделать, это обратиться к соседним хостам какfoo.local
(для хоста с именемfoo
).
Это решение является кроссплатформенным, так как оно поддерживается как в OS-X, так и в Windows (и я думаю, что оно включено по умолчанию в обеих).