PDA

Bekijk de volledige versie : Несколько DNS и dnsmasq



idmitry
05-09-2006, 14:55
Господа, довольно тривиальный вопрос как мне казалось. Хочу чтобы из локальной сети на базе wl500gP можно было по имени вызывать хосты. Например по http://router я могу попасть на страничку уонфигурации маршрутизатора. Но вот новое какое-то еще соответствие IP - имя сделать не получается.

Как делал:
cp /etc/hosts /usr/local/etc/hosts
отредактировал /usr/local/etc/hosts добавив запись
myhost 10.20.20.1

делаю ping myhost с компьютера: не могу найти myhost.
при этом ping myhost с роутера проходит удачно.

P.S.: Поиском по форуму искал, так что сильно не бейте :)

andlev
05-09-2006, 15:27
Ну ты даёшь, как оно будет с компа ресолвиться если хосты только в hosts роутера прописаны? Пропиши в локальный hosts и все (в виндах C:\Windows\system32\drivers\etc\hosts). Если нужно централизованно управлять именами, то подними на роутере DNS сервер, а на нем локальную зону, и прописывай имена хвостам. Разумеется на компе нужно будет указать первым DNS-дом IP роутера, и разобраться с файрволом, все остальное тривиально. На wl500gP поднимал BIND (named), абсолютно полноценный пакет.

idmitry
05-09-2006, 18:41
Нужно именно централизовано и вариант с виндовым hosts не интересен. Наивно полагал, что встроенный DNS подхватывает hosts на роутере :)
Хорошо, преформулирую тогда вопрос: как средствами роутера без дополнительного DNS-софта (встроенный DNS форвардинг у него же уже есть) на нем организовать резолвинг имен? Естественно DNS компам раздается роутерский, т.е. 192.168.1.1. Ведь слово router он резолвит.

andlev
05-09-2006, 19:16
Почитай про dnsmasq, это в некотором смысле полноценный DNS + DHCP. Его плюс в том, что он типа уже есть в прошивке и работает. Вся задача сводится к конфигурированию, но тут я уже ничего не подскажу, у меня на dnsmasq аллергия с давних времён, поэтому выключил как только увидел :D

Oleg
05-09-2006, 19:39
Будет оно резолвить, только Вы роутер не забудьте перегрузить... Есть ещё одно - виндоус не резолвит короткие имена, если в конце имени нет точки. Чтобы резолвило нужно для dhcp указать домен.

idmitry
05-09-2006, 20:16
Действительно заработало после указания домена DHCP, т.е. myhost.home теперь резолвится :)
Большое спасибо за совет!

imdex
05-09-2006, 21:00
Вот ссылка (http://ilya-evseev.narod.ru/articles/dnsmasq/dnsmasq-article.html) по базовой настройке dnsmasq. 2andlev (offtop) - а почему такое к нему отношение? Для интрасетей домашних вполне функционален, ИМХО.

submaster
16-11-2006, 13:32
Подскажите, пожалуйста, как добавить адрес 3-го DNS-сервера, чтобы DHCP-сервер роутера выдавал его компьютерам вместе с теми двумя DNS'ами, которые он получает автоматически при коннекте с провайдером. По-видимому, через Web это сделать невозможно, а как через Telnet - я не знаю.

sevkin
09-01-2007, 20:48
прелюдия:
прошивка WL500gp-1.9.2.7-7f, используется DHCP, интернет раздается со шлюзового компьютера, подключенного к одному из LAN портов.
на интернет шлюзе так же стоит dnsmasq который кеширует адреса интернета.

теперь людия:

хотел сделать шлюз upstream dns сервером для dnsmasq в роутере. что бы локальные машины разрешали все имена через роутер, а все что роутер не знает - сам спрашивал у шлюза. (про 2 dns - в конце)

echo "nameserver 192.168.1.111" >>/usr/local/etc/resolv.conf; flashfs save; flashfs commit; flashfs enable

192.168.1.111 - адрес шлюза (статический)

после перезагрузки имеем пустой /etc/resolv.conf (он же /tmp/etc/resolv.conf он же /tmp/resolv.conf)

файла /usr/local/.files нет, то есть по идее все должно было скопироваться.

лечится просто:
echo "cp /usr/local/etc/resolv.conf /tmp/; killall -sighup dnsmasq" >>/usr/local/sbin/post-boot

то есть вручную копируется конфиг, и потом заставить dnsmasq перечитать его.

но почему не копируется сам - вот в чем вопрос....

еще пробовал через веб интерфейс просто прописать 2 dns сервера, но тогда роутер не разрешает локальные имена. может это тоже баг?

andycpp
09-01-2007, 21:01
Про асус не знаю, но если у тебя Dns под виндой запущен и присутствует домен/ad, то все машины должны ресолвить имена через твой локальный ДНС, и только он должен иметь форвардинг на другие (провайдеровские/роутеровские сервера). В ином случае будут возникать всякие разные проблемы, т.к. винда очень сильно завязана на свой днс-сервер.

Oleg
09-01-2007, 21:56
прелюдия:
прошивка WL500gp-1.9.2.7-7f, используется DHCP,
Режим какой? Аксесс поинт? ДХЦП для кого? Или она сама получает адрес по ДХЦП?

sevkin
10-01-2007, 06:52
Режим какой? Аксесс поинт? ДХЦП для кого? Или она сама получает адрес по ДХЦП?

режим... эээ самый верхний на вебформе =) не помню, роутер увижу - уточню.

роутер -dhcp/dns сервер, раздает ip локальным компам и ресолвит их имена соответственно; (статика на роутере и шлюзе. для остальных не подходит, часть "зоопарка" мобильно по разным сеткам ошивается =)

шлюз - dns сервер, кеширует и ресолвит интернет домены (что бы на нем dns трафик типа чуть сэкономить и nat для dns запросов не поднимать, все равно весь интернет через шлюзовые прокси пропущен. (тот же dnsmasq, только dhcp-range закоментированы)

на шлюзе вообще gprs модем и dvb-s приемник подрублены (провинциальный вариант adsl модема =)

я вот думаю может мне шлюз в wan порт воткнуть...

косяк номер раз /etc/resolv.conf не достается из flashfs или я логику загрузки неправильно вкурил :(

пошарил тут по форуму... народ дружно наступает на одни и те же грабли...

все в post-boot дописывают в /etc/resolv.conf

блин.

я вот тут подумал... может это udhcpc гадит?

Ajax
04-06-2007, 14:22
Не могу понять что происходит, помогите разораться.

Вот такие вот настройки
named.conf (кусок с options, всё остальное работает, сам named запускается на ура)

options {
directory "/opt/etc/named";
forwarders {
<provDNS1>;
<provDNS2>;
};
listen-on {
127.0.0.1;
192.168.1.1;
<real-ip>;
};
};


Далее, файр

## open DNS
#
iptables -I INPUT 3 -p tcp -d <real-ip> --dport 53 -j ACCEPT
iptables -I INPUT 4 -p udp -d <real-ip> --dport 53 -j ACCEPT

NAT не нужен потому что всё крутится на <real-ip> (для внутренних это отдельно)

Что странно - изнутри с роутера всё видно, скажем dig@<real-ip> домен выдаёт то что положенно, а вот "снаружи" отваливается по таймауту. Что еще странно - сказал файру ловить дропнутые пакеты и сдела telnet <real-ip> 53 (тоесть на DNS), результат выглядит вот так

Ajax-eMac:~ ajax$ telnet <real-ip> 53
Trying <real-ip>...
Connected to <real-ip>.
Escape character is '^]'.
Connection closed by foreign host.
Ajax-eMac:~ ajax$
Причём всё это в течении секунды-две, тоесть коннекти и тут же досвидания. В логах дропнутых пакетов нет :(

Mam(O)n
04-06-2007, 15:42
Насколько мне не изменяет память(роутера нет под рукой) на 53 порту живет dnsmasq и ресолвит имена в локалку.

nms42
18-10-2007, 13:06
К Олегу обращение,

Список изменений (http://www.thekelleys.org.uk/dnsmasq/CHANGELOG)

Спасибо за внимание :)

Oleg
18-10-2007, 18:11
список интересный, только чего именно вам из него не хватает?

просто замена только снаружи кажется простой, бывает так, что перестаёт работать то, что всегда работало. :(

nms42
18-10-2007, 21:06
Я бы не сказал что у меня что-то mission critical :D

Так что, наверное, моей просьбе можно назначить низкий приоритет. :D

Mirage-net
19-10-2007, 07:08
Я бы не сказал что у меня что-то mission critical :D

Так что, наверное, моей просьбе можно назначить низкий приоритет. :D

ИМХО В текущее время в нашей реальности пока все изменения привнесенные в этот пакет не имеют практического смысла .... Так что Олег правильно сказал не надо трогать то что работает без критической надобности ...

a_kogan
05-11-2007, 14:43
Роутер проработал год и вот кобиновцы со своей стороны судя по всему что-то накрутили и теперь сессия рвется через каждые несколько минут.

Сейчас обновил прошивку на новую и все осталось также.
Теперь вопросы:
1) Скажите почему после соединения PPTP процесс pppd стирает содержимое /tmp/resolv.conf? В тоже время если я в конфигурации по анологии с юниксами создаю файлик resolv.conf под это соединение он его не подхватывает.
2) Как можно запустить pppd с максимальным дебагом чтобы понять из-за чего рвется соединение?

Mam(O)n
05-11-2007, 19:43
Кто стирает resolv.conf я не в курсе, но его содержимое можно восстанавливать из скрипта /usr/local/sbin/post-firewall и после не помешает послать сигнал killall -hup dnsmasq.
man pppd (http://linux.die.net/man/8/pppd)

Ajax
06-11-2007, 13:18
Народ,

Как правильно сконфигурить (желательно с примерами) dnsmasq чтобы он работал в качестве сервера. Есть желание "завязать" доменное имя на адрес т.к. айпишник получаемый по PPPoE постоянная. Ставил bind но так как на 53-м порту уже "болтается" dnsmasq то видимо надо как-то через него это всё придумывать, но как? И еще момент - ну напишу я dnsmasq.conf а как заставить прошивку "цеплять" его при загрузке?

camel_cop
06-11-2007, 15:00
Иногда (не всегда) на ББ отваливается резолвинг локальных сетевых адресов. Т.е. интернет адреса нормально, а адреса локальной сети провайдера - нет
Причем с самого роутера адреса провайдера нормально видятся и заходятся.

Поначалу грешил на ББ на FW (Outpost), что он кеширует DNS и поэтому есть проблемы. Модуль кеширования убирал, FW убивал - бестолку.
После установки на ББ Ubuntu - ситуация сохранилась, так что все же грешу на настройки самого роутера.
Причем сейчас ББ постоянно перестал резолвить локальные адреса, но это видимо после установки последней прошивки и наката старых настроек.

прошивка 1.9.2.7-8
то же самое наблюдалось на 1.9.2.7-7g
Провайдер ТРК-Одинцово, PPPoE

Какие нужно показать логи и настройки, чтобы можно было понять в чем проблема?

Mam(O)n
06-11-2007, 15:14
Причем с самого роутера адреса провайдера нормально видятся и заходятся.
Попробуй на роутере дать команду killall -hup dnsmasq

camel_cop
06-11-2007, 18:01
Попробуй на роутере дать команду killall -hup dnsmasq

был такой процесс
72 nobody 496 S [dnsmasq]
команда его не убила
снес его по pid
процесс умер, но ничего не изменилось
на роутере имена в локальной резолвятся
на ББ нет...

Mam(O)n
06-11-2007, 18:17
Я его не убить просил, а прослать сигнал -hup для того, чтобы он заново прочитал из файла конфигурации настройки днс. Этот процесс какраз и отвечает на днс запросы с клиентов которые в lan сидят.

upd
зы. ББ это я так понимаю - Большой Брат? :)

camel_cop
06-11-2007, 19:57
роутер перегрузил
сигнал hup послал
ситуация прежняя...

таблица маршрутов


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.21 10.64.1.1 255.255.255.255 UGH 0 0 0 vlan1
10.60.1.22 10.64.1.1 255.255.255.255 UGH 0 0 0 vlan1
10.60.1.21 10.64.1.1 255.255.255.255 UGH 0 0 0 vlan1
10.0.0.22 10.64.1.1 255.255.255.255 UGH 0 0 0 vlan1
192.168.10.0 10.64.1.1 255.255.255.0 UG 0 0 0 vlan1
192.168.0.0 10.64.1.1 255.255.248.0 UG 0 0 0 vlan1
10.64.0.0 * 255.255.0.0 U 0 0 0 vlan1
172.16.0.0 * 255.255.0.0 U 0 0 0 br0
10.0.0.0 10.64.1.1 255.0.0.0 UG 0 0 0 vlan1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default nas1.trc.local 0.0.0.0 UG 0 0 0 ppp0
default 10.64.1.1 0.0.0.0 UG 1 0 0 vlan1


пытаюсь достучаться до www.trc.local (10.60.1.20)
с роутера все ок
с ББ (большой брат ;)) - только по IP...

Mam(O)n
06-11-2007, 20:10
С роутера


nslookup www.trc.local 127.0.0.1

что говорит?

camel_cop
06-11-2007, 20:26
nslookup www.trc.local 127.0.0.1
Server: localhost.localdomain
Address: 127.0.0.1

Name: www.trc.local
Address: 10.60.1.20

Mam(O)n
06-11-2007, 20:29
Значит на роутере днс-сервер (dnsmasq) работает. Файрвол на роутере не трогал? iptables -L INPUT -vn в студию. И nslookup www.trc.local с ББ также в студию.

camel_cop
06-11-2007, 20:35
iptables -L INPUT -vn
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 logdrop all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
4595 940K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
56 3360 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 state NEW
404 144K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 state NEW
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
1 78 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
1674 216K logdrop all -- * * 0.0.0.0/0 0.0.0.0/0


с ББ

nslookup www.trc.local
Server: 10.60.1.20
Address: 10.60.1.20#53

Name: www.trc.local
Address: 10.60.1.20

вообще прокси пытался настроить на роутере, но отвалилось задолго до этого

Mam(O)n
06-11-2007, 20:38
Сразу вопрос - а почему ББ в качестве днс сервера использует 10.60.1.20#53 вместо днс сервера роутера? А файрвол не мешает - там всё ок.

upd
Если ББ по dhcp эти настройки получает то загляни сюда IP Config => DHCP Server => DNS Server 1: тут должно быть пусто.

camel_cop
06-11-2007, 22:15
Сразу вопрос - а почему ББ в качестве днс сервера использует 10.60.1.20#53 вместо днс сервера роутера? А файрвол не мешает - там всё ок.

upd
Если ББ по dhcp эти настройки получает то загляни сюда IP Config => DHCP Server => DNS Server 1: тут должно быть пусто.

на ББ DNS прописан руками
две штуки
1. 10.60.1.20 DNS провайдера
2. 172.16.1.1 (роутер)

похоже как-то не так работает DHCP на роутере - ББ не получает корректно IP и гейт, приходится прописывать их руками.
пока затрудняюсь сказать в чем проблема - то ли DHCP роутера то ли DHCP клиент на Ubuntu...

склоняюсь к мысли что надо сделать полный сброс роутера и заново все установить - я вижу в настройках Virtual Server ( /tmp/nat_rules )несколько адресов, которые я использовал раньше, а сейчас не использую

в веб интерфейсе эти настройки не видны...

Mam(O)n, спасибо за помощь
сейчас надо сносить Ubuntu, завтра заберу свой ноут из трехмесячного ремонта, буду ставить все с нуля. Заодно и роутер восстановлю
Скорее всего проблема кроется в том что я использовал сохраненные настройки от старых версий прошивок на новой

прошу прощения у автора темы за то что зафлудили ее не по делу...

Mam(O)n
06-11-2007, 22:39
Я вообще клоню к тому, что если на роутере все dns имена резолвятся нормально, то почему бы не использовать в качестве основного dns сервера - роутер.

А сброс в дефолт при таких глюках (я про nat_rules) я думаю лишним не будет. Но проблема скорее в 10.60.1.20 DNS провайдера, если с роутера всё нормально резолвится.

Кстати у меня на ubuntu искаропки сразу нормально подхватились c dhcp роутера ip и днс.

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

camel_cop
07-11-2007, 06:44
Проверил вчера на чистой WinXP получение данных по DHCP
и вот что интересно:
Винда получила DNS, один роутера(172.16.1.1), второй 10.60.1.20
и хосты стали резолвится нормально
Зато гейт получила - не АСУСа, а следующий после него (10.64.1.1, как раз тот, про который знает сам роутер), до которого соответственно не знает как достучаться т.к. не знает гейт роутера (172.16.1.1)
Ну сетка соответственно перестала работать с DHCP
Прописывать статику на винде уже не стал, скорее всего с ней заработало бы
Однозначно надо роутер с нуля настроить...
Когда заработает - отпишусь здесь
Надеюсь все будет хорошо )

lomik
07-11-2007, 07:59
А ты в настройках dhcp сервер-а на рутере какой гейт поставил? Надо 172.16.1.1




Зато гейт получила - не АСУСа, а следующий после него (10.64.1.1, как раз тот, про который знает сам роутер), до которого соответственно не знает как достучаться т.к. не знает гейт роутера (172.16.1.1)

во завернул-то

Mam(O)n
07-11-2007, 11:59
Ну в настройках IP Config => DHCP Server => Default Gateway поле лучше пустым оставить, дабы дефолтом выдавался, чтоб потом при смене ip роутера на эти же грабли не нарваться снова.

camel_cop
08-11-2007, 22:14
я слепой!..
мне же писали


Если ББ по dhcp эти настройки получает то загляни сюда IP Config => DHCP Server => DNS Server 1: тут должно быть пусто.
это же настройки на роутере, а я понял, что это настройки ББ...
гейт нормальный теперь пришел на ББ

дошло после поста lomik`а ;)

спасибо за помощь

tinde
18-11-2007, 18:18
Здравствуйте!

Имеется: провайдер, у которого два НЕЗАВИСМИЫХ dns. Один отвечает за одну часть имен, другой за другую.

Прописываю их в resolv.conf. На роутере все резолвится отлично. На подключенных к нему машинах - через раз.

Плюс имеется огромная задница. Некоторые хосты в нашей сетке имеют имена вида *.govnoprovider.local
На подключенных к роутеру машинах такие имена не резолвятся принципиально.

Пожалуйста, подскажите умную идею :)

vsu
18-11-2007, 20:57
Если один из этих серверов отвечает за имена вида *.govnoprovider.local, можно убрать его из настроек роутера, а в /usr/local/etc/dnsmasq.conf сделать запись вида:
server=/govnoprovider.local/192.168.3.4(вписав туда IP-адрес этого сервера). Далее, как обычно, flashfs save; flashfs commit. При загрузке содержимое /usr/local/etc/dnsmasq.conf дописывается в конец /etc/dnsmasq.conf после автоматически сгенерированных настроек.

В принципе хорошо бы добавить туда ещё и соответствующую зону из in-addr.arpa (если этот govnoprovider вообще её поддерживает для своих адресов).

Вообще см. описание dnsmasq (http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html).

tinde
19-11-2007, 01:53
Если один из этих серверов отвечает за имена вида *.govnoprovider.local, можно убрать его из настроек роутера, а в /usr/local/etc/dnsmasq.conf сделать запись вида:
server=/govnoprovider.local/192.168.3.4(вписав туда IP-адрес этого сервера). Далее, как обычно, flashfs save; flashfs commit. При загрузке содержимое /usr/local/etc/dnsmasq.conf дописывается в конец /etc/dnsmasq.conf после автоматически сгенерированных настроек.


Такого рода строчками я разобрался со всеми доменами, кроме .local. Он почему-то не хочет работать принципиально, хотя dig выдает правильные данные. tcpdump показывает, что при попытке разрезолвить site.govnoprovider.local через eth0 вообще ничего не идет. Понимаю, что проблема не в роутере, но никак не пойму, в чем дело :(
А, чуть не забыл, на подключенных к роутеру машинах - линух.

UPD: Ыыыы, все оказалось до смешного просто. Отключил демона avahi - и все встало на свои места :)

zap
13-12-2007, 21:58
Вот наконец и я стал обладателем wl500gp, бо назрела необходимость и появилась возможность. Прошил последнюю прошивку местного рОзлива и начал дорабатывать напильником под свои потребности :) В связи с этим возникли вот такие вопросы:

* При загрузке роутера запускается /linuxrc, затем /sbin/rc, что происходит дальше? Вопрос: Кто запускает thttpd, telnet и все остальные демоны? Кто вытаскивает данные из nvram (насколько я понял, это просто раздел на флэше) и на их основе формирует всё начальное содержимое tmpfs?

* У меня на интерфейсе WAN (то бишь VLAN1) имеются две сети: 85.249.169.* и 192.168.56.*. Мой роутер имеет статический адрес в сегменте 85.249.169.*. При этом, чтобы связь с компьютерами из сегмента 192.168.56.* была быстрее, лучше всего добавлять роут на эту сеть прямо на интерфейс VLAN1, примерно так:


ip r add 192.168.56.0/21 dev vlan1

К сожалению, это приходится делать из post-boot, ибо веб-интерфейс на странице роутинга требует обязательно указывать шлюз (которого в данном случае просто нет). Вопрос: Насколько сложно модифицировать веб-морду, чтобы шлюз стал необязательным, и стартовые скрипты, чтобы в случае отсутсвия шлюза генерировался маршрут примерно такого вида, как нарисовано выше?

* dnsmasq. С этой программой я работаю давно и с удовольствием, поэтому решил тут задействовать его на всю катушку. Но, к сожалению, приходится целиком замещать dnsmasq.conf причём довольно жёстко: в post-boot я прописал так:


cp /usr/local/etc/dnsmasq.conf /etc/dnsmasq.conf
killall dnsmasq
dnsmasq

(по какой-то причине dnsmasq не реагирует на kill -HUP). Есть ли более изящный способ добавить несколько опций к существующему конфигу dnsmasq? Например, в dnsmasq.conf есть возможность указать каталог, из которого он прочтёт все файлы и проинтерпретирует как дополнительные конфиги:


conf-dir=/usr/local/etc/dnsmasq.d

а дальше в /usr/local/etc/dnsmasq.d я создам свой собственный конфиг и задам/переопределю все опции, которые захочу.

Вопрос: насколько сложно сделать так, чтобы штатный /etc/dnsmasq.conf всегда содержал в конце эту строчку?

* Ещё одна фигня случилась, когда я решил задать на адрес 192.168.1.1 личное имя, не удосужившись посмотреть на веб-морду в которой такая опция есть. Поэтому я просто создал свой собственный файл /usr/local/etc/hosts, добавил в /usr/local/.files строчку "/etc/hosts" и вписал туда:


127.0.0.1 localhost.localdomain localhost
192.168.1.1 gate.home.lan gate my.router my.WL500gp

Но после перезагрузки я сделал cat /etc/hosts, и обнаружил что строчки стали размножаться почкованием:


127.0.0.1 localhost.localdomain localhost
192.168.1.1 gate.home.lan gate my.router my.WL500gp
127.0.0.1 localhost.localdomain localhost
192.168.1.1 my.router my.WL500gp
127.0.0.1 localhost.localdomain localhost
192.168.1.1 gate.home.lan gate my.router my.WL500gp

Причём наметилась тенденция увеличения количества строк на две при каждой перезагрузке. Я конечно испугался что в один прекрасный день у меня файл разрастётся настолько, что не поместится на tmpfs и тогда мой роутер просто перестанет грузиться. Удалил /usr/local/etc/hosts, удалил .files, однако при каждой перезагрузке роутера в файле /etc/hosts продолжает добавляться по две строки! Вопрос: Что делать и кто виноват?

* В домашней сети настроил DHCP. Всё прекрасно работает, dnsmasq складывает выделенные адреса в файл /etc/dnsmasq.log. Однако при перезагрузке роутера этот файл, к несчастью, теряется, что приводит к тому, что dnsmasq "не помнит" кому какие адреса выдал, а главное - забывает локальные имена. То есть мой компьютер, к примеру, резко забывает что он называется zap.home.lan, что приводит к задержкам при запуске некоторых приложений (они пытаются отрезолвить это имя). Вопрос: насколько сложно сделать, чтобы файл /tmp/dnsmasq.log сохранялся при перезагрузке роутера?

-----------------------------

Спасибо всем, кому хватило терпения прочитать до этого места :-) В качестве награды дарю рецепт разноцветной строчки подсказки командной строки: создайте файл /usr/local/etc/profile со следующим содержимым:


#!/bin/sh
export PS1="\r\[\e[1;37m\][\[\e[34m\]\u\[\e[37m\]@\[\e[32m\]\h\[\e[37m\]|\[\e[36m\]\w\[\e[37m\]]\[\e[0;36m\]"

После этого сделайте файл запускаемым и запишите всё на flashfs:


chmod a+x /usr/local/etc/profile
flashfs save; flashfs commit; flashfs enable

И, кстати, между делом последний вопрос - что делает команда flashfs enable? save формирует архив, commit записывает его на /dev/mtd4, а enable? Нужно ли делать enable каждый раз, или достаточно одного?

Mam(O)n
13-12-2007, 22:42
К сожалению, это приходится делать из post-boot
Все модификации маршрутов и таблиц файрвола нужно делать из скрипта post-firewall, т.к. при изменении в интерфейсах(connect-disconnect) эти таблицы переинициализируются и после вызывается данный скрипт.



Есть ли более изящный способ добавить несколько опций к существующему конфигу dnsmasq? Вопрос: насколько сложно сделать так, чтобы штатный /etc/dnsmasq.conf всегда содержал в конце эту строчку?
Можно добавить эту строчку в /usr/local/etc/dnsmasq.conf. Содержимое этого файла будет автоматически дописано в конец /etc/dnsmasq.conf


И, кстати, между делом последний вопрос - что делает команда flashfs enable? save формирует архив, commit записывает его на /dev/mtd4, а enable? Нужно ли делать enable каждый раз, или достаточно одного?
Записывает в nvram версию прошивки при который был создан flashfs. Если при загрузке версия текущей прошивки не совпадает с версией при которой был создан flashfs тогда он не разворачивается. В последней версии прошивки достаточно сделать flashfs enabled чтобы впредь данная проверка не выполнялась

zap
13-12-2007, 23:22
Спасибо за ценные советы. Я просто добавил все нужные мне опции в /usr/local/etc/dnsmasq.conf, я не знал что есть такая фича :)

Насчёт enable я так и не понял, нужно ли делать flashfs enable один раз или после каждого commit :) Если я правильно понял, "enabled" разрешает использование архива даже если я перепрошью другую версию прошивки что, вообще говоря, может выйти боком.

P.S. А /etc/hosts всё разрастается и разрастается :-( Можно было бы подумать, что существует файл /usr/local/etc/hosts, который при каждой загрузке добавляется в конец /etc/hosts, по образу dnsmasq.conf. Однако никакого /usr/local/etc/hosts у меня нет, это совершенно точно. Интересно, где сохраняется мой /etc/hosts между перезагрузками???

zap
13-12-2007, 23:31
Я баран. Забыл удалить файл /usr/local/.files (точнее вроде как удалил, но видимо не попал :-), а там было написано /etc/hosts. В результате он действительно при каждом flashfs save сохранял текущий hosts, а при следующей загрузки дописывал его к создавшемуся.

Mam(O)n
14-12-2007, 00:01
Насчёт enable я так и не понял, нужно ли делать flashfs enable один раз или после каждого commit :)
Достаточно одного раза и будет работать до следующей версии прошивки.

hans0n
14-12-2007, 03:48
zap

<...>имеются две сети: 85.249.169.* и <...>

ты с города Владимира?
отпиши в личку.

ozforester
16-12-2007, 20:49
Здраствуйте, уважаемые. Возникла необходимость поднять на wl500gp днс-сервер. Например Bind 9. С установкой bind и конфигурацией вроде бы все ясно, а вот как совместить его с существующим dnsmasq? Собственно, что хотелось бы получить: Сохранить dhcp/nat для локалки и поднять bind для обслуживания ее рекурсивных запросов, минуя сервера провайдера, которые получаются из pppoe сессии (их второй день крючит периодически). Извне резолвить с его помощью ничего не планируется.

После запуска, как и предполагалось, ругается на занятость порта:
Dec 16 23:19:00 named[323]: starting BIND 9.4.1-P1 -c /opt/etc/named/named.conf
Dec 16 23:19:00 named[323]: loading configuration from '/opt/etc/named/named.conf'
Dec 16 23:19:00 named[323]: listening on IPv4 interface br0, 192.168.1.1#53
Dec 16 23:19:00 named[323]: binding TCP socket: address in use

Может функциональность dnsmasq позволяет как-то регулировать форвардинг днс-запросов? Куда читать?

djet
16-12-2007, 23:05
Man page of DNSMASQ (http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) поможет? :rolleyes:

А мне интересно, как заставить dnsmasq отдавать клиентам провайдерские dns..

name_zh
16-12-2007, 23:13
Насколько я понимаю, dnsmasq это и есть простенький DNS сервер, который выполняет кэширующие функции в "умолчательной" конфигурации. Но при желании его можно заставить делать почти тоже самое что и Bind9

djet
16-12-2007, 23:15
Man page of DNSMASQ (http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) поможет? :rolleyes:

А мне интересно, как заставить dnsmasq отдавать клиентам провайдерские dns..

Отвечаю на свой вопрос: :rolleyes:

echo 'dhcp-option=lan,6,213.234.192.7,195.14.50.1' >> /etc/dnsmasq.conf

Остался вопрос, будет ли этот конфиг читаться после перезагрузки роутера, если его сохранить во flashfs.

Mam(O)n
16-12-2007, 23:34
Можно записать в /usr/local/etc/dnsmasq.conf. Содержимое этого файла будет автоматом добавляться в конец /etc/dnsmasq.conf.

angel_il
16-12-2007, 23:54
таки я не понял: можно ли поднять с помощью dnsmasq свою зону?

Reyter
17-12-2007, 10:23
Раз уж все-равно решили использовать альтернативный DNS-сервер, то почему бы заодно не использовать и альтернативный DHCP-сервер? В репозитарии есть пакет dhcp. Мне вчера с его помощью удалось даже роуты раздать :)
При таком раскладе DNS и DHCP-серверы не будут друг другу мешать. И не будет проблем с чтением конфига dhcp-сервером.

ozforester
17-12-2007, 16:28
Раз уж все-равно решили использовать альтернативный DNS-сервер, то почему бы заодно не использовать и альтернативный DHCP-сервер? В репозитарии есть пакет dhcp. Мне вчера с его помощью удалось даже роуты раздать :)
При таком раскладе DNS и DHCP-серверы не будут друг другу мешать. И не будет проблем с чтением конфига dhcp-сервером.

Спасибо, попробую. Чтение dnsmasq привело к выводу, что он задачу не решит. Вся его динамика заканчивается на перечитывании провайдерских dns из ppp конфига. Да и освободить 53 порт на интерфейсе, продолжая раздавать на нем ip, вероятно не получится без бубна.

Проверка показала, что dhcp и bind со своими задачами справляются. Одна загадка для меня - параллельно с запросом bind к рут-серверу, уходит и запрос к первому днс-серверу из resolv.conf. Где бы еще поработать напильником, так чтобы красиво все было?

ozforester
17-12-2007, 16:46
таки я не понял: можно ли поднять с помощью dnsmasq свою зону?

Нормальную нельзя, ибо то что может dnsmasq, слабо подходит под формулировку "поднять свою зону". С другой стороны, можно статически описать локальный домен и даже mx записи определить. Для локальной сети без особых изысков этого достаточно. А вот разрешение любых имён интернета для хостов локальной сети, что очень часто вменяется dns-серверу, dnsmasq сделать не позволяет. Собственно на то есть bind и ему подобные.

djet
17-12-2007, 20:18
Спасибо, попробую. Чтение dnsmasq привело к выводу, что он задачу не решит. Вся его динамика заканчивается на перечитывании провайдерских dns из ppp конфига. Да и освободить 53 порт на интерфейсе, продолжая раздавать на нем ip, вероятно не получится без бубна.

Проверка показала, что dhcp и bind со своими задачами справляются. Одна загадка для меня - параллельно с запросом bind к рут-серверу, уходит и запрос к первому днс-серверу из resolv.conf. Где бы еще поработать напильником, так чтобы красиво все было?
Как ни странно, не нашёл в мане возможности отключения dns relay. Но хотя бы можно его на другой порт повесить.


Раз уж все-равно решили использовать альтернативный DNS-сервер, то почему бы заодно не использовать и альтернативный DHCP-сервер? В репозитарии есть пакет dhcp. Мне вчера с его помощью удалось даже роуты раздать
При таком раскладе DNS и DHCP-серверы не будут друг другу мешать. И не будет проблем с чтением конфига dhcp-сервером.
Параметры dhcp поддаются настройке, см. мой пример.

ozforester
17-12-2007, 20:34
[QUOTE=djet;73563]Как ни странно, не нашёл в мане возможности отключения dns relay. Но хотя бы можно его на другой порт повесить.

Пришлось воспользоваться веб-интерфейсом
и на pppoe (у меня оно) выбрать:
Get DNS Server automatically? - NO
вроде помогло

$ cat /etc/resolv.conf
$

angel_il
17-12-2007, 20:46
С другой стороны, можно статически описать локальный домен и даже mx записи определить. Для локальной сети без особых изысков этого достаточно.

ок а можно на пальцах показать как сделать чтобы он на запрос к holmes.home отдал 172.18.18.1
laptop.home отдал 172.18.18.10
poly.home отдал 172.18.18.5
n311.home отдал 172.18.18.15
?

ozforester
17-12-2007, 21:10
ок а можно на пальцах показать как сделать чтобы он на запрос к holmes.home отдал 172.18.18.1
laptop.home отдал 172.18.18.10
poly.home отдал 172.18.18.5
n311.home отдал 172.18.18.15
?

На форуме кажись встречал ответ. А сам просто в яндексе набрал dnsmasq. По перовй ссылке ушел на soft.ydiv.net/lin/download-Dnsmasq.html Там скачал dnsmasq-2.39.tar.tar, в котором прочитал файл dnsmasq.conf.example, из чего сделал вывод. Там много чего можно сделать с dnsmasq. А практического опыта нет, потому и на пальцах не могу.. прошу прощения.

Вот например, что можно взять из конфига-примера:

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
#local=/localnet/

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
#address=/doubleclick.net/127.0.0.1

angel_il
17-12-2007, 21:15
в принципе мне и этого хватит, как осилю и пройду квест выложу солюшен ))

ozforester
17-12-2007, 21:37
вот что написал для BIND

$ cat /opt/etc/named/named.conf
options {
listen-on { 192.168.1.1; };
allow-notify { none; };
allow-query { 192.168.1.0/24; };
allow-transfer { none; };
allow-recursion { 192.168.1.0/24; localhost; };
recursive-clients 50;
version "BLABLABLA";
};
logging {
channel "default_syslog" {
syslog local7;
severity info;
print-time no;
print-category yes;
};
channel "security_syslog" {
syslog local7;
severity info;
print-time no;
print-category yes;
};
category default { default_syslog; };
category security { security_syslog; };
category lame-servers {null;};
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};
key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
};


$ cat /opt/etc/named/rndc.conf
options {
default-server localhost;
default-key "rndc-key";
};
server localhost {
key "rndc-key";
};
key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
};


$ cat /opt/etc/named/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
};

а это для DHCP

$ cat /opt/etc/dhcpd.conf | grep -v '#'

option domain-name "local";
option domain-name-servers localhost;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.10;
option domain-name-servers 192.168.1.1;
option domain-name "local";
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}

host host1 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.2;
}
host host2 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.3;
}
host host10 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.10;
}

ЗЫ проверка заключалась в дампе кэша bind и беглом его изучении, секюрности обращений к серверу извне и с чужих сетей. DHCP вообще не проверял на безопасность, вот прикрутить бы его на br0 по хорошему, а то хацкеры все адреса растащат :) поработаю над этим как-нибудь потом, если время будет..

angel_il
17-12-2007, 21:38
хе-хе, а рецепт простой,
вносим нужные FQDN имена в файл /etc/hosts :) а dnsmasq сам их от туда читает.

angel_il
18-12-2007, 07:26
хм... как то оно странно работает с этими хостами... не совсем понятно по какому принципу.

Antosha
27-12-2007, 21:16
Есть DNS-ы, как заставить их работать в нужном мне порядке?

echo "nameserver 217.70.106.5" >> /etc/resolv.conf
echo "nameserver 217.70.119.181" >> /etc/resolv.conf
echo "nameserver 217.70.96.34" >> /etc/resolv.conf
echo "nameserver 80.64.93.130" >> /etc/resolv.conf
echo "nameserver 80.64.94.2" >> /etc/resolv.conf

Это "чудо" делает всё до наоборот. Т.е.:

echo "nameserver 80.64.93.130" >> /etc/resolv.conf
echo "nameserver 80.64.94.2" >> /etc/resolv.conf
echo "nameserver 217.70.96.34" >> /etc/resolv.conf
echo "nameserver 217.70.106.5" >> /etc/resolv.conf
echo "nameserver 217.70.119.181" >> /etc/resolv.conf

Как его заставить не упорядочивать по ip?

Antosha
14-01-2008, 21:19
ИМХО В текущее время в нашей реальности пока все изменения привнесенные в этот пакет не имеют практического смысла .... Так что Олег правильно сказал не надо трогать то что работает без критической надобности ...


Ну надобности надобностями, но всё же ........
Меня этот dnsmasq уже раздражает, с каждым днём всё больше и больше :(
DNS, которые я прописал в post-boot для добавления в resolv.conf подставляются в этот фаил как мне надо, но на выходе вообще бред, он их ставит по возрастанию, а не как в конфиге :(
Может в новой версии этот баг исправили?

djet
14-01-2008, 21:33
Моё пожелание - отключить negative caching в конфиге и добавить возможность отключения dns relaying'a в принципе, как в длинках. Пару раз замечал, что dnsmasq перестаёт отдавать определённые домены. Тем более, что у клиентов (Windows) по умолчанию тоже включено кэширование.

(Вообще не понимаю, для чего придумали dns relay. Что мешает железке отдавать клиенту провайдерские днс, а клиенту их использовать? Меньше почвы для глюков будет.)

lly
15-01-2008, 07:10
По апгрейду версии - с нашим текущим uClibc, максимальная версия dnsmasq собирающаяся без переделок - 2.27. Более свежие дистрибутивы используют системный вызов prctl() которого в 0.9.19 нет.

Antosha
15-01-2008, 15:20
Ну или какой-нибудь другой DNS сервер, который будет нормально собирать в кучу многие DNS сервера и отдавать одним DNS'ом.

al37919
15-01-2008, 15:48
а что мешает поставить последнюю версию dnsmasq через ipkg?
dnsmasq - 2.40-1 - DNS and DHCP server

ABATAPA
15-01-2008, 15:58
(Вообще не понимаю, для чего придумали dns relay. Что мешает железке отдавать клиенту провайдерские днс, а клиенту их использовать? Меньше почвы для глюков будет.)

Зато больше трафика. И время отклика может увеличиться - для "слабых" линий с большими задержками. Так зачем? И что мешает Вам поставить нужные DNS там, где Вам угодно?

djet
15-01-2008, 16:25
Зато больше трафика. И время отклика может увеличиться - для "слабых" линий с большими задержками. Так зачем? И что мешает Вам поставить нужные DNS там, где Вам угодно?

Экономия на спичках ценой усложнения схемы. Чем проще система, тем она стабильнее.

1) Трафик мизерный.
2) Слабые линии - это pstn/isdn. Всё остальное - broadband.
3) Время отклика неизменно и для новых записей, и для кэшированных (у клиентов есть собственный кэш, иногда многоуровневый за счёт ПО).
4) Мне - не мешает. Это моя точка зрения и со стороны пользователя, и с позиции инженера провайдера. "Залипание" записей в отрицательном кэше с трудом поддаётся диагностике. Отваливание dnsmasq - тоже неприятное и неочевидноя явление.

Oleg
15-01-2008, 17:11
Негативное кеширование уже отключено в превью версии.

Oleg
15-01-2008, 17:12
Почему используется внутренний - всё просто. Клиент получает адрес по DHCP раньше, чем устанавливается соединение с провайдером. В конце-концов нужные адреса можно поставить на страничке DHCP Server.

Antosha
15-01-2008, 17:44
Почему используется внутренний - всё просто. Клиент получает адрес по DHCP раньше, чем устанавливается соединение с провайдером. В конце-концов нужные адреса можно поставить на страничке DHCP Server.

Но всего лишь 2, а если я подключён к трём сетям, в них разные DNS, уникальные имена, IP?

djet
15-01-2008, 17:54
Почему используется внутренний - всё просто. Клиент получает адрес по DHCP раньше, чем устанавливается соединение с провайдером. В конце-концов нужные адреса можно поставить на страничке DHCP Server.
Однако его можно отключить в DSL-ных длинках (http://dlink.ru/technical/wizard.php), а коннект в них устанавливается ощутимо дольше, чем в Ethernet (у меня, например, это 11-15 секунда). А вручную прописывать - это совершенно не то.. Тем более, что я хотел бы, чтобы эта опция была доступна и для чайников. Подумаю пока, как это можно реализовать.

Antosha
15-01-2008, 19:25
а что мешает поставить последнюю версию dnsmasq через ipkg?
dnsmasq - 2.40-1 - DNS and DHCP server

А он сума не сойдёт?
Я пытался третю самбу поставить, оно так всё очумело .....
Если я поставлю dnsmasq из архива, он нормально будет работать или нужны танцы с бубенцами? :)

Oleg
15-01-2008, 19:26
Но всего лишь 2, а если я подключён к трём сетям, в них разные DNS, уникальные имена, IP?
Это вообще неправильная конфигурация. Все ДНС сервера считаются равноправными. Всё остальные изобретения могут работать, а могут нет. В частности, наивно предполагать, что такая конфигурация вообще работоспособна.
Она может работать только если специально пропишите мастеров для определённых доменов в конфигурации вашего ДНС сервера, но никак не в настройках ДНС на клиенте.

Oleg
15-01-2008, 19:29
Однако его можно отключить в DSL-ных длинках (http://dlink.ru/technical/wizard.php), а коннект в них устанавливается ощутимо дольше, чем в Ethernet (у меня, например, это 11-15 секунда). А вручную прописывать - это совершенно не то.. Тем более, что я хотел бы, чтобы эта опция была доступна и для чайников. Подумаю пока, как это можно реализовать.
Отключить можно - просто прописать другой сервер, например провайдерский. Насчёт автомата - как оно может работать?

Antosha
15-01-2008, 20:01
Это вообще неправильная конфигурация. Все ДНС сервера считаются равноправными. Всё остальные изобретения могут работать, а могут нет. В частности, наивно предполагать, что такая конфигурация вообще работоспособна.
Она может работать только если специально пропишите мастеров для определённых доменов в конфигурации вашего ДНС сервера, но никак не в настройках ДНС на клиенте.

А как тогда быть?
У каждой сети свои уникальные адреса, правильный резов которого только с DNS той сети, а если DNS от другого, то резолва нету или неверен :(

На данный момент эта система работает, но почему-то из списка на первые выводятся DNS с самого низа и всё сбивается :(

Oleg
15-01-2008, 20:44
Посмотрите, что умеет dnsmasq. Там есть что, попробовать. Кстати, его можно заставить ходить по серверам в порядке, прописанном в resolv.conf.

Либо ставьте bind, делайте у себя слейва или просто форвард на правильные сервера.

Antosha
15-01-2008, 21:40
Кстати, его можно заставить ходить по серверам в порядке, прописанном в resolv.conf.


А можно ман/пример что и где крутить? :)
Мне это и нужно :)

nms42
16-01-2008, 07:41
На данный момент эта система работает, но почему-то из списка на первые выводятся DNS с самого низа и всё сбивается :(

Потому что dnsmasq по умолчанию предпочитает "более хороший" сервер (быстрее отвечает, ....)

Antosha
16-01-2008, 10:40
Потому что dnsmasq по умолчанию предпочитает "более хороший" сервер (быстрее отвечает, ....)

Неа, как раз всё наоборот.
IP серваков с самым долгим ответом он ставит сверху, у них задержка на:
Минимальное = 2мсек, Максимальное = 24 мсек, Среднее = 18 мсек
Минимальное = 8мсек, Максимальное = 20 мсек, Среднее = 14 мсек

самыйе быстрые:
Минимальное = 1мсек, Максимальное = 2 мсек, Среднее = 1 мсек
Минимальное = 2мсек, Максимальное = 3 мсек, Среднее = 2 мсек

Oleg
16-01-2008, 11:18
А можно ман/пример что и где крутить? :)
Мне это и нужно :)

http://www.google.ru/search?hl=ru&q=dnsmasq&lr=&aq=f

Antosha
16-01-2008, 14:23
http://www.google.ru/search?hl=ru&q=dnsmasq&lr=&aq=f

Конкретизации нету или я ослеп :)

Везде (в большинстве случаев) написано: как расположены DNS в файле resolv.conf в таком порядке он и опрашивает их.

Распологаются в этом файле правильно



echo "nameserver 10.5.3.2" >> /etc/resolv.conf
echo "nameserver 217.70.96.34" >> /etc/resolv.conf
echo "nameserver 10.5.0.2" >> /etc/resolv.conf
echo "nameserver 80.64.93.135" >> /etc/resolv.conf
echo "nameserver 80.64.94.7" >> /etc/resolv.conf


, а вот в логах, пишет что:


Jan 1 06:00:08 dnsmasq[119]: using nameserver 80.64.94.7#53
Jan 1 06:00:08 dnsmasq[119]: using nameserver 80.64.93.135#53
Jan 1 06:00:08 dnsmasq[119]: using nameserver 10.5.0.2#53
Jan 1 06:00:08 dnsmasq[119]: using nameserver 217.70.96.34#53
Jan 1 06:00:08 dnsmasq[119]: using nameserver 10.5.3.2#53


Хотя если так присмотреться, то похоже на зеркальное отражение :)

P.S.
Блин, и правда, нужно писать DNS адреса в зеркальном отражении :(

SancheSZ
15-02-2008, 17:39
Попробовал тут утановить последний dnsmasq из репозитария.

Не сартует - пишет:

dnsmasq: failed to create listening socket: Protocol not available

встроенный dnsmasq естественно прибиваю - иначе пишет:

dnsmasq: failed to create listening socket: Address already in use


Погуглил немного и нашел, что dnsmasq после версии 2.22 требует kernel модули nfnetlink и nfnetlink_log.

Нашел в репозитарии libnfnetlink, установил.

Не помогло. Пробовал делать

insmod nfnetlink

пишет, что нет фйла nfnetlink.o

Прошелся поиском - файла действительно нет.

Кому-нибудь удалось его запустить?

artp
20-02-2008, 21:12
Вопрос, конечно не совсем по wl500, но может кто-нибудь подскажет? Хочу резольвить адреса без указания полного имени домена. Типа:
> dig asus1
а не
> dig asus1.my.domain
Прописываю в resolv.conf
nameserver ...
domain ...

даю SIGHUP. нифига. По полному имени находит, по короткому - нет. Повторяю, только вместо domain пишу search. Эффект тот же.

Помню, что с named такое работало (который вариант - не помню). Подскажите, плиз, как надо?

al37919
21-02-2008, 06:09
прописать в hosts

artp
21-02-2008, 10:08
прописать в hosts

Хорошо, но не подходит. Чуть развернутее:
Есть wl500gp, который смотрит в инте через avangard-adsl. В post-boot поднимается еще один pptp, который идет на vpn сервак, в контору. В конторе есть wins и dns. В ip-up скрипте sed'ом редактируется resolv.conf и передергивается dnsmasq. Фаервол на этот интерфейс открывается и домашняя сетка становится частью конторской. Хочется работать с конторскими машинами по коротким именам. Мне, что вытаскивать всю конторскую зону (которая меняется) и пихать ее в hosts? Тогда уж проще bind поднять. Он это точно сделать может.

То, что я делаю с resolv.conf (см.выше) должно работать, но не работает. Если кто-то знает в чем засада - отзовитесь, плиз.

ABATAPA
21-02-2008, 17:00
in
Прописываю в resolv.conf
nameserver ...
domain ...


Туда же дописать:

search domain.tld

artp
21-02-2008, 20:59
Туда же дописать:

search domain.tld

см.начало темы. Пробовал :(

VadimVB
22-02-2008, 13:54
см.начало темы. Пробовал :(

Ну у меня работает.

Значит dnsmasq.conf такой


user=nobody
resolv-file=/tmp/local/etc/resolv.conf
strict-order
no-poll #don't poll resolv.conf for changes
bogus-priv #reject revers lookup of private addresses with NXDOMAIN
interface=br0
domain=lan.local #local lan domain name
expand-hosts #expand single word host name to fully cvalified domain name
domain-needed #Prohibit forwarding of plain names quaries (without domain parts)
filterwin2k #filter specific win requests
local-ttl=3600 #when zero - clients cache disabled

dhcp-host=00:1A:4D:57:C7:51,192.168.1.2 #Syslog computer (Vadim)
dhcp-host=00:30:4F:51:16:BB,192.168.1.3 #VoIP gate - VIP157
dhcp-leasefile=/tmp/dnsmasq.log
dhcp-range=lan,192.168.1.51,192.168.1.100,86400
dhcp-option=lan,6,0.0.0.0,87.237.112.10,195.5.128.132,2 08.67.222.222,208.67.220.220 #DNS servers
dhcp-option=lan,44,192.168.1.1 #WINS
dhcp-option=lan,15,lan.local #doman name
dhcp-option=lan,3,192.168.1.1 #default gateway
dhcp-option=lan,46,8 #NBT node type 1- broadcast, 8 -hybrid
dhcp-authoritative


resolv.conf такой


nameserver 87.237.112.10
nameserver 195.5.128.132
nameserver 208.67.222.222
nameserver 208.67.220.220
domain lan.local


Но!!!!
У меня поднята самба которая работает в качестве WINS. Соответсвенно на виндовых компах разрешён Netbios over TCP/IP

В результате имеем на компе с винды



D:\Logs\XP_Firewall>nslookup
Default Server: gw500.lan.local
Address: 192.168.1.1

> gw500
Server: gw500.lan.local
Address: 192.168.1.1

Name: gw500.lan.local
Address: 192.168.1.1

> lanprinter
Server: gw500.lan.local
Address: 192.168.1.1

Name: lanprinter.lan.local
Address: 192.168.1.51

> vip157
Server: gw500.lan.local
Address: 192.168.1.1

Name: vip157.lan.local
Address: 192.168.1.3
>
D:\Logs\XP_Firewall>ping lanprinter

Pinging lanprinter.lan.local [192.168.1.51] with 32 bytes of data:

Reply from 192.168.1.51: bytes=32 time=1ms TTL=254
Reply from 192.168.1.51: bytes=32 time<1ms TTL=254
Reply from 192.168.1.51: bytes=32 time<1ms TTL=254
Reply from 192.168.1.51: bytes=32 time<1ms TTL=254

Ping statistics for 192.168.1.51:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms

artp
24-02-2008, 22:53
Может и впрям в самбе дело.Буду пробовать. Когда знаешь, что у кого-то работает, настойчивость повышается.

Спасибо.

dimuha
13-03-2008, 18:34
Долго искал, но так и не нашёл...
Исходные данные:
Имеется 500gP с "прямым" внешним адресом, за ним в локалке веб и почтовый сервер. Есть зарегистрированное доменное имя.
Надо запустить на рутере днс-сервер зоны, чтоб внутренний веб-почтовый-сервер был доступен по имени (сделать virtual server не проблема).
Как можно такое провернуть? :confused:

DJey
13-03-2008, 19:21
Да есть. Старый добрый бинд.

ipkg install bind

Package: bind
Version: 9.4.1-P1-1
Depends: openssl
Section: net
Architecture: mipsel
Maintainer: Louis Lagendijk <louis.lagendijk@gmail.com>
MD5Sum: 38966581ded9bb662a2cfd4b199c5219
Size: 1002945
Filename: bind_9.4.1-P1-1_mipsel.ipk
Source: ftp://ftp.isc.org/isc/bind9/9.4.1-P1/bind-9.4.1-P1.tar.gz
Description: Bind provides a full name server package, including zone masters, slaves, zone transfers, security multiple views. This is THE reference implementation from ISC, which has roots all the way back to the TOPS-20 original. It is over-kill, unless you have a complex environment. Other utilities (for debugging, remote management) are also included. Full documentation and developers' files are included in this kit, though you may wish they weren't.

dimuha
14-03-2008, 04:35
Боюсь щас палки и камни полетят :)
А конфиг сложный?

a-p
14-03-2008, 08:28
А конфиг сложный?Конфиг простейший, только нужен ли он тебе именно на роутере? Есть замечательный бесплатный сервис xname.org, там нахаляву можно сделать и primary, и secondary dns. Будет стабильнее, надежнее и быстрее.

dimuha
14-03-2008, 09:38
Проблема в том что уже всё крутится на линухе, но нужно избавиться от тарахтящего системника и перенести всё на чудный 500жп. А с xname.org не всё так просто...

a-p
14-03-2008, 09:54
А что с ним не просто? Можно в личку, дабы сильно в оффтопик не ударяться... У меня на нем несколько зон крутятся, вроде бы без проблем. Правда, с дополнительными secondary (тоже бесплатными). Интересно же, каких "сюрпризов" можно от него ждать...

DJey
14-03-2008, 15:39
А как вариант к примеру для удобства, поставить оболочку XName, которая работает на этом сервисе под темже биндом. Хотя конфиг
бинда прост в изучении и нет необходимости городить оболочку, добавление зоны займет меньше минуты.

Vofik
14-03-2008, 18:41
и откуда эту оболочку брать??????????

DJey
14-03-2008, 19:07
и откуда эту оболочку брать??????????

xname.org


http://source.xname.org/xname-engine-2.2.0.tgz

Хотя проще и быстрее будет маны по бинду почитать, в инете о нем много написано, всетаки самый используемый name сервер в мире.

tunik
15-03-2008, 16:55
# A SRV record sending LDAP for the example.com domain to
# ldapserver.example.com port 289
#srv-host=_ldap._tcp.example.com,ldapserver.example.com ,389
У меня потребность что бы dnsmasq при выдаче ip обновлял записи A PTR в dns сервере виндовом (в AD). как это реализовать? или может другой сервис использовать для этой задачи? :confused: Пробовал пример из кода ток не пойму как он должен работать. Спасибо.

djet
22-05-2008, 20:26
Попробовал тут утановить последний dnsmasq из репозитария.

Не сартует - пишет:

dnsmasq: failed to create listening socket: Protocol not available

встроенный dnsmasq естественно прибиваю - иначе пишет:

dnsmasq: failed to create listening socket: Address already in use


Погуглил немного и нашел, что dnsmasq после версии 2.22 требует kernel модули nfnetlink и nfnetlink_log.

Нашел в репозитарии libnfnetlink, установил.

Не помогло. Пробовал делать

insmod nfnetlink

пишет, что нет фйла nfnetlink.o

Прошелся поиском - файла действительно нет.

Кому-нибудь удалось его запустить?

Аналогичная проблема. Кто-нибудь нашёл решение?

OTMOPO3OK
02-06-2008, 15:14
Подскажите пожалуйста, как отключить dnsmasq или удалить его вобще, просто не сторонник таких не гибких решений, по мне лучше dhcpd+bind:)

vectorm
03-06-2008, 06:43
Подскажите пожалуйста, как отключить dnsmasq или удалить его вобще, просто не сторонник таких не гибких решений, по мне лучше dhcpd+bind:)
Например
killall dnsmasq
в post-boot
не катит?

aivanov
03-06-2008, 08:12
Например
killall dnsmasq
в post-boot
не катит?
лучше в post-mount, КМК.

OTMOPO3OK
03-06-2008, 09:50
А грамотно нельзя его отключить по человечи что бы его не было в автозагрузке?:)

AlexZdanevich
07-06-2008, 21:31
просветите, пожалуйста, несведомого - что за процесс dnsmasq?? Чем он занимается? почему иногда (я так и не понял закономерности) он начинает засерать локалькую сеть тоннами каких-то пакетов, и при этом жрёт ~98% процессорного времени моего WL500gp

Что делает этот процесс? ОТМОРОЗОК писал, что "по мне лучше dhcpd+bind" Чем лучше второй вариант?

Заранее спасибо за ответ! :-D

aivanov
07-06-2008, 21:43
dnsmasq - это куцые dns-сервер (точнее -форвардер) и dhcpd в одном флаконе, достоинство - занимает немного места на флэшке и в памяти. читать про него http://www.thekelleys.org.uk/dnsmasq/doc.html Его можно прибить и запускать полноразмерные сервера dns и dhcp, установив их через ipkg читать - http://www.isc.org/index.pl?/sw/bind/index.php и http://www.isc.org/index.pl?/sw/bind/index.php - они дадут полную функиональность этих серверов, но будут более сложными в настройке и потребуют больше места на диске и в памяти - например, у меня named отъедает 13М RAM, dhcpd - 2.5М. Память в роутере увеличена до 128М

nms42
08-06-2008, 09:23
IMHO, проще (правильнее?) обновить dnsmasq с версии 2.22, которая в "дистрибутиве", до версии 2.42, где поправлен ряд "тонких" багов. В том числе и с пожиранием процессора.

lly
08-06-2008, 15:54
IMHO, проще (правильнее?) обновить dnsmasq с версии 2.22, которая в "дистрибутиве", до версии 2.42, где поправлен ряд "тонких" багов. В том числе и с пожиранием процессора.
Ну так сделай! Кажется, чего проще?

P.S. Почитай внимательно форум на предмет объяснений почему это не так просто...

lly
14-06-2008, 20:18
Нашёл время поковыряться - собрал dnsmasq 2.42 под текущий uClibc 0.9.19. С минимальными опциями (no-IPv6 GNU-getopt no-RTC no-ISC-leasefile no-DBus no-I18N no-TFTP) весит 209Kb. Если вдруг кто захочет потестировать - пишите, выложу.

djet
14-06-2008, 20:58
Нашёл время поковыряться - собрал dnsmasq 2.42 под текущий uClibc 0.9.19. С минимальными опциями (no-IPv6 GNU-getopt no-RTC no-ISC-leasefile no-DBus no-I18N no-TFTP) весит 209Kb. Если вдруг кто захочет потестировать - пишите, выложу.
Выложи плз.

lly
14-06-2008, 21:26
Приаттачил. У меня работает уже 4 часа ;)

lly
16-06-2008, 12:34
Вы хоть что-нибудь отпишите - запустилось/не запустилось, работает, глючит, падает, ... а то и не знаешь что думать :D

djet
16-06-2008, 20:20
Работает сутки.

ABATAPA
17-06-2008, 18:07
Нашёл время поковыряться - собрал dnsmasq 2.42 под текущий uClibc 0.9.19. С минимальными опциями (no-IPv6 GNU-getopt no-RTC no-ISC-leasefile no-DBus no-I18N no-TFTP) весит 209Kb. Если вдруг кто захочет потестировать - пишите, выложу.
А вот TFTP можно было бы и оставить. :)

lly
17-06-2008, 19:30
А вот TFTP можно было бы и оставить. :)
А если не секрет - зачем? Я знаю несколько больших железок которые перепрошиваются по tftp, но представить себе домашний SuperDome или дисковую стойку терабайт этак на 12000 не могу :rolleyes:

ABATAPA
17-06-2008, 19:43
А если не секрет - зачем? Я знаю несколько больших железок которые перепрошиваются по tftp, но представить себе домашний SuperDome или дисковую стойку терабайт этак на 12000 не могу :rolleyes:

Например, для следующего:
1. Сливать/заливать конфиги и прошивки с домашних роутеров, коммутаторов, SIP-адаптеров, и т. д.
2. Есть способ удаленно включить комп, но, к сожалению, не так-то просто удаленно заставить загрузчик (например, GRUB, если стоят Linux/Windows) грузить отличный от умолчания пункт. А используя TFTP, можно удаленно заставить грузить нужную ОС. :)
Конечно, для этого можно и "нормальный" TFTP поставить. :-D

LBertone
12-08-2008, 15:32
Доброго времени суток.

Есть сервер с двумя IP в разных подсетях. На нем настроен BIND и DNS'ит домен ?????.ru (имеется root-доступ); хочется, чтобы home.?????.ru всегда ссылался на wl500gp, у которого динамический IP (Corbina). Так и не придумал, как можно осуществить такое без дополнительных затрат (на постоянный ip или на какой-нибудь сервис). Кто-нибудь знает, как такое можно сделать?

Проще говоря, нужно чтобы роутер отправлял данные о своем IP, а BIND принимал. Думаю, должна быть какая-то защита вроде пароля или ключа. Но вразумительного руководства так и не нашел.

Заранее благодарен.

LBertone
13-08-2008, 08:34
С настройкой родительского сервера разобрался. Вполне доходчиво процесс описан в этой статье (английский, в двух частях):

http://linux.yyz.us/nsupdate/

Единственное, на чем ошибся - забыл изменить права на рабочую директорию named (у меня /var/named). Демон должен иметь права на запись.

Если кому то пригодится, так выглядит эпизод моего named.conf (не забываем проставлять на него правильные права, чтобы никто другой кроме named не смог прочитать ключ):
key ?????.ru. {
algorithm HMAC-MD5;
secret "мой_ключ";
};

zone "?????.ru" {
type master;
file "?????.ru.zone";
update-policy {
grant ?????.ru. name home.?????.ru.;
};
};

Файл, который скармливаю nsupdate такой:
server localhost
zone ?????.ru
update delete home.?????.ru. A
update add home.?????.ru. 60 A новый_ip
send

Вне зависимости от того, была ли раньше запись home.?????.ru. или нет IP обновляется корректно.

Теперь осталось придумать, как привязать утилиту nsupdate (и где ее взять) для wl500gp.

Также стоит вопрос о том, как запускать что-либо при каждой установке l2tp. И, как вытащить текущий IP. Буду благодарен, если кто-то не сочтет за труд натолкнуть на решение.

LBertone
13-08-2008, 10:42
Дело продвигается. Утилита nsupdate была в пакете bind для роутера. Однако скормить ей файл ключа не удалось как я ни пытался. Пишет, что файл отсутствует. Получилось сделать иначе - указать ключ в командах nsupdate, теперь этот файл выглядит вот так:
key ?????.ru. мой_ключ
server ?????.ru
zone ?????.ru
update delete home.?????.ru. A
update add home.?????.ru. 60 A новый_ip
send


Осталось только придумать, как на лету подставлять туда ip и дело в шляпе.

lly
02-09-2008, 07:42
В очередной раз поборол свою лень и сделал патч под текущую версию 2.45. В аттаче бинарник и патч для встраивания в прошивку Олега с использованием стандартного тулчейна 3.2.3 (uClibc 0.9.19).

scher
09-10-2008, 22:11
прошил 1.9.2.7-10 и появился странный эффект: роутер временами наглухо замирает, страницы не грузятся...
При этом, лог забивается записями:


Oct 10 01:02:20 WL500gp dnsmasq[73]: no address range available for DHCP request via lo
Oct 10 01:02:21 WL500gp dnsmasq[73]: no address range available for DHCP request via lo
Oct 10 01:02:26 WL500gp dnsmasq[73]: read /etc/hosts - 9 addresses
Oct 10 01:02:26 WL500gp dnsmasq[73]: read /etc/ethers - 4 addresses
Oct 10 01:02:26 WL500gp dnsmasq[73]: reading /tmp/resolv.conf
Oct 10 01:02:26 WL500gp dnsmasq[73]: using nameserver 212.48.193.38#53
Oct 10 01:02:26 WL500gp dnsmasq[73]: using nameserver 212.48.193.37#53
Oct 10 01:02:26 WL500gp dnsmasq[73]: read /etc/hosts - 9 addresses
Oct 10 01:02:26 WL500gp dnsmasq[73]: read /etc/ethers - 4 addresses
Oct 10 01:02:26 WL500gp dnsmasq[73]: reading /tmp/resolv.conf
Oct 10 01:02:26 WL500gp dnsmasq[73]: using nameserver 212.48.193.38#53
Oct 10 01:02:26 WL500gp dnsmasq[73]: using nameserver 212.48.193.37#53
Oct 10 01:02:41 WL500gp dnsmasq[73]: no address range available for DHCP request via lo
Oct 10 01:02:46 WL500gp dnsmasq[73]: no address range available for DHCP request via lo
Oct 10 01:02:49 WL500gp dnsmasq[73]: no address range available for DHCP request via lo
Oct 10 01:02:50 WL500gp dnsmasq[73]: no address range available for DHCP request via lo

Что делать? Куда копать-то хоть?

scher
09-10-2008, 22:27
Маршруты выглядят правдоподобно...

Destination Gateway Genmask Flags Metric Ref Use Iface
91.122.0.1 * 255.255.255.255 UH 0 0 0 vlan1
192.168.1.0 * 255.255.255.0 U 0 0 0 br0
91.122.7.0 * 255.255.255.0 U 0 0 0 vlan1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default ppp91-122-0-1.p 0.0.0.0 UG 0 0 0 vlan1

пинги с роутера демонстрируют эпизодическое подвисание сети:

PING ya.ru (213.180.204.8): 56 data bytes
84 bytes from 213.180.204.8: icmp_seq=2 ttl=55 time=35.5 ms
84 bytes from 213.180.204.8: icmp_seq=3 ttl=55 time=34.6 ms
84 bytes from 213.180.204.8: icmp_seq=22 ttl=55 time=1000.9 ms
84 bytes from 213.180.204.8: icmp_seq=23 ttl=55 time=705.6 ms
84 bytes from 213.180.204.8: icmp_seq=24 ttl=55 time=36.4 ms
84 bytes from 213.180.204.8: icmp_seq=25 ttl=55 time=35.4 ms
84 bytes from 213.180.204.8: icmp_seq=27 ttl=55 time=35.4 ms
84 bytes from 213.180.204.8: icmp_seq=28 ttl=55 time=34.9 ms
84 bytes from 213.180.204.8: icmp_seq=30 ttl=55 time=36.1 ms
84 bytes from 213.180.204.8: icmp_seq=31 ttl=55 time=35.4 ms
84 bytes from 213.180.204.8: icmp_seq=52 ttl=55 time=885.3 ms
84 bytes from 213.180.204.8: icmp_seq=53 ttl=55 time=49.8 ms
84 bytes from 213.180.204.8: icmp_seq=54 ttl=55 time=35.7 ms
84 bytes from 213.180.204.8: icmp_seq=55 ttl=55 time=35.7 ms
84 bytes from 213.180.204.8: icmp_seq=56 ttl=55 time=35.9 ms
84 bytes from 213.180.204.8: icmp_seq=57 ttl=55 time=35.4 ms
84 bytes from 213.180.204.8: icmp_seq=61 ttl=55 time=35.2 ms
ping: sendto: Network is unreachable

еще заметил странное поведение udhcpc. Если я правильно понимаю, провайдер (Авангард, СПб) выдает адрес на 30 сек? Тогда куда чуть не каждые две секунды ломится udhcpc?

Oct 10 01:18:56 WL500gp udhcpc[120]: Sending renew...
Oct 10 01:18:57 WL500gp udhcpc[120]: Lease lost, entering init state
Oct 10 01:18:57 WL500gp udhcpc[120]: Sending discover...
Oct 10 01:18:57 WL500gp udhcpc[120]: Sending select for 91.122.7.8...
Oct 10 01:18:57 WL500gp udhcpc[120]: Lease of 91.122.7.8 obtained, lease time 30
Oct 10 01:19:12 WL500gp udhcpc[120]: Sending renew...
Oct 10 01:19:17 WL500gp udhcpc[120]: Sending renew...
Oct 10 01:19:20 WL500gp udhcpc[120]: Sending renew...
Oct 10 01:19:21 WL500gp udhcpc[120]: Sending renew...
Oct 10 01:19:23 WL500gp udhcpc[120]: Sending renew...
Oct 10 01:19:25 WL500gp udhcpc[120]: Sending renew...
Oct 10 01:19:26 WL500gp udhcpc[120]: Lease lost, entering init state
Oct 10 01:19:26 WL500gp udhcpc[120]: Sending discover...
Oct 10 01:19:26 WL500gp udhcpc[120]: Sending select for 91.122.7.8...
Oct 10 01:19:26 WL500gp udhcpc[120]: Lease of 91.122.7.8 obtained, lease time 30


P.S. Вот так, имея канал в 3Mb, приходится писать на форум с ноута через SkyLink...

scher
09-10-2008, 22:34
Хотя он дефолтный, и как-то не вызывает вопросов...


user=nobody
resolv-file=/tmp/resolv.conf
no-poll
interface=br0
no-negcache
dhcp-leasefile=/tmp/dnsmasq.log
dhcp-range=lan,192.168.1.100,192.168.1.120,86400
read-ethers
dhcp-authoritative

Power
09-10-2008, 23:04
Если это не проблема где-то в самом dnsmasq, то для полноты картины не помешал бы вывод iptables-save...

S12o
13-11-2008, 21:17
тот же провайдер, тот же роутер, та же ubuntu на локальной машине, на роутере все в полном соответствии с рекомендациями (поле dns1 пустое, пробовал так же с 0.0.0.0 - был когда-то в какой-то прошовке такой глюк) - все равно не работает. На ubuntu в resolv.conf только адрес роутера приходит. при этом nslookup локальных адресов на ubuntu работает а ping нет. локалка из браузера по имени хоста не видна - если указать ip адрес то все работает - значит, проблема не в роутинге, так?. Просто шаманство какое-то.
Чего делать, люди добрые?

S12o
13-11-2008, 23:57
Конечно, помог google

ubuntu bug#140663 (https://bugs.launchpad.net/ubuntu/+bug/140663)
avahi bug#80900 (https://bugs.launchpad.net/ubuntu/+source/avahi/+bug/80900)


мои текущие установки

web-интерфейс роутера: DHCP Server => DNS Server 1: 0.0.0.0
/etc/nsswitch.conf на ubuntu - исправлена строчка: hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4


все работает и роутер тут ни причем - просто админы ТРК Одинцово очень, видимо, недолюбливают линуксоидов :)

Grishanenko
30-11-2008, 12:11
Вот и до меня добралась эта же проблема.
520gU, прошивка 1.9.2.7-10
PPTP, внешний айпишник статический 192.168.186.31 шлюз 192.168.186.1
DNS прописаны в роутере через веб-интерфейс вручную 77.244.45.1 и 77.244.45.4
В компе шлюзом и DNS прописан только роутер 192.168.1.1
Через какое-то время (от часа до суток) отваливается резолвинг форума из паритетной сети forum.catv (10.0.0.30)
В роутах статические маршруты включение, 10.0.0.0 прописан.

На компьютере:


C:\>nslookup forum.catv
Server: WL-001FC674EE33
Address: 192.168.1.1

*** WL-001FC674EE33 can't find forum.catv: Non-existent domain

Напрямую с DNS провайдера:


C:\>nslookup forum.catv 77.244.45.1
Server: ns.vokar.com
Address: 77.244.45.1

Non-authoritative answer:
Name: forum.catv
Address: 10.0.0.30


C:\>nslookup forum.catv 77.244.45.4
Server: nss.vokar.com
Address: 77.244.45.4

*** nss.vokar.com can't find forum.catv: Non-existent domain

Через telnet с роутера:


[admin@WL-001FC674EE33 root]$ nslookup forum.catv 127.0.0.1
Server: localhost.localdomain
Address: 127.0.0.1

Name: forum.catv
Address: 10.0.0.30



[admin@WL-001FC674EE33 root]$ iptables -L INPUT -vn
Chain INPUT (policy ACCEPT 89161 packets, 11M bytes)
pkts bytes target prot opt in out source destination
24 11571 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
57243 5874K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
3982 239K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 state NEW
120 7465 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 state NEW

Дал команду:

[admin@WL-001FC674EE33 root]$ killall -hup dnsmasq

Через 5-10 минут все стало нормально с компа:


C:\>nslookup forum.catv
Server: WL-001FC674EE33
Address: 192.168.1.1

Non-authoritative answer:
Name: forum.catv
Address: 10.0.0.30

lagshmi
30-11-2008, 12:12
Добрый день!
Настроил DNSMasq
addrress=\ruproxy.company.com\192.168.1.1

адрес реверсится и пнгуется по имени до 192.168.1.1

поставил на роутер прокси 3proxy.
при прописывании его в качестве прокси по имени ruproxy.company.com не работает
если пробую прописать не по имени а 192.168.1.1 то все работает...
как сделать чтоб прописав по имени все работало:confused:

theMIROn
30-11-2008, 12:28
Есть DNS-ы, как заставить их работать в нужном мне порядке?

echo "nameserver 217.70.106.5" >> /etc/resolv.conf
echo "nameserver 217.70.119.181" >> /etc/resolv.conf
echo "nameserver 217.70.96.34" >> /etc/resolv.conf
echo "nameserver 80.64.93.130" >> /etc/resolv.conf
echo "nameserver 80.64.94.2" >> /etc/resolv.conf

Как его заставить не упорядочивать по ip?
вместо этого сделать


echo "domain-needed" >> /usr/local/etc/dnsmasq.conf
echo "bogus-priv" >> /usr/local/etc/dnsmasq.conf
echo "strict-order" >> /usr/local/etc/dnsmasq.conf
echo "server 217.70.106.5" >> /usr/local/etc/dnsmasq.conf
echo "server 217.70.119.181" >> /usr/local/etc/dnsmasq.conf
echo "server 217.70.96.34" >> /usr/local/etc/dnsmasq.conf
echo "server 80.64.93.130" >> /usr/local/etc/dnsmasq.conf
echo "server 80.64.94.2" >> /usr/local/etc/dnsmasq.conf
flashfs save && flashfs commit && flashfs enable
reboot

подробнее про другии опции можно глянуть тут
http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example

lagshmi
05-03-2009, 18:25
Друзья привет!
Я хотел бы сделать автоматическое подцепление прокси при соединении VPN при добавлении параметра в конфиг сервера push dhcp-option 252 http://host.com/file.wpc
выдает ошибку что неизвестный параметр
dhcp-option wpad http://host.com/file.wpc то же не понимает...
может есть возможность выдавать через Dnsmasq но для определнного пула или MAC-адреса? или вариант что такой параметр выдается для клиентов если пакет dhcp пришел с определенного интерфейса например tun0

kozian
06-03-2009, 12:04
И все-таки, есть ли возможность отключить? А так же, можно ли откючить запуск процессов smbd и nfsd ?

Способ убивания процессов после загрузка как-то совсем не радует...

Less
06-03-2009, 12:09
А так же, можно ли откючить запуск процессов smbd и nfsd ?

Ето делается в веб-морде роутера.

kozian
06-03-2009, 13:10
Цитата:

А так же, можно ли откючить запуск процессов smbd и nfsd ?
Ето делается в веб-морде роутера.
У меня через web-gui отключена и Самба, и NFS. Процессы все равно стартуют при перезапуске.
Вопрос по сути в том, где прописан старт этих процессов. Есть информация у кого-нибудь?

al37919
06-03-2009, 14:06
в /opt/etc/init.d
Чтобы стартовые файлы не запускались достаточно переименовать первую букву в s (маленькую)

kozian
06-03-2009, 14:26
в /opt/etc/init.d
Чтобы стартовые файлы не запускались достаточно переименовать первую букву в s (маленькую)
Это для установленных вручную. А вопрос про build-in. (dnsmasq, smbd, nfsd).

MrGalaxy
07-03-2009, 07:44
dnsmasq - это куцые dns-сервер (точнее -форвардер) и dhcpd в одном флаконе, Если в локальной сети все адреса статические и нет доменов, то что, этот процесс не нужен совсем и его можно отключить?

al37919
07-03-2009, 08:02
Это для установленных вручную. А вопрос про build-in. (dnsmasq, smbd, nfsd).
чудес не бывает. Если в веб интерфейсе самба и nfs отключены, то вы их запустили сами. Ищите где.


Способ убивания процессов после загрузка как-то совсем не радует...
Почитайте, что делают комманды kill и killall --- они отнюдь не убивают. killall dnsmasq --- вполне цивилизованный способ завершения процесса

А если есть действительно большой интерес разобраться что и как запускается --- исходники прошивки доступны.

kozian
10-03-2009, 07:18
чудес не бывает. Если в веб интерфейсе самба и nfs отключены, то вы их запустили сами. Ищите где.

Да, что-то я поторопился. Толи не сделал рестарта (хотя вроде этим не грешу), толи приглючилось. После очередного рестарта в процессах их не нашел... Был неправ. :(



Почитайте, что делают комманды kill и killall --- они отнюдь не убивают. killall dnsmasq --- вполне цивилизованный способ завершения процесса

А если есть действительно большой интерес разобраться что и как запускается --- исходники прошивки доступны.
Отвечу за "запросчика". Kill, конечно, "завершает" процесс корректно, но это все равно неправильно. Запускать и потом останавливать.

А про исходники - это было некрасиво. :mad: Может и их придется читать, но не все разбираются в тонкостях программирования, а подсказать знающий человек мог бы.

Кстати, при настройках по умолчанию, bind стартует раньше dnsmasq, а вот DHCP - позже. Можно, в принципе, изменить номер у скрипта старта DHCP (в /opt/etc/init.d/), и тогда dnsmasq не сможет стартануть - интерфейсы и DNS, и DHCP будут уже заняты.
Но это тоже некрасивый метод...

theMIROn
10-03-2009, 07:33
можно попробовать поиграть с файлом во flashfs /usr/local/etc/dnsmasq.conf, который будет дописываться к автоматически формируемому /etc/dnsmasq.conf
http://thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example
например: искуственно вводить ошибки,забиндить на несуществующий интерфейс, etc

MrGalaxy
10-03-2009, 16:01
Ребята, мне никто не ответит?:confused::( Или я в очередной раз чушь спорол.

Rekia
12-03-2009, 03:01
Привет всем.
Помогите разобраться, пожалуйста со следующей задачей.

Как привязать локальный ip`шник к определнному имени?
Хочется заходить на NAS не вбивая IP, а набирая просто nas :)

Понимаю, что где-то прописать надо DNS, или в iptables чего-то добавить,
но дальше теории моих знаний не хватает.

Буду очень признателен за помощь.

Graftsman
12-03-2009, 10:08
Привет всем.
Как привязать локальный ip`шник к определнному имени?
Хочется заходить на NAS не вбивая IP, а набирая просто nas :)

В файле hosts. В XP здесь C:\WINDOWS\system32\drivers\etc\.

kozian
12-03-2009, 13:06
DNS имя указывается в DNS сервере, что логично.
Если установлена альтернативная прошивка, то там задачи DNS сервера на себя берет dnsmasq.
Настройки его хранятся в файле /etc/dnsmasq.conf
Там, видимо, можно указать хост типа "nas.rekia.lan" .
Рекомендую почитать, к примеру, этот пример конфигурации - http://oss.segetech.com/intra/srv/dnsmasq.conf

Так же, насколько я понимаю, для того, чтобы не указывать полное доменное имя (к примеру nas.rekia.lan - полное ДНС имя [FQDN] ), а только краткое, можно указать домен в файле /etc/resolv.conf (на него есть ссылка из dnsmasq.conf) директивой domain (строчка типа "domain rekia.lan")
Почитать про resolv.conf можно тут - http://www.opennet.ru/man.shtml?topic=resolv.conf

А так - решение Graftsman с прописыванием в hosts менее гибкое, но зато простое :)

p.s. если что не так написал - поправьте

Rekia
12-03-2009, 13:18
Как это реализовать в windows, для 1-ой машины я знаю.
Просто у меня на nas`е валяется всякий хлам для настройки
и установки компов. И так как компы всегда разные, которым
этот софт нужен, хочется более быстро набора.

За ссылки большое спасибо, ушел читать. :)

Marks
12-03-2009, 13:52
Как это реализовать в windows, для 1-ой машины я знаю.
Просто у меня на nas`е валяется всякий хлам для настройки
и установки компов. И так как компы всегда разные, которым
этот софт нужен, хочется более быстро набора.

За ссылки большое спасибо, ушел читать. :)

ВебИф
IP Config - > DHCP Server -> Assign IP Addres Manually -> yes
MAC Address IP Address Host Name
macadrnasa 192.168.1.2 MySuperNAS
Теперь подключить диск можно \\MySuperNAS\Share

kozian
13-03-2009, 10:05
Если в локальной сети все адреса статические и нет доменов, то что, этот процесс не нужен совсем и его можно отключить?
Ты про это? Если ты при этом пропишешь маршруты до DNS серверов провайдера, и их пропишешь явно в настройках компьютеров сети вместе со статическими IP, то да, не нужен.
Его функции DNS по сути сводятся к форвардингу запросов DNS на сервера провайдера.

kozian
13-03-2009, 10:15
ВебИф
IP Config - > DHCP Server -> Assign IP Addres Manually -> yes
MAC Address IP Address Host Name
macadrnasa 192.168.1.2 MySuperNAS
Теперь подключить диск можно \\MySuperNAS\Share

И что он делает, знаешь? Прописывает хост сам в кофу?
... надо попробовать ... )

kozian
13-03-2009, 11:12
Угу, да, работает :)

:-) Понятно, что работает, но интересно, что он реально делает )

Rekia
15-03-2009, 03:46
Присваевает хосту статик ип по маку, происывает в /etc/hosts соответствие ип - имя

Только у меня NAS живет отдельно от DHCP рутера. :rolleyes:

Marks
15-03-2009, 06:52
Только у меня NAS живет отдельно от DHCP рутера. :rolleyes:
Есть веские причины не подселять NAS на DHCP рутера? :)

Rekia
15-03-2009, 16:23
Есть веские причины не подселять NAS на DHCP рутера? :)

Да - рутер(wl500w) не держит гигабитную сетку.

vectorm
15-03-2009, 16:52
Да - рутер(wl500w) не держит гигабитную сетку.
И что? NAS не может получить из-за этого адрес по DHCP?
Не верю! (с) сами знаете кто.

Marks
15-03-2009, 17:00
Да - рутер(wl500w) не держит гигабитную сетку.Не совсем понял - т.е. вы утверждаете, что использование роутера как dhcp-сервера снижает скорость гигабитной сети - так?

Rekia
17-03-2009, 01:16
И что? NAS не может получить из-за этого адрес по DHCP?
Не верю! (с) сами знаете кто.

Из-за того, что рутер не держит гигабит, nas воткнут в другой девайс этой же сети, но с поддержкой гигабита.
Перекинуть провод на порт wl500 является немного затруднительным, и не совсем целесообразным в моем случае, поэтому я в поисках более длинного пути присвоения имен ip-адресам.
В общем как-то так.

Evgenii
17-03-2009, 06:09
Вы гоните не по детски...
К справке, если взять девай с поддержкой 1Гб сети, подлючить к нему NAS, и уже этот девай подключить к роутеру asus, то выйдет тот же хэ, только вид с боку! И лишняя трта денег. К справке, NAS может работать и на 100Мбит и на 10Мбит сети. А т.к. скорость роутера выше 100Мбит не будет, то и толку от вашего двайса-посредника ровно 0.

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

И вы хоть подключите роутер - девайс-посредник (хаб к примеру) - девай-посредник 2, 3 и так далее - только уведичите количство хопов, вот и все. А рельно будет 1 DHCP РОУТЕРА раздавать IP

Вам подсказали верное решение - в роутере в файлах /etc/dnsmasq.conf (или возможно то же самое только относительно папк tmp из корня).

vectorm
17-03-2009, 14:44
Так, тпрууу народ! :)
Весна что ли так действовать начала? ;)
Почистите за собой плиз.

rageofgods
16-05-2009, 10:43
Всем привет. У меня WL500gpv2.
Проблема в том, что роутер не хочет пробрасывать dns запросы моему провайдеру с помощью dnsmasq компьютерам которые к нему подсоединены.
Вывод комманды nslookup
> ya.ru
Server: [192.168.1.1]
Address: 192.168.1.1

*** [192.168.1.1] can't find ya.ru: Non-existent domain
>

Причем если зайти на сам роутер по телнету и попробовать сделать тоже самое то все работает.
Может кто знает в чем причина?

rageofgods
16-05-2009, 11:37
Дополнительное расследование выявило очень странный эффект.
Все работает если запускать dnsmasq с параметром no-daemon.

theMIROn
16-05-2009, 12:54
причина может быть в самом dnsmasq.
в прошивке 1.9.2.7-d используется более новая версия, попробуйте ее.

Break Action
15-06-2009, 03:14
Приветствую.
не так давно решил поднять у себя на роутере Bind. Вроде все настроил по инструкции (http://subnets.ru/blog/?p=38), но столкнулся с проблемой никак не могу найти файл - make-localhost, чтобы создать файлы localhost.rev и localhost-v6.rev.
Подскажите плз где его искать или что стоит прописать в данных фалйах.

Polet
05-01-2010, 00:53
После установки сей программы папка named пустая, файлов с конфигом тоже нет. Подскажите где искать

macek
22-01-2010, 20:55
Коллеги, посоветуйте, что использовать в качестве DNS сервера?
Хочу сделать перенаправление MX и CNAME на гугл.

coolmiha
23-01-2010, 14:14
Ну Bind, конечно.
djbdns кажется никто не компилил.

macek
23-01-2010, 14:38
был бы весьма признателен за простенький пример файла конфигурации ;)

satch
23-01-2010, 16:04
http://a-sys.ru/Articles/Article.aspx?ID=62

macek
28-01-2010, 16:27
Установил и настроил bind.
вроде бы днсит ))

теперь пытаюсь зарегистрироваться на ns2.trifle.net и вот что получаю:

Ошибка: сервер <мой_IP> не является primary для <мой_сайт.ру> или не отдает AXFR.

Попробовал запросить axfr сам:
dig <имя_зоны> axfr @мой_сайт.ру
;; communications error to <мой_IP>#53: connection reset

Порт 53 открыт на файрволе. смотрю логи:

Jan 27 13:48:48 named[1410]: listening on IPv4 interface lo, 127.0.0.1#53
Jan 27 13:48:48 named[1410]: binding TCP socket: address in use
Jan 27 13:48:48 named[1410]: listening on IPv4 interface vlan1, <мой_IP>#53
Jan 27 13:48:48 named[1410]: binding TCP socket: address in use
Jan 27 13:48:48 named[1410]: listening on IPv4 interface br0, 192.168.1.1#53
Jan 27 13:48:48 named[1410]: binding TCP socket: address in use

Т.е. скорее всего порт держит dnsmasq.
Теперь вопрос - если я отключу его (port=0 в /tmp/local/dnsmasq.conf), не повлияет ли это на функциональность dhcp и ресолвинка локальных имён?

Basile
28-01-2010, 18:15
Теперь вопрос - если я отключу его (port=0 в /tmp/local/dnsmasq.conf), не повлияет ли это на функциональность dhcp и ресолвинка локальных имён?Наверное, придется на компах в локальной сети прописывать DNS'ы провайдера. А на остальные вопросы - только тесты. Тестируйте!

macek
28-01-2010, 19:32
port=0 - работает ))

да, роутер по имени перестал определяться (ping - unknown host), но при этом по самбе прекрасно виден через сетевое окружение. проблему решил созданием локальной зоны с именем роутера, с адресом 192.168.1.1.

дхцп работает, днски провайдера указал в форвардерах, всё отлично работает!

1ntik
04-03-2010, 13:13
Добрый день
Раньше я сидел на прошивке олега 1.9.2.7-10 и был в принципе всем доволен. Но настала пора глюков, и я зашел почитать форум, увидел прошивку от энтузиастов r1000, перепрошился, понаставил нужные сервисы.
Сразу был замечен некоторый глюк со статическими ip внутри сети роутера. Настройки ip/mac не выставлялись ни с web-морды, ни в файле /etc/ethers . Вернее как, пишешь в файле вручную, сохраняешь, НОРМАЛЬНО(сохранив настройки) перезагружаешься и в итоге файл пустой. Ну ладно блин, можт dnsmasq был кривой в этой версии подумал я. Просидел месяц. Захожу на wl500.googlecode.com и вижу новую прошивку r1222. Первым делом лезу смотреть изменения. Вижу обновления dnsmasq до 2.52. Обновляюсь - та же картина. Статические ip не сохраняются.
Что за глюки странные?

1ntik
04-03-2010, 16:21
сделал 2 файла hosts и ethers на флешке, которая воткнута в роутер.
Дальше прописал в post-mount


killall dnsmasq
cp -r /tmp/harddisk/ethers /etc/ethers
cp -r /tmp/harddisk/hosts /etc/hosts
dnsmasq &


не помогло

1ntik
04-03-2010, 16:35
[admin@Neon root]$ cat /etc/ethers
**:**:**:**:**:** carboneum 192.168.1.102
**:**:**:**:**:** nitrogenium 192.168.1.101
**:**:**:**:**:** iodum 192.168.1.154

[admin@Neon root]$ cat /etc/hosts
127.0.0.1 neon.int1k.ru ne.int1k.ru neon
192.168.1.1 neon.int1k.ru ne.int1k.ru neon

192.168.1.101 nitrogenium nitro nitro.int1k.ru n.int1k.ru
192.168.1.102 carboneum carbo carbo.int1k.ru c.int1k.ru

192.168.1.154 iodum iodum.int1k.ru i.int1k.ru


тоесть в принципе файлики перегрузились



Jan 1 03:00:03 dnsmasq[73]: started, version 2.52 cachesize 512
Jan 1 03:00:03 dnsmasq[73]: compile time options: IPv6 GNU-getopt no-RTC no-DBus no-I18N DHCP no-scripts no-TFTP
Jan 1 03:00:03 dnsmasq-dhcp[73]: DHCP, IP range 192.168.1.201 -- 192.168.1.254, lease time 1d
...
Jan 1 03:00:03 dnsmasq[73]: read /etc/hosts - 2 addresses
...
Jan 1 03:00:07 dnsmasq[73]: read /etc/hosts - 2 addresses
Jan 1 03:00:07 dnsmasq[73]: using nameserver 213.234.192.8#53
Jan 1 03:00:07 dnsmasq[73]: using nameserver 85.21.192.3#53
Jan 1 03:00:07 dhcp client: bound IP : 10.237.36.220 from 10.237.32.1
...
Jan 1 03:00:08 dnsmasq[73]: read /etc/hosts - 2 addresses
Jan 1 03:00:08 dnsmasq[73]: using nameserver 213.234.192.7#53
Jan 1 03:00:08 dnsmasq[73]: using nameserver 85.21.192.5#53
...
Mar 4 18:09:52 dnsmasq[73]: exiting on receipt of SIGTERM
...
Mar 4 18:09:52 dnsmasq[156]: started, version 2.52 cachesize 512
Mar 4 18:09:52 dnsmasq[156]: compile time options: IPv6 GNU-getopt no-RTC no-DBus no-I18N DHCP no-scripts no-TFTP
Mar 4 18:09:52 dnsmasq-dhcp[156]: DHCP, IP range 192.168.1.201 -- 192.168.1.254, lease time 1d
...
Mar 4 18:09:52 dnsmasq[156]: read /etc/hosts - 5 addresses
Mar 4 18:09:52 dnsmasq[156]: using nameserver 213.234.192.7#53
Mar 4 18:09:52 dnsmasq[156]: using nameserver 85.21.192.5#53



Довольно странно что он первые 3 раза проверяет /etc/hosts просто так. И смущает что вообще нигде не читает ethers. Но судя по 5 адресам в конце, он правильно видит hosts

1ntik
04-03-2010, 16:59
Жееееесть, теперь понял как настроить)
Вообщем теперь статические айпишники надо записывать напрямую в dnsmasq.conf
Пример записи


dhcp-host=**:**:**:**:**:**,192.168.1.102,carboneum

Дальше соотв я удалил ethers с флешки и вместо него теперь гружу dnsmasq.conf
Но вопрос о том, что dnsmasq просто так за 5 сек 3 раза читает хосты, остается открытымО_о

Unlimited
04-03-2010, 17:26
Странно, у меня все работает на r12xx, но вообще на wl-500w были проблемы со статикой по дхцп, проходило само, глубоко не копал... А глюки типа все работает после настройки неделю или месяц, потом просто начинает выдавать другой адрес... Ребуты компа и роутера не помогали как и ipconfig /release ,ipconfig /renew ...

1ntik
04-03-2010, 17:50
Да чего тут копать, просто раньше он брал из файла, а теперь ему в конфиг писать)
Самое интересное что web-морда по идее пишет в файл ethers, и по идее не должно работать. По крайней мере у меня не работает:D

Но теперь я доволен) Наконец-то навел порядок в сетке.

theMIROn
04-03-2010, 18:18
Да чего тут копать, просто раньше он брал из файла, а теперь ему в конфиг писать)
Самое интересное что web-морда по идее пишет в файл ethers, и по идее не должно работать. По крайней мере у меня не работает:D

Но теперь я доволен) Наконец-то навел порядок в сетке.

по умолчанию dnsmasq читает из файла /etc/ethers, если он есть.
форсировать можно опцией read-ethers, и, у меня по дефолту - читает.
покажите свой /etc/dnsmasq.conf

Unlimited
04-03-2010, 21:30
Да чего тут копать, просто раньше он брал из файла, а теперь ему в конфиг писать)
Самое интересное что web-морда по идее пишет в файл ethers, и по идее не должно работать. По крайней мере у меня не работает:D

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

al37919
05-03-2010, 08:13
Jan 1 03:00:11 dnsmasq[164]: read /etc/hosts - 11 addresses
Jan 1 03:00:11 dnsmasq-dhcp[164]: read /etc/ethers - 9 addresses
во-первых, вручную надо адреса прописывать в файл /usr/local/etc/ethers При загрузке он добавляется к сгенеренному на основании вебморды /etc/ethers
во-вторых, вы бы все таки использовали канонический формат файла ethers http://www.opennet.ru/man.shtml?topic=ethers&category=5&russian=2 а не изобретенный вами. Тогда и "глюков" в прошивке глядишь меньше стало бы.

YVM
11-06-2011, 12:29
лучше в post-mount, КМК.

У меня этот фокус не проходит. dnsmasq все равно появляется в процессах, как Феникс. Может быть watchdog его воскрешает?

Ситуация следующая. Установлен bind, т.к. нужно контролитовать свою зону. Named, когда стартует, не слушает порт tcp 53, только udp порты 53. Возможно, в момент запуска tcp 53 занят dnsmasq. После ручной перегрузки bind подхваывает tcp 53 на внешнем интерфейсе. Конечно, можно замутить что-нибудь через cron, но неужели нет возможности удалять лишние программы из автозагрузки (без самостоятельной сборки под себя)?

YVM
13-06-2011, 06:43
Отвечаю сам себе. Пока вставил в cron скриптик:

#!/bin/bash
if [ `netstat -nl | grep -c \ 91.195.XXX.XXX:53` -gt 1 ]; then
echo 'bind ok';
else /opt/etc/init.d/S09named restart;
fi

Если bind слушает только 1 порт (udp), происходит перегрузка и подхватывается 2 порт (tcp 53).

Это не решение проблемы, но пока работает.

reiten
13-06-2011, 08:32
Мой немного извратный вариант:
Ситуация такая: bind9 для контроля своей зоны, dnsmasq для обеспечения потребностей внутренней сети.
Решение: bind9 стартует на другом порту (у меня - 553), а в post-firewall добавлены вот такие правила:

iptables -t nat -A VSERVER -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.1.1:553
iptables -t nat -A VSERVER -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.1.1:553
iptables -I INPUT -p tcp -m tcp --dport 553 -j ACCEPT
iptables -I INPUT -p udp -m udp --dport 553 -j ACCEPT


Таким образом dnsmasq раздает во внутренней сети dhcp и проксирует dns, а во внешней сети виден named, управляющий нужными зонами.

YVM
13-06-2011, 20:08
Спасибо, действительно интересный вариант. dnsmasq с внутренней домашней сетью вполне справляется, да и dhcp какой-никакой.
Подскажите, в чем смысл:
iptables -I INPUT -p tcp -m tcp --dport 553 -j ACCEPT
iptables -I INPUT -p udp -m udp --dport 553 -j ACCEPT
открывает 553 порт наружу? А зачем?

reiten
14-06-2011, 07:42
Затем, что после прохождения таблицы -t NAT PREROUTING и применения к ним DNAT, пакеты попадают в таблицу -t filter INPUT. При этом в пакетах destination уже 192.168.1.1:553, а source - ip внешней сети. Соответственно, если их явно не разрешить, они будут порезаны файрволом.

Подробную схему прохождения пакета по таблицам iptables можно глянуть, например, тут: http://citforum.ru/operating_systems/linux/iptables/#TRAVERSINGOFTABLES

theMIROn
14-06-2011, 08:03
запускайте бинд на внешнем интерфейсе, а dnsmasq - на внутреннем
для этого в /etc/dnamsq.conf должно быть вот это


interface=br0
bind-interfaces

подробнее тут http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example

для того, чтобы автоматически дописывать что-либо к /etc/dnsmasq.conf, нужно эти добавки прописать в файле /usr/local/etc/dnsmasq.conf и сохранить flashfs.

YVM
14-06-2011, 08:14
Затем, что после прохождения таблицы -t NAT PREROUTING и применения к ним DNAT, пакеты попадают в таблицу -t filter INPUT. При этом в пакетах destination уже 192.168.1.1:553, а source - ip внешней сети. Соответственно, если их явно не разрешить, они будут порезаны файрволом.

Подробную схему прохождения пакета по таблицам iptables можно глянуть, например, тут: http://citforum.ru/operating_systems/linux/iptables/#TRAVERSINGOFTABLES

Спасибо, запустил, получилось. Надо бы в FAQ добавить. Судя по форуму не один я искал выход из bind+dnsmasq.

YVM
14-06-2011, 08:49
запускайте бинд на внешнем интерфейсе, а dnsmasq - на внутреннем
для этого в /etc/dnamsq.conf должно быть вот это


interface=br0
bind-interfaces

подробнее тут http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example

для того, чтобы автоматически дописывать что-либо к /etc/dnsmasq.conf, нужно эти добавки прописать в файле /usr/local/etc/dnsmasq.conf и сохранить flashfs.

Насколько я понимаю, если /usr/local/etc/dnsmasq.conf нет, его нужно создать? Создал, вписал, сохранил - не переносит в /etc/dnsmasq.conf А если нужно отключить, то достаточно прописать port=0 ?

theMIROn
14-06-2011, 09:15
Насколько я понимаю, если /usr/local/etc/dnsmasq.conf нет, его нужно создать? Создал, вписал, сохранил - не переносит в /etc/dnsmasq.conf А если нужно отключить, то достаточно прописать port=0 ?

при запуске/перезапуске dnsmasq допишется.
port=0 да, выключит dns

YVM
14-06-2011, 19:07
Соответственно, если их явно не разрешить, они будут порезаны файрволом.


553 дублирует 53 т.е. ничего страшного, но как-то не уютно, когда лишний порт торчит наружу... Еще раз спасибо.


при запуске/перезапуске dnsmasq допишется.


Что-то видимо еще нужно сделать т.к. не дописывается...:)

theMIROn
14-06-2011, 20:40
Что-то видимо еще нужно сделать т.к. не дописывается...:)
dnsmasq обычно запускается только при старте роутера.

YVM
15-06-2011, 12:23
dnsmasq обычно запускается только при старте роутера.
Спасибо, дописывать получилось. Действительно, работает отлично. Проверил держатель домена - без замечаний.
В FAQ по bind модераторам нужно бы добавить.

mixir
12-07-2011, 15:00
Подскажите пожалуйста как можно обойти данную проблемы? имею роутер и сервер в лок сети, порты 21, 80 и тд пробросились нормально, сервер работает, а 53 для нс сервера в ло сети нет - из внешки он всегда закрыт, я уже много раз пытался настраивать virtual server ниче не помогает, грешу на встроенный dnsmasq но тогда почему 80 порт проросился без проблем ? ((

reiten
12-07-2011, 18:24
Странно. Если все сделано правильно, должно работать. Какая прошивка? 53-й порт пробрасывается и для tcp-, и для udp-соединений?

Как вариант - вписать в post-firewall


iptables -t nat -A VSERVER -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.1.x
iptables -t nat -A VSERVER -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.1.x

Но это крайняя мера.

mixir
13-07-2011, 10:12
Странно. Если все сделано правильно, должно работать. Какая прошивка? 53-й порт пробрасывается и для tcp-, и для udp-соединений?

Как вариант - вписать в post-firewall


iptables -t nat -A VSERVER -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.1.x
iptables -t nat -A VSERVER -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.1.x

Но это крайняя мера.


Прошивка 1.9.2.7-10 пробрасывал оба TCP и UPD через BOTH, udp пробросился и работает, а TCP нет. Сервер на локальной машине bind открывает и tcp и udp.

почему то post-firewall там где он должен лежать я не нашел у себя на роутере

вписывание через telnet не дало результатов, 53 порт закрыт наружу..

mixir
13-07-2011, 14:23
53 UDP пробрасывается нормально, из интернета видно и можно резолвить адреса, а вот 53 TCP закрыт....все бы ничего но 53 TCP нужен для AXFR

mixir
13-07-2011, 18:32
Хелп:confused: вот листинг IPTABLES

IP Tables

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
3787 1146K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
172 37632 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
4 128 ACCEPT 2 -- * * 0.0.0.0/0 224.0.0.0/4
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.0/4 udp dpt:!1900
15 6981 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
983 79078 DROP all -- * * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT 1303 packets, 77261 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.0/4
820 42000 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
4927 1231K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DROP all -- !br0 ppp0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- !br0 vlan1 0.0.0.0/0 0.0.0.0/0
132 10040 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate DNAT

Chain OUTPUT (policy ACCEPT 4404 packets, 1150K bytes)
pkts bytes target prot opt in out source destination

Chain BRUTE (0 references)
pkts bytes target prot opt in out source destination

Chain MACS (0 references)
pkts bytes target prot opt in out source destination

Chain SECURITY (0 references)
pkts bytes target prot opt in out source destination
0 0 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02 limit: avg 1/sec burst 5
0 0 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04 limit: avg 1/sec burst 5
0 0 RETURN udp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/sec burst 5
0 0 RETURN icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/sec burst 5
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0

Chain UPNP (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.1.10 udp dpt:60669

Chain logaccept (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW LOG flags 39 level 4 prefix `ACCEPT '
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain logdrop (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW LOG flags 39 level 4 prefix `DROP '
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0


IP Tables NAT

Chain PREROUTING (policy ACCEPT 1871 packets, 133K bytes)
pkts bytes target prot opt in out source destination
332 25807 VSERVER all -- * * 0.0.0.0/0 85.21.63.199
192 10109 VSERVER all -- * * 0.0.0.0/0 10.86.68.141

Chain POSTROUTING (policy ACCEPT 47 packets, 4283 bytes)
pkts bytes target prot opt in out source destination
544 31737 MASQUERADE all -- * ppp0 !85.21.63.199 0.0.0.0/0
143 7796 MASQUERADE all -- * vlan1 !10.86.68.141 0.0.0.0/0
28 2250 MASQUERADE all -- * br0 192.168.1.0/24 192.168.1.0/24

Chain OUTPUT (policy ACCEPT 49 packets, 4595 bytes)
pkts bytes target prot opt in out source destination

Chain UPNP (1 references)
pkts bytes target prot opt in out source destination
1 80 DNAT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:60669 to:192.168.1.10:60669

Chain VSERVER (2 references)
pkts bytes target prot opt in out source destination
524 35916 UPNP all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:192.168.1.5
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 to:192.168.1.5
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:9300:9600 to:192.168.1.5
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 to:192.168.1.5
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:192.168.1.5
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 to:192.168.1.5
8 516 DNAT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 to:192.168.1.5
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:60 to:192.168.1.5:80

mixir
13-07-2011, 18:40
И еще почему то еще одно правило из VSERVER не обрабатывается
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:60 to:192.168.1.5:80

доступ из внешки на 60 с форвардингом на HTTP

прошивку обновил до 1.9.2.7-rtn-r3121 - теже грабли

reiten
13-07-2011, 19:29
Подробно разобрал вывод iptables и сравнил с ситуацией на своем RT-N16. Никакой крамолы не нашел.

Как временную меру, можно попробовать на роутере что-то вроде

iptables -I FORWARD -d 192.168.1.5 -p tcp -m tcp --dport 53 -j ACCEPT
Это на случай, если я что-то проглядел, и с фильтрами что-то нахомутали.

В противном случае хотелось бы глянуть лог iptables с компьютера 192.168.1.5 - может на нем что-то интересное прописано.
Кстати, что происходит, если с роутера попробовать запустить:

telnet 192.168.1.5 53
?

mixir
13-07-2011, 20:15
Подробно разобрал вывод iptables и сравнил с ситуацией на своем RT-N16. Никакой крамолы не нашел.

Как временную меру, можно попробовать на роутере что-то вроде

iptables -I FORWARD -d 192.168.1.5 -p tcp -m tcp --dport 53 -j ACCEPT
Это на случай, если я что-то проглядел, и с фильтрами что-то нахомутали.

В противном случае хотелось бы глянуть лог iptables с компьютера 192.168.1.5 - может на нем что-то интересное прописано.
Кстати, что происходит, если с роутера попробовать запустить:

telnet 192.168.1.5 53
?


iptables с 192.168.1.5:


Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ISPCP_INPUT all -- any any anywhere anywhere
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spt:domain
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spt:domain
2839 2015K ACCEPT tcp -- any any anywhere anywhere tcp spt:www

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ISPCP_OUTPUT all -- any any anywhere anywhere
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:domain

Chain ISPCP_INPUT (1 references)
pkts bytes target prot opt in out source destination
0 0 tcp -- any any anywhere anywhere tcp spt:submission
0 0 tcp -- any any anywhere anywhere tcp spt:ssmtp
0 0 tcp -- any any anywhere anywhere tcp spt:smtp
0 0 tcp -- any any anywhere anywhere tcp dpt:imaps
0 0 tcp -- any any anywhere anywhere tcp dpt:pop3s
0 0 tcp -- any any anywhere anywhere tcp dpt:submission
0 0 tcp -- any any anywhere anywhere tcp dpt:ssmtp
0 0 tcp -- any any anywhere anywhere tcp dpt:smtp
0 0 tcp -- any any anywhere anywhere tcp dpt:imap2
0 0 tcp -- any any anywhere anywhere tcp dpt:pop3
0 0 tcp -- any any anywhere anywhere tcp dpt:https
0 0 tcp -- any any anywhere anywhere tcp dpt:www
0 0 tcp -- any any anywhere anywhere tcp dpt:domain
0 0 RETURN all -- any any anywhere anywhere

Chain ISPCP_OUTPUT (1 references)
pkts bytes target prot opt in out source destination
0 0 tcp -- any any anywhere anywhere tcp dpt:submission
0 0 tcp -- any any anywhere anywhere tcp dpt:ssmtp
0 0 tcp -- any any anywhere anywhere tcp dpt:smtp
0 0 tcp -- any any anywhere anywhere tcp spt:imaps
0 0 tcp -- any any anywhere anywhere tcp spt:pop3s
0 0 tcp -- any any anywhere anywhere tcp spt:submission
0 0 tcp -- any any anywhere anywhere tcp spt:ssmtp
0 0 tcp -- any any anywhere anywhere tcp spt:smtp
0 0 tcp -- any any anywhere anywhere tcp spt:imap2
0 0 tcp -- any any anywhere anywhere tcp spt:pop3
0 0 tcp -- any any anywhere anywhere tcp spt:https
0 0 tcp -- any any anywhere anywhere tcp spt:www
0 0 tcp -- any any anywhere anywhere tcp spt:domain
0 0 RETURN all -- any any anywhere anywhere



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

компьютер 192.168.1.10 тоже подключается к 192.168.1.5:53, значит всетаки дело в роутере

reiten
14-07-2011, 12:42
Согласен, проблема в роутере.
Еще идея: попробуйте отключить fast-nat:

nvram set misc_fastnat_x=0
nvram commit && reboot

mixir
17-07-2011, 21:53
Согласен, проблема в роутере.
Еще идея: попробуйте отключить fast-nat:

nvram set misc_fastnat_x=0
nvram commit && reboot

К сожалению и это не подошло :( 53 TCP порт так и не открылся...

на всякий случай, проверяю порты этим http://canyouseeme.org/

reiten
18-07-2011, 13:42
Тогда у меня кончились идеи :(
Разве что попробовать подключить инет напрямую к нужному компьютеру, чтобы убедиться, что это не козни провайдера.

Что до проверки портов - я пробовал стучаться на Ваш IP (он мелькает в логах iptables). 53й и 60й порт закрыты, тогда как тот же 80й отвечает без проблем.

mixir
19-07-2011, 11:05
Тогда у меня кончились идеи :(
Разве что попробовать подключить инет напрямую к нужному компьютеру, чтобы убедиться, что это не козни провайдера.

Что до проверки портов - я пробовал стучаться на Ваш IP (он мелькает в логах iptables). 53й и 60й порт закрыты, тогда как тот же 80й отвечает без проблем.

А у вас на роутере если попробывать 53 порт пробросить, он проброситься или тк же будет? Я кстати делал проброс с 60 внешнего на 80 внутренний (192.168.1.5) и тоже не получилось что почему-то наводит на мысль о том что там диапазон заблокирован, хотя может быть опять специфика роутера, он мне уже столько мучений принес, раньше на старой прошивке временами вообще ничего не пробрасывал.

Я не особый знаток линукса но dnsmasq выполняется от имени nobody может в этом проблема?

TReX
19-07-2011, 11:28
А у вас на роутере если попробывать 53 порт пробросить, он проброситься или тк же будет? Я кстати делал проброс с 60 внешнего на 80 внутренний (192.168.1.5) и тоже не получилось что почему-то наводит на мысль о том что там диапазон заблокирован, хотя может быть опять специфика роутера, он мне уже столько мучений принес, раньше на старой прошивке временами вообще ничего не пробрасывал.

Я не особый знаток линукса но dnsmasq выполняется от имени nobody может в этом проблема?

Обычно диапазон ниже 1000 у провайдера заблокирован, так что проброс например 2080 -> 80 работает прекрасно )

reiten
19-07-2011, 11:38
У меня на роутере кроме dnsmasq работает bind (полноценный dns-сервер, который держит доменную зону), а потому 53й порт проброшен на сам же роутер:

iptables -t nat -A VSERVER -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.1.1:553
iptables -t nat -A VSERVER -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.1.1:553
И эта связка отлично работает.

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

UPD

Обычно диапазон ниже 1000 у провайдера заблокирован, так что проброс например 2080 -> 80 работает прекрасно )
Весь диапазон там точно не блокирован: 80й порт у него открыт, я проверял.

mixir
19-07-2011, 12:07
Сегодня вечером приду с работы проверю, сейчас просто возможности нет, еще вычитал на форуме про nvram show | grep forward_port может там что-то интересное найдется... 53 UDP работает, например если через nslookup делать то все пашет, другое дело что еще нужно TCP для обмена...

mixir
19-07-2011, 19:01
reiten спасибо за помощь!:) Потратил вечером 3 часа на жесткий и страстный процесс поднятия впн штатными средствами убунты....и как выяснилось 53 порт закрыт:eek: теперь надо выяснить кто его закрывает убунта или провайдер

reiten
19-07-2011, 19:52
Значит, нужно третировать поддержку провайдера.
Ubuntu вне подозрений - ее исключили проверки из поста #121 (http://wl500g.info/showpost.php?p=234705&postcount=121).

deftor
24-08-2011, 09:24
reiten спасибо за помощь!:) Потратил вечером 3 часа на жесткий и страстный процесс поднятия впн штатными средствами убунты....и как выяснилось 53 порт закрыт:eek: теперь надо выяснить кто его закрывает убунта или провайдер
так решили вопрос или нет?
а если сделать в консоли роутера так:
dig @127.0.0.1 mydomain.ru axfr
трансфер произойдет?

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

_ad
25-08-2011, 10:33
Может быть уже обсуждалось, ткните носом если так.
Нужно во внутренней сети иметь DNS сервер доступный снаружи. Сервер есть, работает, nslookup все правильно показывает.


nslookup <xxxx>.cz.cc 192.168.2.21
╤хЁтхЁ: UnKnown
Address: 192.168.2.21
╚ь*: <xxxx>.cz.cc
Address: 109.195.81.187

Для доступа снаружи сделал порт-форвардинг порта 53 на ip DNS сервера. Отвечает похоже DNS провайдера:



nslookup <xxxx>.cz.cc 109.195.81.187
╤хЁтхЁ: net81.195.109-187.spb.ertelecom.ru
Address: 109.195.81.187

*** net81.195.109-187.spb.ertelecom.ru не удалось найти <xxxx>.cz.cc: Server failed


Помогите пожалуйста, куда смотреть?

RT-N16/RT-N16-1.9.2.7-rtn-r3121.trx

UPD: Все работает. Забыл про UDP.

DeeZ
03-09-2011, 22:39
Поставил bind, настроил локальную зону и один сайт.
Из локалки все нормально резолвится, а снаружи днс не доступен. Слейв днс не может стянуть зону, хотя получает уведомления что зона обновлена.

bind интерфес слушает:
named[6887]: listening on IPv4 interface ppp0, 1.2.3.4#53

Пробовал:
iptables -A INPUT -s 0/0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -s 0/0 -p udp --dport 53 -j ACCEPT

Все равно не отвечает сервер снаружи. куда копать?

DeeZ
03-09-2011, 22:50
разобрался
iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 53 -j ACCEPT

djserg-minyar
16-09-2011, 07:10
Ребята всем привет, требуется поднять данную опцию в DHCP пуле, необходимо для прошивки телефона Cisco.
Данная опция указывает ему где находиться TFTP сервер.

Пока сделал так
[#etc]$ cat dnsmasq.conf
user=nobody
resolv-file=/tmp/resolv.conf
no-poll
interface=br0
domain=Serg-Router
expand-hosts
no-negcache
cache-size=512
dhcp-leasefile=/tmp/dnsmasq.log
dhcp-range=lan,192.168.1.13,192.168.1.25,86400
dhcp-option=lan,15,Router
dhcp-option=lan,150,192.168.1.9
read-ethers
dhcp-authoritative

потом убиваем сервис dnsmasq - killall dnsmasq
и поднимаем снова - dnsmasq

по идее все должно работать, но чет не вижу активности на TFTP сервере по адресу 192.168.1.9

может что не так делаю?
и после ребута настройки этого файла слетают.

TReX
16-09-2011, 10:30
Ребята всем привет, требуется поднять данную опцию в DHCP пуле, необходимо для прошивки телефона Cisco.
Данная опция указывает ему где находиться TFTP сервер.

Пока сделал так
[#etc]$ cat dnsmasq.conf
user=nobody
resolv-file=/tmp/resolv.conf
no-poll
interface=br0
domain=Serg-Router
expand-hosts
no-negcache
cache-size=512
dhcp-leasefile=/tmp/dnsmasq.log
dhcp-range=lan,192.168.1.13,192.168.1.25,86400
dhcp-option=lan,15,Router
dhcp-option=lan,150,192.168.1.9
read-ethers
dhcp-authoritative

потом убиваем сервис dnsmasq - killall dnsmasq
и поднимаем снова - dnsmasq

по идее все должно работать, но чет не вижу активности на TFTP сервере по адресу 192.168.1.9

может что не так делаю?
и после ребута настройки этого файла слетают.

Можно конечно и гланды автогеном, но так http://www.cisco.com/en/US/products/hw/phones/ps379/products_tech_note09186a0080a277a3.shtml проще )

synemo
27-09-2011, 16:23
доброго времени суток! помогите решить проблему...
bind на роутере не передает зону вторичному dns серверу. Если его настроить как вторичный сервер, то все идет на ура. На время передачи удалял все правила в iptables с действием drop, разрешал входящие и исходящие tcp53 и udp53.
подскажите, что еще можно попробовать? я с ступоре. или здесь усеченный bind, который не может передавать зоны вторичному серверу?

вот лог slave:


Sep 26 15:15:50 server named[12844]: zone domain.ru/IN: Transfer started.
Sep 26 15:15:50 server named[12844]: transfer of 'domain.ru/IN' from 1.1.1.1#53: connected using 2.2.2.2#37496
Sep 26 15:15:50 server named[12844]: transfer of 'domain.ru/IN' from 1.1.1.1#53: failed while receiving responses: end of file
Sep 26 15:15:50 server named[12844]: transfer of 'domain.ru/IN' from 1.1.1.1#53: Transfer completed: 0 messages, 0 records, 0 bytes, 0.001 secs (0 bytes/sec)


вот лог с роутера:


26-Sep-2011 15:15:50.048 socket 0x2af98008: dispatch_recv: event 0x2af84698 -> task 0x2af77740
26-Sep-2011 15:15:50.049 socket 0x2af98008: internal_recv: task 0x2af77740 got event 0x2af98060
26-Sep-2011 15:15:50.049 socket 0x2af98008 2.2.2.2#44527: packet received correctly
26-Sep-2011 15:15:50.050 socket 0x2af98008: processing cmsg 0x2af78078
26-Sep-2011 15:15:50.050 client 2.2.2.2#44527: UDP request
26-Sep-2011 15:15:50.051 client 2.2.2.2#44527: using view '_default'
26-Sep-2011 15:15:50.051 client 2.2.2.2#44527: request is not signed
26-Sep-2011 15:15:50.051 client 2.2.2.2#44527: recursion not available
26-Sep-2011 15:15:50.052 client 2.2.2.2#44527: query
26-Sep-2011 15:15:50.052 client 2.2.2.2#44527: ns_client_attach: ref = 1
26-Sep-2011 15:15:50.053 client 2.2.2.2#44527: query 'domain.ru/SOA/IN' approved
26-Sep-2011 15:15:50.054 client 2.2.2.2#44527: send
26-Sep-2011 15:15:50.054 client 2.2.2.2#44527: sendto
26-Sep-2011 15:15:50.055 client 2.2.2.2#44527: senddone
26-Sep-2011 15:15:50.056 client 2.2.2.2#44527: next
26-Sep-2011 15:15:50.056 client 2.2.2.2#44527: ns_client_detach: ref = 0
26-Sep-2011 15:15:50.057 client 2.2.2.2#44527: endrequest
26-Sep-2011 15:15:50.058 client @0x2af95368: udprecv
26-Sep-2011 15:15:50.058 socket 0x2af98008: socket_recv: event 0x2af84698 -> task 0x2af77740


---------------------------------
прошивка: 1.9.2.7-rtn-r3300
named -v: BIND 9.6.1-P3

UPDATE:
кажется нашел причину. видать конфликт между dnsmasq и bind. отключение dns в dnsmasq.conf (port=0) решает проблему.
теперь новый вопрос: как сделать, чтобы сохранить изменения в dnsmasq.conf после перезагрузки?

zoger
15-09-2012, 11:20
Доброго времени суток. Суть проблемы в следующем - роутер подключен к домашней сети 192.168.26.0\24 в этой сети находится VPN сервер по адресу 192.168.26.27. Клиенты соответственно подключаясь к VPN получают ip из подсети 172.22.0.0. И им присваивается маршрут по умолчанию через сервер 172.22.0.1. После гуглений и раздумий решил настроить роутер на присваивание статических маршрутов.

Вот листинг конфигурации /etc/dnsmasq.conf



user=nobody
resolv-file=/tmp/resolv.conf
no-poll
interface=br0
no-negcache
cache-size=512
dhcp-leasefile=/tmp/dnsmasq.log
dhcp-range=lan,192.168.1.101,192.168.1.254,86400
dhcp-authoritative
dhcp-option=option:router
dhcp-option-force=121,192.168.26.0/24,192.168.1.1,192.168.4.0/24,192.168.1.1
dhcp-option-force=249,192.168.26.0/24,192.168.1.1,192.168.4.0/24,192.168.1.1
dhcp-option=vendor:MSFT,2,1i


И тут начинается самое интересное - при такой вот работе клиенты Windows запросто получают все настройки и маршруты, а пингвины вообще напроч отказываются работать. Дело уже не в маршрутах, даже настройки сети не назначаются. Прошу помощи в настройке. Заранее благодарю.

theMIROn
15-09-2012, 15:31
И тут начинается самое интересное - при такой вот работе клиенты Windows запросто получают все настройки и маршруты, а пингвины вообще напроч отказываются работать. Дело уже не в маршрутах, даже настройки сети не назначаются. Прошу помощи в настройке. Заранее благодарю.
нужно смотреть что просится и что выдается
tcpdump -i интерфейс -nvv -s 1500 port 67 or port 68


теперь новый вопрос: как сделать, чтобы сохранить изменения в dnsmasq.conf после перезагрузки?
/usr/local/etc/dnsmasq.conf во flashfs

vladspbru
17-11-2012, 19:45
Можно ли добавить в репозиторий утилиту "pdnsd — кэширующий DNS proxy (http://habrahabr.ru/post/159013/#comment_5445441)"?
Или почему на роутере этого делать не стоит. /rtn-16/

MercuryV
17-11-2012, 20:39
Попалась на глаза заметка Самый простой способ использования Hulu, Pandora и т.д. безо всяких VPN (http://habrahabr.ru/post/159029/).
Там приводились примеры элегантного использования метода при помощи роутеров под DD-WRT и OpenWRT.
На прошивке Олега/Энтузиастов тоже всё легко и просто: дописывайте записи вида server=/pandora.com/184.82.222.5
в /usr/local/etc/dnsmasq.conf, сохраняйте во flashfs на будущее, перезапускайте dnsmasq и все заработает.
Проверил с Pandora.com


Можно ли добавить в репозиторий утилиту "pdnsd — кэширующий DNS proxy (http://habrahabr.ru/post/159013/#comment_5445441)"?
Или почему на роутере этого делать не стоит. /rtn-16/
в прошивке энтузиастов (и в большинстве других) уже есть кеширование DNS запросов - этим занимается dnsmasq, работающий "из коробки".
По указанной ссылке на Хабре справедливо напомнили для dnsmasq об опции --all-servers , попробуйте включить.
Не вижу особого резона добавлять еще один DNS сервер к имеющимся.

theMIROn
18-11-2012, 14:01
Можно ли добавить в репозиторий утилиту "pdnsd — кэширующий DNS proxy (http://habrahabr.ru/post/159013/#comment_5445441)"?
Или почему на роутере этого делать не стоит. /rtn-16/

добавлю, что замечание на хабре про невозможность граничить ttl в dnsmasq не актуально, это легко настраивается

vladspbru
18-11-2012, 16:02
Не бейте сильно, настраиваю DNS, но после перегрузки роутера файлы /tmp/etc/dnsmasq.conf и /tmp/resolc.conf возвращаются в состояние "из коробки".
Подскажите как в текущих прошивках эти конфиги ПРАВИЛЬНО сохранить, или все также нужно постаринке в post-boot скрипте их перезаписать, убить
процесс и заново его стартануть.
2 Вопрос как правильно перезапустить dnsmasq ведь в init.d нету его скрипта

ps. Запутался в советах/записях форума. Раньше с оригинальной олеговской прошивкой была ясность, сейчас чем больше читаю, тем больше путаюсь.

Сам себе отвечаю:
Можно добавить эту строчку в /usr/local/etc/dnsmasq.conf. Содержимое этого файла будет автоматически дописано в конец /etc/dnsmasq.conf

Dvvarf
03-12-2012, 23:50
Как заставить dnsmasq действительно кэшировать запросы? А то получается вот так:

Dec 4 03:44:45 dnsmasq[248]: time 9087462
Dec 4 03:44:45 dnsmasq[248]: cache size 512, 0/1075 cache insertions re-used unexpired cache entries.
Dec 4 03:44:45 dnsmasq[248]: queries forwarded 384804, queries answered locally 21
Dec 4 03:44:45 dnsmasq[248]: server 1#53: queries sent 2118, retried or failed 0
Dec 4 03:44:45 dnsmasq[248]: server 2#53: queries sent 2121, retried or failed 1430
Может нужно ttl вручную прописать? А то у провайдера постоянно днс падают это очень раздражает притом, что на роутере есть кэширущий днс.

cobain
17-12-2012, 02:11
в прошивке энтузиастов (и в большинстве других) уже есть кеширование DNS запросов - этим занимается dnsmasq, работающий "из коробки".
По указанной ссылке на Хабре справедливо напомнили для dnsmasq об опции --all-servers , попробуйте включить.
Не вижу особого резона добавлять еще один DNS сервер к имеющимся.

pdnsd = permanent dnsd.
в нём много плючек. одна из основных это сохранение кеша при перезагрузке. ещё применение конфига без перезагрузки. работа к кэшом через ctl. гибкие опции настройки днс источников и алгоритмы проверки их работоспособности. и т.д.
у меня на компе локально настроен pdnsd. на провайдерские и гуловкий сервера. причём провайдоровкие часто путят или вообще не работают попеременно. проверял гуловкой namebench, локальный pdnds впереди всех.
имхо если бы он был в репозитории я бы не раздумывая его поставил бы на кешится на флешку подсоединённую к роутеру.

Dr.Norfolk
19-04-2013, 20:38
Уважаемые господа!
Появилась необходимость в пакете dhcpd, который, к сожалению, отсутствует в репозитории. Подскажите, если это много не затруднит, возможно ли появление этого пакета в репозитории?
Где-то выше этот вопрос уже поднимался, но ответ на него я не нашел. Благодарю за ответ!

Radjah
30-04-2013, 05:32
Уважаемые господа!
Появилась необходимость в пакете dhcpd, который, к сожалению, отсутствует в репозитории. Подскажите, если это много не затруднит, возможно ли появление этого пакета в репозитории?
Где-то выше этот вопрос уже поднимался, но ответ на него я не нашел. Благодарю за ответ!

Дык сервер и клиент dhcp есть в самой прошивке, зачем еще один?

Dr.Norfolk
30-04-2013, 15:46
Дык сервер и клиент dhcp есть в самой прошивке, зачем еще один?

Выше уже об этом разговаривали (и у меня проблема идентичная): хочется поднять полноценный dns-сервер. Уже установил bind (благо он есть в репозитории), а потом всплыли подробности: 53-ий порт уже используется dnsmasq (тем самым, который уже есть в самой прошивке dhcp/dns-сервер), во всяком случае так утверждалось выше. Да и сам проверял.

Однако, только что попробовал проделать это еще раз (запустить bind):


Apr 30 21:31:19 named[503]: BIND 9 is maintained by Internet Systems Consortium,
Apr 30 21:31:19 named[503]: Inc. (ISC), a non-profit 501(c)(3) public-benefit
Apr 30 21:31:19 named[503]: corporation. Support and training for BIND 9 are
Apr 30 21:31:19 named[503]: available at https://www.isc.org/support
Apr 30 21:31:19 named[503]: ----------------------------------------------------
Apr 30 21:31:19 named[503]: using 1 UDP listener per interface
Apr 30 21:31:19 named[503]: using up to 4096 sockets
Apr 30 21:31:19 admin: Started named from .
Apr 30 21:31:20 named[503]: loading configuration from '/opt/etc/bind/named.conf'
Apr 30 21:31:20 named[503]: using default UDP/IPv4 port range: [1024, 65535]
Apr 30 21:31:20 named[503]: using default UDP/IPv6 port range: [1024, 65535]
Apr 30 21:31:20 named[503]: listening on IPv4 interface lo, 127.0.0.1#53
Apr 30 21:31:20 named[503]: binding TCP socket: address in use
Apr 30 21:31:20 named[503]: listening on IPv4 interface vlan1, ip.ip.ip.ip#53
Apr 30 21:31:20 named[503]: binding TCP socket: address in use
Apr 30 21:31:20 named[503]: listening on IPv4 interface br0, 172.16.25.1#53

Apr 30 21:31:20 named[503]: binding TCP socket: address in use \\может это означает занятость сокета????

Apr 30 21:31:20 named[503]: generating session key for dynamic DNS
Apr 30 21:31:20 named[503]: sizing zone task pool based on 5 zones
Apr 30 21:31:20 named[503]: set up managed keys zone for view _default, file 'managed-keys.bind'
Apr 30 21:31:20 named[503]: automatic empty zone: 10.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 16.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 17.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 18.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 19.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 20.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 21.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 22.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 23.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 24.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 25.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 26.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: open: /opt/etc/rndc.key: file not found
Apr 30 21:31:20 named[503]: couldn't add command channel 127.0.0.1#953: file not found
Apr 30 21:31:20 named[503]: open: /opt/etc/rndc.key: file not found
Apr 30 21:31:20 named[503]: couldn't add command channel ::1#953: file not found
Apr 30 21:31:20 named[503]: managed-keys-zone: loaded serial 0
Apr 30 21:31:20 named[503]: zone 0.in-addr.arpa/IN: loaded serial 1
Apr 30 21:31:20 named[503]: zone 127.in-addr.arpa/IN: loaded serial 1
Apr 30 21:31:20 named[503]: zone 255.in-addr.arpa/IN: loaded serial 1
Apr 30 21:31:20 named[503]: zone localhost/IN: loaded serial 1
Apr 30 21:31:21 named[503]: all zones loaded
Apr 30 21:31:21 named[503]: running

Судя по всему, зоны поднялись. Еще ничего не настраивалось, но сам бинд запускается, не падает с фаталом - это уже хорошо.
Хотелось бы, в общем-то, отключить встроенный dnsmasq и вверить его задачи гибким инструментам (bind+dhcpd). Я не первый задающий этот вопрос, было б очень здорово, если б нужный пакет появился в репозитории!

BcTpe4HbIu
30-04-2013, 15:56
Выше уже об этом разговаривали (и у меня проблема идентичная): хочется поднять полноценный dns-сервер. Уже установил bind (благо он есть в репозитории), а потом всплыли подробности: 53-ий порт уже используется dnsmasq (тем самым, который уже есть в самой прошивке dhcp/dns-сервер), во всяком случае так утверждалось выше. Да и сам проверял.

Однако, только что попробовал проделать это еще раз (запустить bind):


Apr 30 21:31:19 named[503]: BIND 9 is maintained by Internet Systems Consortium,
Apr 30 21:31:19 named[503]: Inc. (ISC), a non-profit 501(c)(3) public-benefit
Apr 30 21:31:19 named[503]: corporation. Support and training for BIND 9 are
Apr 30 21:31:19 named[503]: available at https://www.isc.org/support
Apr 30 21:31:19 named[503]: ----------------------------------------------------
Apr 30 21:31:19 named[503]: using 1 UDP listener per interface
Apr 30 21:31:19 named[503]: using up to 4096 sockets
Apr 30 21:31:19 admin: Started named from .
Apr 30 21:31:20 named[503]: loading configuration from '/opt/etc/bind/named.conf'
Apr 30 21:31:20 named[503]: using default UDP/IPv4 port range: [1024, 65535]
Apr 30 21:31:20 named[503]: using default UDP/IPv6 port range: [1024, 65535]
Apr 30 21:31:20 named[503]: listening on IPv4 interface lo, 127.0.0.1#53
Apr 30 21:31:20 named[503]: binding TCP socket: address in use
Apr 30 21:31:20 named[503]: listening on IPv4 interface vlan1, ip.ip.ip.ip#53
Apr 30 21:31:20 named[503]: binding TCP socket: address in use
Apr 30 21:31:20 named[503]: listening on IPv4 interface br0, 172.16.25.1#53

Apr 30 21:31:20 named[503]: binding TCP socket: address in use \\может это означает занятость сокета????

Apr 30 21:31:20 named[503]: generating session key for dynamic DNS
Apr 30 21:31:20 named[503]: sizing zone task pool based on 5 zones
Apr 30 21:31:20 named[503]: set up managed keys zone for view _default, file 'managed-keys.bind'
Apr 30 21:31:20 named[503]: automatic empty zone: 10.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 16.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 17.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 18.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 19.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 20.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 21.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 22.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 23.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 24.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 25.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: automatic empty zone: 26.172.IN-ADDR.ARPA
Apr 30 21:31:20 named[503]: open: /opt/etc/rndc.key: file not found
Apr 30 21:31:20 named[503]: couldn't add command channel 127.0.0.1#953: file not found
Apr 30 21:31:20 named[503]: open: /opt/etc/rndc.key: file not found
Apr 30 21:31:20 named[503]: couldn't add command channel ::1#953: file not found
Apr 30 21:31:20 named[503]: managed-keys-zone: loaded serial 0
Apr 30 21:31:20 named[503]: zone 0.in-addr.arpa/IN: loaded serial 1
Apr 30 21:31:20 named[503]: zone 127.in-addr.arpa/IN: loaded serial 1
Apr 30 21:31:20 named[503]: zone 255.in-addr.arpa/IN: loaded serial 1
Apr 30 21:31:20 named[503]: zone localhost/IN: loaded serial 1
Apr 30 21:31:21 named[503]: all zones loaded
Apr 30 21:31:21 named[503]: running

Судя по всему, зоны поднялись. Еще ничего не настраивалось, но сам бинд запускается, не падает с фаталом - это уже хорошо.
Хотелось бы, в общем-то, отключить встроенный dnsmasq и вверить его задачи гибким инструментам (bind+dhcpd). Я не первый задающий этот вопрос, было б очень здорово, если б нужный пакет появился в репозитории!

Он не смог открыть порт на br0 (локальная сеть). Что бы он он его открыл надо как то в /etc/dnsmasq.conf дописывать port=0. Кажется в прошивку добавляли возможность редактировать встроенные конфиги...

theMIROn
01-05-2013, 09:00
хочется поднять полноценный dns-сервер.
dnsmasq умеет зоны


Уже установил bind (благо он есть в репозитории), а потом всплыли подробности: 53-ий порт уже используется dnsmasq (тем самым, который уже есть в самой прошивке dhcp/dns-сервер), во всяком случае так утверждалось выше. Да и сам проверял.
как вариант, можно запустить bind на отдельном порту и добавить в dnsmasq.conf
server=/domain/127.0.0.1#port
server=/...in-addr.arpa/127.0.0.1#port



Хотелось бы, в общем-то, отключить встроенный dnsmasq и вверить его задачи гибким инструментам (bind+dhcpd)
полностью отключить dns сервис в dnsmasq можно с помощью port=0 в dnsmasq.conf, а dhcp - в web интерфейсе.

p.s. сравнивая возможности dnsmasq vs dhcpd - первый лидирует, второй выглядит бревном.
p.p.s. для тех, кто не в состоянии искать на форуме, содержимое /usr/local/etc/dnsmasq.conf будет дописано к конфигурации (из flashfs)

Dr.Norfolk
06-05-2013, 17:52
Он не смог открыть порт на br0 (локальная сеть). Что бы он он его открыл надо как то в /etc/dnsmasq.conf дописывать port=0. Кажется в прошивку добавляли возможность редактировать встроенные конфиги...



полностью отключить dns сервис в dnsmasq можно с помощью port=0 в dnsmasq.conf, а dhcp - в web интерфейсе.

p.s. сравнивая возможности dnsmasq vs dhcpd - первый лидирует, второй выглядит бревном.
p.p.s. для тех, кто не в состоянии искать на форуме, содержимое /usr/local/etc/dnsmasq.conf будет дописано к конфигурации (из flashfs)

Здорово! если действительно можно отключить dns сервис в dnsmasq, то этого и будет достаточно! Нареканий к его dhcp не было, работает как надо!
Спасибо, господа! Буду пробовать!

Omega
21-08-2013, 20:56
dnsmasq умеет зоны

как вариант, можно запустить bind на отдельном порту и добавить в dnsmasq.conf
server=/domain/127.0.0.1#port
server=/...in-addr.arpa/127.0.0.1#port

полностью отключить dns сервис в dnsmasq можно с помощью port=0 в dnsmasq.conf, а dhcp - в web интерфейсе.

p.s. сравнивая возможности dnsmasq vs dhcpd - первый лидирует, второй выглядит бревном.
p.p.s. для тех, кто не в состоянии искать на форуме, содержимое /usr/local/etc/dnsmasq.conf будет дописано к конфигурации (из flashfs)

http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=shortlog ;)

theMIROn
22-08-2013, 08:55
http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=shortlog ;)
да, оно ваще много что может :)

fagotist
01-06-2015, 11:57
Прошу помочь. Сабж со стоковой прошивкой 3.0.0.4.376_3754. Как сохранить изменения в файле dnsmasq.conf. После перезапуска настройки слетают. Прошу не пинать - форум читал. Рекомендации находил для прошивок энтузиастов, советовали /usr/local/etc/dnsmasq.conf во flashfs. Но меня интересует именно стоковая прошивка.

Rusink
01-06-2015, 12:36
Прошу помочь. Сабж со стоковой прошивкой 3.0.0.4.376_3754. Как сохранить изменения в файле dnsmasq.conf. После перезапуска настройки слетают. Прошу не пинать - форум читал. Рекомендации находил для прошивок энтузиастов, советовали /usr/local/etc/dnsmasq.conf во flashfs. Но меня интересует именно стоковая прошивка.

Если интересует стоковая прошивка - прямая дорога в техподдержку ASUS. Это их работа и их хлеб.

fagotist
02-06-2015, 04:34
Если интересует стоковая прошивка - прямая дорога в техподдержку ASUS. Это их работа и их хлеб.

В свое время перепробовал и DD-WRT и томаты и энтузиастов. Около года сидел на энтузиастах, на роутере крутился transmission и многое другое. Потом начались проблемы - то репозиторий не доступен, то wi-fi падал по 5 раз на дню, то скорость по lan была ниже заявленой и так далее. Перебирал разные сборки и пришел к выводу, что все это от лукавого. Роутер должен роутить, а все остальное должен делать NAS. Купил по очень вкусной цене Asustor as-602t, установил на роутер стоковую прошивку на тот момент с уже измененным web-gui и забыл как страшный сон про альтернативные прошивки. Роутер абсолютно стабилен - один раз настроил порты, dhcp, vpn. Сейчас задумал прикрутить на NAS PXE-сервер. Установил на нем dnsmasq, настроил - все работает. Проблема в том, что при таком раскладе в локалке 2 dhcp сервера. И PXE загрузчик не всегда получает IP из нужного диапазона. По хорошему можно отключить dhcp на роутере и возложить функцию на NAS, но для меня это не совсем удобно. Мне всего лишь нужно указать в конфиге dnsmasq роутера адрес TFTP сервера и имя файла загрузчика. Неужели в стоковой прошивке это большая проблема? Отказываться ради 2 строчек от удобной для меня и стабильной прошивки? Вчера ради эксперимента опять поставил DD-WRT - замороженный и глючный gui, который почему то работает только в хроме. В фаерфоксе глючит по не понятной мне причине. Вернулся опять на AsusWRT - время идет, а проблемы теже.

PS. От асусовского саппорта можно годами ждать ответа. Вопрос пустяковый, потому и спрашиваю тут.

dlukanidin
02-06-2015, 12:32
В свое время перепробовал и DD-WRT и томаты и энтузиастов. Около года сидел на энтузиастах, на роутере крутился transmission и многое другое. Потом начались проблемы - то репозиторий не доступен, то wi-fi падал по 5 раз на дню, то скорость по lan была ниже заявленой и так далее. Перебирал разные сборки и пришел к выводу, что все это от лукавого. Роутер должен роутить, а все остальное должен делать NAS. Купил по очень вкусной цене Asustor as-602t, установил на роутер стоковую прошивку на тот момент с уже измененным web-gui и забыл как страшный сон про альтернативные прошивки. Роутер абсолютно стабилен - один раз настроил порты, dhcp, vpn. Сейчас задумал прикрутить на NAS PXE-сервер. Установил на нем dnsmasq, настроил - все работает. Проблема в том, что при таком раскладе в локалке 2 dhcp сервера. И PXE загрузчик не всегда получает IP из нужного диапазона. По хорошему можно отключить dhcp на роутере и возложить функцию на NAS, но для меня это не совсем удобно. Мне всего лишь нужно указать в конфиге dnsmasq роутера адрес TFTP сервера и имя файла загрузчика. Неужели в стоковой прошивке это большая проблема? Отказываться ради 2 строчек от удобной для меня и стабильной прошивки? Вчера ради эксперимента опять поставил DD-WRT - замороженный и глючный gui, который почему то работает только в хроме. В фаерфоксе глючит по не понятной мне причине. Вернулся опять на AsusWRT - время идет, а проблемы теже.

PS. От асусовского саппорта можно годами ждать ответа. Вопрос пустяковый, потому и спрашиваю тут.
Ставьте прошивку от Мерлина. Это почти сток, но с кастомизацией того, что нужно.

fagotist
02-06-2015, 12:58
Ставьте прошивку от Мерлина. Это почти сток, но с кастомизацией того, что нужно.

Так мерлин вроде не поддерживант RT-N16 или ошибаюсь? Если можно ссылочку.

TReX
02-06-2015, 13:22
Так мерлин вроде не поддерживант RT-N16 или ошибаюсь? Если можно ссылочку.

Неужели у Вас пожизненый бан на гугле? ))))
http://www.lostrealm.ca/tower/node/79

fagotist
02-06-2015, 14:17
Неужели у Вас пожизненый бан на гугле? ))))
http://www.lostrealm.ca/tower/node/79

http://asuswrt.lostrealm.ca/about
Это то, что пишут на страничке мерлина, а именно The following models are no longer officially supported: RT-N16
Все равно поробую скачать - погоняю её может быть и обойдется :D

TReX
02-06-2015, 14:52
http://asuswrt.lostrealm.ca/about
Это то, что пишут на страничке мерлина, а именно The following models are no longer officially supported: RT-N16
Все равно поробую скачать - погоняю её может быть и обойдется :D

RT-N16 сейчас уже некрофилия, так на дачке через 3Г вайфай попользовать )

fagotist
02-06-2015, 15:33
RT-N16 сейчас уже некрофилия, так на дачке через 3Г вайфай попользовать )

Ну в моем случае раздать IP и Wi-Fi в локалке он справляется. Самое главное на моем тарифе 100 Мбит/с он скорости не режет - отрабатывает честно. Для всего остального есть NAS. Хотя на самом деле странно, что такую элементарную функцию как PXE в сток не запихнули, учитывая что в прошивке уже есть кастрированный dnsmasq - без скомпилилированного TFTP. На том же DD-WRT это даже в гуе настроить можно.
http://i58.tinypic.com/1z5rhp0.jpg

Omega
25-05-2016, 23:45
Недавно theMIRon'ом был обновлен dnsmasq до 2.76 :)

https://github.com/wl500g/wl500g/commits/master (https://github.com/wl500g/wl500g/commit/2f6d2a057a36fefdc4a615b6dd0cf9c2bbf5b4fa)
https://bitbucket.org/padavan/rt-n56u/commits/master (https://bitbucket.org/padavan/rt-n56u/commits/b3c5dfa15a6d0353c142a340883023138bfa8d35?at=master )

Можно еще будет включить там и поддержку скриптов (https://bitbucket.org/padavan/rt-n56u/commits/264af17aa1d667367d0548ab41ec390ba2d89029?at=master ) ;)


С ближайшей ночной сборкой в прошивку войдёт новый dnsmasq 2.76 (http://www.thekelleys.org.uk/dnsmasq/CHANGELOG), в котором будет включена поддержка скриптов.
Пример ниже показывает как отправлять уведомления при появлении\исчезновении определённого устройства в сети.

На странице LAN > DHCP-сервер (http://my.router/Advanced_DHCP_Content.asp) в поле «Пользовательский файл конфигурации "dnsmasq.conf"» впишите:

### Tell about DHCP leases
script-arp
dhcp-script=/etc/storage/dhcp-script.sh
и сделайте исполняемый скрипт /etc/storage/dhcp-script.sh со следующим содержимым:

#!/bin/sh

# add|del|old params:
# $1 - action
# $2 - MAC address
# $3 - IP address
# $4 - host name (if available)

# arp-add|arp-del params:
# $1 - action
# $2 - MAC
# $3 - IP address

# Интересуют только ARP-события
[ -z "$(echo $1 | grep ^arp)" ] && exit

# Только IPv4-события
host=$(grep "$2 $3" /tmp/dnsmasq.leases | cut -d ' ' -f 4)
[ -z "$host" ] && exit

# Нужны только хосты со статической привязкой адресов, у которых есть слово "Andrey" в имени
[ -z "$(grep $3 /etc/hosts | grep 'Andrey')" ] && exit

case $1 in
arp-add)
/etc/storage/tg_say.sh "$host connected."
;;
arp-del)
/etc/storage/tg_say.sh "$host disconnected."
;;
*)
exit
;;
esac
Вместо вызова /etc/storage/tg_say.sh поставьте свой способ нотификаций: мылом, СМС, мессенджером и т.п.
Во вложении пример того, что мне приходит в Telegram.

Сборки подрастут примерно на 20КБ, кто заполнял флеш под завязочку, обратите внимание на размер имаджей.
http://forum.ixbt.com/topic.cgi?id=14:63015:5525#5525 ;)

egorart
09-08-2016, 19:31
Насколько я понял, в https://github.com/wl500g/wl500g поддержка скриптов отключена.
Я тут неожиданно научился собирать прошивку из исходников :o

подумал, что можно как-то включить, но тут появилось несколько вопросов
1. может специально не включено т.к. может что-то сломаться или может это как-то на размер прошивки повлияет?
2. ну, даже если включить нельзя, то просто интересно, как включить

нашел 2 файла:
https://github.com/wl500g/wl500g/blob/master/gateway/dnsmasq/Makefile
https://github.com/wl500g/wl500g/blob/master/gateway/Makefile

во 2-м явно прописано -DNO_SCRIPT это и есть опция отключения сборки с этой опцией? или надо какие флаги/опции в первом вносить?
допустим надо включить, то просто -DNO_SCRIPT поменять на SCRIPT или просто удалить этот параметр или как?

или это не в этих файлах меняется?

stio
16-10-2016, 22:16
Подскажите, достаточно давно заметил, что в настройках DHCP сервера значение DNS Server 1 - пусто, можно заполнить. Значение DNS Server 2 - 192.168.1.1 и помечено сереньким, невозможно отредактировать.

Хотелось бы выдавать значения DNS серверов в порядке: DNS Server 1: 192.168.1.1
DNS Server 2: 8.8.8.8

Где это можно исправить? Смотрел NVRAM, ничего не нашел. (

DfDf
28-10-2016, 07:18
Джентельмены, прошу прощения за вопрос, наверняка он неоднократно поднимался в теме, но, к сожалению, совершенно нет времени лопаптить заново почти 400 страниц...
Необходимо правильно добавить статическую запись, чтобы локальное (в пределах LAN) разрешение имени хоста не уходило к DNS серверам, а разрешалось бы на самом роутере.

Т.е. нужно чтобы из LAN запрос вида ping host1 выдавал бы прописанный в dnsmasq.conf адрес.

В связи с этим вопросы:
В последних версиях прошивки по-прежнему tmp/local/sbin работает?
Если нет, то куда класть пользовательские скрипты?
Какие команды и в какой из скриптов нужно прописать, чтобы это работало и переживало ребут?
(как я понимаю, запись вида echo address=/host1/192.168.1.10 >>/tmp/etc/dnsmasq.conf нужно добавить в tmp/local/sbin/postboot)?

Давно было дело, когда я это сконфигурировал, а сейчас опять понадобилось.

Заранее спасибо!