DNS и resolv.conf

47 views
Skip to first unread message

Вадим С

unread,
Nov 29, 2015, 9:07:49 AM11/29/15
to embox-devel
Здравствуйте, уважаемые!

IP-адрес DNS задается жестко в mods.config строкой вида:
include embox.net.lib.dns(nameserver="192.168.0.1")

А поддерживается ли конфигурирование адреса DNS уже после компиляции и прошивки, например файлом resolv.conf ?

Ilia K

unread,
Nov 29, 2015, 1:07:14 PM11/29/15
to embox-devel

Здравствуйте Вадим!

На сколько я знаю, такого сейчас в проекте нет и указывать адрес сервера нужно во время компиляции.

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

Господа, поправьте меня если я не прав.

- Ilia

--
You received this message because you are subscribed to the Google Groups "embox-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to embox-devel...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Вадим С

unread,
Nov 29, 2015, 3:31:42 PM11/29/15
to embox-devel
Реализация через поддержку файла resolv.conf, вероятно, не очень удобна по причине readonly файловой системы. Хотя если через symlink это сделать, то проблемы быть не должно, но есть ли поддержка symlink? Возможно, целесообразно иметь команду для установи DNS-сервера (-ов).

воскресенье, 29 ноября 2015 г., 22:07:14 UTC+4 пользователь Илья К написал:

Anton Bondarev

unread,
Nov 30, 2015, 4:30:14 AM11/30/15
to embox...@googlegroups.com
Изначальной причиной статической конфигурации адреса являлось требование того, чтобы вмешательство в систему было затруднительно. Но никто не запрещает немного доработать dns, чтобы он брал либо статический адрес, либо читал из файла, либо вообще получал по dhcp. Можно узнать конкретную задачу? Мне кажется, что подобная доработка будет не слишком большая. Идея со специальной командой настройки мне нравится.

29 ноября 2015 г., 23:31 пользователь Вадим С <vsar...@yandex.ru> написал:

Вадим С

unread,
Nov 30, 2015, 5:00:22 AM11/30/15
to embox-devel
Нужно сделать так, что бы пользователь устройства мог конфигурировать сетевые настройки через web-интерфейс, а именно изменять IP-адрес, маску подсети, адреса шлюза и DNS-сервера. DHCP-клиент embox пока не поддерживает DNS-серверы которые мне доступны в роутерах. Конфигурация сети заранее не известна, может быть будет выход в сеть интернет, а может быть и нет.
Я сделал устройство для управления шлагбаумом по Ethernet и звонку на GSM-модуль (по CallerID). На FreeRTOS не очень удобно работать с файлами во flash, хотя остальной функционал вполне работает. Хочется сделать законченное устройство на embox для возможности добавления функционала из мира linux, хотя вот в первых 64 кБ будет размещаться IAP для возможности обновления прошивки embox. На embox у меня не получилось сделать программу для обновления прошивки (IAP) размером до 64 кБ, или даже 128 кБ.

воскресенье, 29 ноября 2015 г., 18:07:49 UTC+4 пользователь Вадим С написал:

Anton Bondarev

unread,
Nov 30, 2015, 11:37:38 AM11/30/15
to embox...@googlegroups.com
Задача более менее понятна .

Наверное самое правильное это реализовать утилиту которая записывает в файл и если такой файл пустой при загрузке, то записывать туда значение по умолчанию.
Я правильно понимаю, что хочется это сделать для внутренней flash-памяти stm-ки?


30 ноября 2015 г., 13:00 пользователь Вадим С <vsar...@yandex.ru> написал:

--

Вадим С

unread,
Nov 30, 2015, 2:17:34 PM11/30/15
to embox-devel
Записать в файл, если он доступен для записи, не сложно - я уже не предлагаю создавать специальную утилиту. Просто сам файл resolv.conf пока не учитывается DNS-клиентом embox. Нужно реализовать эту поддержку.
Правда, придется монтировать корень файловой системы STM32 на запись, что не очень хорошо. Предлагаю определить дополнительный параметр для определения пути и имени файла содержащего nameserver, например так:

include embox.net.lib.dns(nameserver="192.168.0.1", file="/conf/resolv.conf")
По умолчанию пусть file="/resolv.conf"

Это позволит не иметь отличий от linux, но и при необходимости определить файл resolv.conf в другом разделе, доступном для записи на STM32.


воскресенье, 29 ноября 2015 г., 18:07:49 UTC+4 пользователь Вадим С написал:
Здравствуйте, уважаемые!

Anton Bondarev

unread,
Dec 2, 2015, 5:06:24 AM12/2/15
to embox...@googlegroups.com
Идею понял, постараюсь сделать на этой неделе. По итогам отпишусь
.

30 ноября 2015 г., 22:17 пользователь Вадим С <vsar...@yandex.ru> написал:

--

Anton Bondarev

unread,
Jan 25, 2016, 6:35:16 AM1/25/16
to embox...@googlegroups.com
Вадим, добрый день.
С прошедшими праздниками!

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

Сейчас интерфейс следующий
dnsclient -i <ip_addr>  - инициализация, установка адреса если нет файла /resolv.conf или в нем не установлен nameserver
dnsclient -s <ip_addr> - установка и сохранение адреса в файле /resolv.conf

Кроме того мы сделали эксперементальную систему загрузки сетевых параметров, с помощью команды netmanager. Когда она вызывается она смотрит на файл  /interfaces и вызывает bootpc для каждого, если не удалось получить параметры от dhcp сервера то устанавливаются параметры описанные в этом файле.

Надеюсь данные улучшения сделают работу с Embox проще.

С уважением, Антон Бондарев


2 декабря 2015 г., 13:06 пользователь Anton Bondarev <anton.bon...@gmail.com> написал:
Reply all
Reply to author
Forward
0 new messages