Расширьте OpenWRT DNS, добавив строки для разрешения локального IP.

Вопрос или проблема

У меня есть маршрутизатор OpenWRT, который функционирует как точка доступа Wi-Fi для локальной сети. В настоящее время маршрутизация не используется.

IP-адрес интерфейса wlan0 на маршрутизаторе статически установлен на 192.168.120.1. dnsmasq работает как служба, обеспечивая DHCP и DNS.

Моя цель – сделать так, чтобы веб-интерфейс маршрутизатора был доступен всем компьютерам в сети по адресу http://router.net, вместо того чтобы дублировать 192.168.120.1.

LuCI, веб-интерфейс OpenWRT, кажется, предоставляет несколько вариантов для достижения этой цели.

1 Сеть -> DHCP & DNS -> Статические аренды

введите описание изображения здесь

Моя первоначальная идея заключалась в том, что это для статических аренд для DHCP, но описание предполагает, что это также может позволить задавать имена хостов.

Статические аренды используются для назначения фиксированных IP-адресов и символических имен хостов клиентам DHCP.

Я ввел как MAC-адрес, так и IP-адрес wlan0 на маршрутизаторе вместе с желаемым именем хоста, но это не привело к тому, что я смог ping router_static_lease с ноутбука в подсети.

2 Сеть -> DHCP & DNS -> Файлы Resolv и Hosts -> Дополнительные файлы Hosts

введите описание изображения здесь

/etc/hosts на маршрутизаторе, и это должно было, благодаря dnsmasq, распределить это отображение ко всем компьютерам в подсети.

Это также не дало ожидаемого результата.

2 Сеть -> Имена хостов

введите описание изображения здесь

Третий подход заключался в том, чтобы добавить запись в приведенную выше форму. Снова без успеха.


После настройки всех этих параметров я перезапускаю маршрутизатор и пытаюсь выполнить пинг с компьютера в подсети.

~$ ping router_static_lease
   ping: router_static_lease: Имя или служба не известны
~$ ping router_hostnames
   ping: router_hostnames: Имя или служба не известны
~$ ping router_etc_hosts
   ping: router_etc_hosts: Имя или служба не известны

Выполнение dig для этих команд предоставляет мало помощи, так как указывает на разрешение systemd.

~$ dig router_etc_hosts

; <<>> DiG 9.10.3-P4-Ubuntu <<>> router_etc_hosts
;; глобальные параметры: +cmd
;; Получен ответ:
;; ->>HEADER<<- операция: ЗАПРОС, статус: SERVFAIL, id: 22668
;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 0, АВТОРИТЕТ: 0, ДОПОЛНИТЕЛЬНЫЕ: 1

;; OPT PSEUDOSECTION:
; EDNS: версия: 0, флаги:; udp: 65494
;; СЕКЦИЯ ЗАПРОСА:
;router_etc_hosts.      IN  A

;; Время запроса: 841 мс
;; СЕРВЕР: 127.0.0.53#53(127.0.0.53)
;; КОГДА: Вт, 20 июня 2017 15:27:14 CEST
;; РАЗМЕР СООБЩЕНИЯ, полученного: 45

Однако выполнение ~$ systemd-resolve --status показывает, что он пытается разрешить с правильным сервером 192.168.120.1.

~$ systemd-resolve --status
Link 3 (wlp4s0)
      Текущие области: DNS LLMNR/IPv4 LLMNR/IPv6
       Установка LLMNR: да
Настройка MulticastDNS: нет
      Настройка DNSSEC: нет
    Поддержка DNSSEC: нет
         DNS-серверы: 192.168.120.1
          DNS-домен: lan

Мой вопрос в том, что я делаю не так и какой был бы правильный способ достижения этого?

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

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

Ответ или решение

Чтобы расширить DNS на OpenWRT и разрешить локальные IP-адреса, вам необходимо убедиться, что правильно настроен ваша служба dnsmasq, которая предоставляет функции DHCP и DNS. Учитывая, что вы хотите получить доступ к интерфейсу маршрутизатора по адресу http://router.net, вместо ввода IP-адреса, вам нужно правильно настроить соответствующие записи.

Шаги для настройки DNS на OpenWRT:

  1. Подготовка окружения:

    • Убедитесь, что ваша конфигурация OpenWRT работает должным образом, и dnsmasq активно предоставляет DHCP и DNS.
    • Ваш IP-адрес маршрутизатора: 192.168.120.1.
  2. Добавление статического резерва:

    • Пройдите в интерфейс LuCI (веб-интерфейс OpenWRT).
    • Перейдите в раздел Network -> DHCP and DNS -> Static Leases.
    • Добавьте новую запись:
      • MAC-адрес: MAC-адрес вашего маршрутизатора (можно найти в разделе Status или выполнив ifconfig в командной строке).
      • IP-адрес: 192.168.120.1.
      • Hostname: router.net (или любое другое имя, которое вы хотите использовать).

    Это должно обеспечить статическую привязку IP-адреса к имени, но, возможно, это не решит проблему с разрешением имени из-за особенностей конфигурации.

  3. Настройка дополнительной конфигурации DNS:

    • Зайдите в Network -> DHCP and DNS -> Resolv and Hosts Files.
    • В поле Additional Hosts files вы можете добавить строку:
      192.168.120.1   router.net
    • Сохраните изменения и перезапустите dnsmasq, чтобы обновить настройки.
  4. Проверка конфигурации:

    • Убедитесь, что вы очистили кэш DNS на клиентском устройстве, с которого вы пытаетесь разрешить имя (например, запустите sudo systemd-resolve --flush-caches на Linux).
    • Попробуйте запустить команду ping router.net с устройства в той же локальной сети.
  5. Проверка через командную строку:

    • Если не удаётся решить имя через интерфейс, вы можете попробовать отредактировать /etc/hosts на вашем маршрутизаторе. Для этого:
      • Откройте SSH сессию на вашем маршрутизаторе.
      • Введите команду vi /etc/hosts (или nano).
      • Добавьте строку:
        192.168.120.1   router.net
    • Сохраните файл и перезапустите dnsmasq, с помощью:
      /etc/init.d/dnsmasq restart
  6. Проверка работоспособности:

    • После выполнения вышеизложенных шагов, отправьте команду:
      ping router.net
    • Если всё настроено правильно, вы должны увидеть ответы от IP-адреса 192.168.120.1.

Диагностика возможных проблем:

Если вы все еще не можете выполнить разрешение имени:

  • Проверьте, правильно ли настроен DHCP-клиент вашего компьютера и получает ли он DNS-сервер 192.168.120.1.
  • Убедитесь, что любые другие локальные или сетевые фильтры (например, свой DHCP-сервер) не мешают расшариванию DNS.
  • Убедитесь, что файервол на OpenWRT или на вашем клиенте не блокирует запросы.

Таким образом, с соблюдением всех вышеуказанных шагов, вы сможете настроить OpenWRT на разрешение локальных IP-адресов, обеспечив доступ к интерфейсу маршрутизатора по удобному имени.

Оцените материал
Добавить комментарий

Капча загружается...