Как получить доступ к устройству, подключенному к локальной сети с именем хоста?

Пометка этой памяти как неиспользуемой" зависит от того, сколько работы приходится выполнять системному вызову unlinkat(2), который, в свою очередь, линейно зависит от размера файла. Для стандартного tmpfs в системе RHEL 6 с ~4 Гб памяти это можно продемонстрировать следующим образом.

$ sudo mkdir /tmpfs; sudo mount -t tmpfs -o size=75% tmpfs /tmpfs; cd /tmpfs
$ dd if=/dev/zero bs=1M of=blah count=2859
...
$ strace -c rm blah 2>&1 | head -3
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.241964      241964         1           unlinkat
$ for c in 500 1000 1500 2000 2500; do dd if=/dev/zero bs=1M of=blah count=$c 2>/dev/null; echo -n "$c "; strace -c rm blah 2>&1 | awk '/unlinkat/{print $3}'; done
500 53992
1000 88986
1500 135980
2000 174974
2500 222966

Что касается того, что конкретно делает системный вызов unlinkat(2), то для этого придется покопаться в исходном коде; я предполагаю, что структура данных, представляющая файл в памяти (связанный список?), перебирается по мере удаления файла, что объясняет линейный рост времени работы с размером файла.

0
15.02.2019, 11:12
2 ответа

Вы можете добавить это имя хоста в файл /etc/hosts. Или вы можете создать собственный DNS-сервер и направить все клиентские машины на этот сервер.

файл hosts должен выглядеть так:

#IP hostname
127.0.0.1 localhost
192.168.1.1 router
0
28.01.2020, 02:41

Функциональность DNS (домашнего/малого офиса )маршрутизатора обычно ограничивается переадресацией любых DNS-запросов, поступающих к нему с локальной стороны, на DNS-серверы интернет-провайдера и передачей любых ответов обратно клиенту, который сделал запрос.

Нет никаких гарантий, что маршрутизатор всегда будет -действовать как полноценный DNS-сервер для локальной сети. Некоторые маршрутизаторы могут это сделать, но большинство — нет.

Несмотря на это, служба DNS не подключается -и -не воспроизводится :классически, администратор DNS-сервера должен будет отредактировать соответствующие файлы зон DNS на DNS-сервере, чтобы добавить записи DNS для хосты, которые должны быть доступны по имени. Современное добавление динамических обновлений DNS позволяет хосту зарегистрировать себя по имени, или хост может сообщить DHCP-серверу, -поддерживающему DDNS, сделать это от имени хоста.

(Поскольку маршрутизатор для дома/малого офиса обычно также имеет встроенный -DHCP-сервер,он мог бы сделать это как единый интегрированный пакет.)

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

Существуют и другие службы, разработанные для разрешения имен хостов, которые не требуют явного конфигурирования.

  • Многоадресный DNS (mDNS )— относительно новое решение, реализованное Apple Bonjour, пакеты Avahi с открытым -исходным кодом в Linux и в очень ограниченном смысле (обнаружение сетевых принтеров )только в Windows 10.

  • Link -Local Multicast Name Resolution (LLMNR )— это еще один протокол разрешения имен, который не требует явной настройки и позволяет системам в локальной сети находить друг друга по имени. Он реализован в Windows Vista и выше, а в Linux systemd-resolved.

Если ни одна из этих служб недоступна (или система, чье имя необходимо преобразовать, несовместима ), то традиционный возврат -в небольшие сети заключается в добавлении имени и IP-адреса. хоста (s ), который вы хотите разрешить по имени в /etc/hosts. Конечно, вам нужно будет сделать это на каждом хосте в локальной сети и синхронизировать файлы хостов, чтобы сделать это действительно полезным.

(Забавный факт, :на заре Интернета, до того, как была разработана DNS, существовал единый централизованно -управляемый мастер-файл hostsдля всего Интернета. Тот факт, что поддержка файла hostsстала неработоспособной, был одной из основных причин развития DNS.)

1
28.01.2020, 02:41

Теги

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