(решено) IPv6, radvd и 3 DNS сервера

Цитата: wowks от 26/04/2019, 12:54Всем добра!
8.1.4.RU.25042019 / AP-Gateway / MT7621 CPU, MT7603 2T2R 2.4GHz, MT7610 1T1R 5GHz, 1000FDX
Есть неочевидное:
Отдаю по dhcp6 три DNS сервера: свой и два сторонних.
Получаю:
Apr 25 19:58:37 ipv6: Configure radvd Apr 25 19:58:37 ipv6: Starting radvd Apr 25 19:58:37 radvd[6101]: version 2.18 started Apr 25 19:58:37 radvd[6101]: too many addresses in RDNSS section Apr 25 19:58:37 radvd[6101]: exiting, failed to read config file Apr 25 19:58:37 dhcp6c: ipv6: domain name servers - _DNS1_ _DNS2_ _DNS3_ Apr 25 19:58:37 dhcp6c: Call reconfigure radvd/dhcp6s Apr 25 19:58:37 ipv6: Configure and start radvd and dhcpv6 server Apr 25 19:58:37 ipv6: Try get prefix from local interface br0 Apr 25 19:58:37 ipv6: Use DNS recieved from ISP _DNS1_ _DNS2_ _DNS3_ Apr 25 19:58:37 ipv6: Use local DNS server as relay and local ipv6 hosts resolve _IPHERE_ Apr 25 19:58:37 ipv6: MTU WAN: 1500 LAN: 1500т.е. radvd не запускается.
Мне кажется, стоит в конфиг ему давать два первых сервера из полученых.
Спасибо.
Всем добра!
8.1.4.RU.25042019 / AP-Gateway / MT7621 CPU, MT7603 2T2R 2.4GHz, MT7610 1T1R 5GHz, 1000FDX
Есть неочевидное:
Отдаю по dhcp6 три DNS сервера: свой и два сторонних.
Получаю:
Apr 25 19:58:37 ipv6: Configure radvd Apr 25 19:58:37 ipv6: Starting radvd Apr 25 19:58:37 radvd[6101]: version 2.18 started Apr 25 19:58:37 radvd[6101]: too many addresses in RDNSS section Apr 25 19:58:37 radvd[6101]: exiting, failed to read config file Apr 25 19:58:37 dhcp6c: ipv6: domain name servers - _DNS1_ _DNS2_ _DNS3_ Apr 25 19:58:37 dhcp6c: Call reconfigure radvd/dhcp6s Apr 25 19:58:37 ipv6: Configure and start radvd and dhcpv6 server Apr 25 19:58:37 ipv6: Try get prefix from local interface br0 Apr 25 19:58:37 ipv6: Use DNS recieved from ISP _DNS1_ _DNS2_ _DNS3_ Apr 25 19:58:37 ipv6: Use local DNS server as relay and local ipv6 hosts resolve _IPHERE_ Apr 25 19:58:37 ipv6: MTU WAN: 1500 LAN: 1500
т.е. radvd не запускается.
Мне кажется, стоит в конфиг ему давать два первых сервера из полученых.
Спасибо.

Цитата: sfstudio от 26/04/2019, 13:40Приветствую. Оч интересно. Щас посмотрим.
Вообще судя по:
switch (rdnss->AdvRDNSSNumber) { case 0: memcpy(&rdnss->AdvRDNSSAddr1, $1, sizeof(struct in6_addr)); rdnss->AdvRDNSSNumber++; break; case 1: memcpy(&rdnss->AdvRDNSSAddr2, $1, sizeof(struct in6_addr)); rdnss->AdvRDNSSNumber++; break; case 2: memcpy(&rdnss->AdvRDNSSAddr3, $1, sizeof(struct in6_addr)); rdnss->AdvRDNSSNumber++; break; default: flog(LOG_CRIT, "too many addresses in RDNSS section"); ABORT; }Он умеет как как раз 3 адреса DNS.
Покажите содержимой /etc/resolvipv6.conf в этот момент. Ну и содержимое /etc/radvd.conf
Вообще судя по коду там нет смысла вываливаться вообще из конфигура ravdvd. Т.е. достаточно ABORT->break заменить и проблем это не вызовет. Но интересна причина ибо если dns записи ему отдаётся реально 3 то проблем быть не должно. Надо смотреть что там именно происходит.
Приветствую. Оч интересно. Щас посмотрим.
Вообще судя по:
switch (rdnss->AdvRDNSSNumber) { case 0: memcpy(&rdnss->AdvRDNSSAddr1, $1, sizeof(struct in6_addr)); rdnss->AdvRDNSSNumber++; break; case 1: memcpy(&rdnss->AdvRDNSSAddr2, $1, sizeof(struct in6_addr)); rdnss->AdvRDNSSNumber++; break; case 2: memcpy(&rdnss->AdvRDNSSAddr3, $1, sizeof(struct in6_addr)); rdnss->AdvRDNSSNumber++; break; default: flog(LOG_CRIT, "too many addresses in RDNSS section"); ABORT; }
Он умеет как как раз 3 адреса DNS.
Покажите содержимой /etc/resolvipv6.conf в этот момент. Ну и содержимое /etc/radvd.conf
Вообще судя по коду там нет смысла вываливаться вообще из конфигура ravdvd. Т.е. достаточно ABORT->break заменить и проблем это не вызовет. Но интересна причина ибо если dns записи ему отдаётся реально 3 то проблем быть не должно. Надо смотреть что там именно происходит.

Цитата: wowks от 26/04/2019, 14:21содержимоe /etc/resolvipv6.conf
[Wive-NG-MT@/var/log]# cat /etc/resolvipv6.conf nameserver 2a00:.......::120 nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844/etc/radvd.conf
[Wive-NG-MT@/var/log]# cat /etc/radvd.conf interface br0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; AdvLinkMTU 1500; # send correct MTU size for avoid fragment on router AdvDefaultPreference high; AdvManagedFlag off; # use RADVD for clients adresses set AdvOtherConfigFlag off; prefix 2a00:..............:6a9a/64 { AdvOnLink off; AdvAutonomous on; AdvRouterAddr on; AdvPreferredLifetime 240; AdvValidLifetime 300; }; RDNSS 2a00:.....................:6a9a 2a00:...........::120 2001:4860:4860::8888 2001:4860:4860::8844 { AdvRDNSSLifetime 20; }; }; [Wive-NG-MT@/var/log]#В web-интерфейсе - IPv6 setup: radvd висит со статусом "starting"
содержимоe /etc/resolvipv6.conf
[Wive-NG-MT@/var/log]# cat /etc/resolvipv6.conf nameserver 2a00:.......::120 nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844
/etc/radvd.conf
[Wive-NG-MT@/var/log]# cat /etc/radvd.conf interface br0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; AdvLinkMTU 1500; # send correct MTU size for avoid fragment on router AdvDefaultPreference high; AdvManagedFlag off; # use RADVD for clients adresses set AdvOtherConfigFlag off; prefix 2a00:..............:6a9a/64 { AdvOnLink off; AdvAutonomous on; AdvRouterAddr on; AdvPreferredLifetime 240; AdvValidLifetime 300; }; RDNSS 2a00:.....................:6a9a 2a00:...........::120 2001:4860:4860::8888 2001:4860:4860::8844 { AdvRDNSSLifetime 20; }; }; [Wive-NG-MT@/var/log]#
В web-интерфейсе - IPv6 setup: radvd висит со статусом "starting"

Цитата: sfstudio от 26/04/2019, 14:28Точно там же ещё его собственная локальная запись роутер же сам с dnsproxy.
Итого в radvd 4 шт передаются вот и ругается.
Можно перейти на схему как в v4 и при включенном локальном DNSMASQ выдавать только адрес локального dnsproxy что разумно. А если локальный dnsproxy вырублен то уже парсить resolv и отдавать клиенту всё кроме адреса роутера.
Щас посмотрим как малой кровью сделать.
Точно там же ещё его собственная локальная запись роутер же сам с dnsproxy.
Итого в radvd 4 шт передаются вот и ругается.
Можно перейти на схему как в v4 и при включенном локальном DNSMASQ выдавать только адрес локального dnsproxy что разумно. А если локальный dnsproxy вырублен то уже парсить resolv и отдавать клиенту всё кроме адреса роутера.
Щас посмотрим как малой кровью сделать.

Цитата: sfstudio от 26/04/2019, 14:46Так. Сделал, щас соберётся на пробу.
Терь схема такая же как для ipv4. Если dns proxy включен - отдаём клиенту только адрес локального DNS который в свою очередь ходит до апстримных серверов сам.
Я почему-то считал что уже года 2 как её запилил. =) Вот чётко помню, что уже делал это... Дежавю...
Так. Сделал, щас соберётся на пробу.
Терь схема такая же как для ipv4. Если dns proxy включен - отдаём клиенту только адрес локального DNS который в свою очередь ходит до апстримных серверов сам.
Я почему-то считал что уже года 2 как её запилил. =) Вот чётко помню, что уже делал это... Дежавю...

Цитата: sfstudio от 26/04/2019, 15:27Такс. Сделал ещё одну фигушку которую давно хотел.
Отдельную компановку resolv.conf для dnsmasq из обоих доступных резолвов системных для v4 и v6, что бы не было чехарды из-за разных режимов. Вообще надо будет в HQ пересмотреть всю эту логику, она уже начала обрастать оверкилом, пора скоро рефакторить вместе с управлением туннелями. Хитросплетений должно быть минимум, а они потихоньку начинают усугубляться.
Такс. Сделал ещё одну фигушку которую давно хотел.
Отдельную компановку resolv.conf для dnsmasq из обоих доступных резолвов системных для v4 и v6, что бы не было чехарды из-за разных режимов. Вообще надо будет в HQ пересмотреть всю эту логику, она уже начала обрастать оверкилом, пора скоро рефакторить вместе с управлением туннелями. Хитросплетений должно быть минимум, а они потихоньку начинают усугубляться.

Цитата: sfstudio от 26/04/2019, 15:46Пробуйте (во вложении). Если всё Ок - соберу в паблик.
На всякий случай лог загрузки полный, можно на мыло sfstudio[at]wi-cat.ru. Пробегусь глазками что нигде ничего не оторвало после правок. ;)
Пробуйте (во вложении). Если всё Ок - соберу в паблик.
На всякий случай лог загрузки полный, можно на мыло sfstudio[at]wi-cat.ru. Пробегусь глазками что нигде ничего не оторвало после правок. ;)

Цитата: sfstudio от 26/04/2019, 16:02Вот чего ещё забыл. Надо ж в локал резолв при DNS proxy включенном добавить lo запись иначе там так и будет весеть fallback на гугловские сервера. Щас сделаю. Хотя в общем-то можно проверять уже ну будут кроме прочего в resolv светиться затычки гугла. =)
Вот чего ещё забыл. Надо ж в локал резолв при DNS proxy включенном добавить lo запись иначе там так и будет весеть fallback на гугловские сервера. Щас сделаю. Хотя в общем-то можно проверять уже ну будут кроме прочего в resolv светиться затычки гугла. =)

Цитата: sfstudio от 26/04/2019, 17:00Вот терь вроде всё учёл. Проверяем.
Локально у себя прогнал в 3х вариантах:
1) статика
2) динамика поверх IPOE
3) динамика поверх PPPOEпроблем не обнаружено
Вот терь вроде всё учёл. Проверяем.
Локально у себя прогнал в 3х вариантах:
1) статика
2) динамика поверх IPOE
3) динамика поверх PPPOE
проблем не обнаружено

Цитата: sfstudio от 28/04/2019, 23:14Залил финальный вариант https://sourceforge.net/projects/wive-ng/files/wive-ng-mt/ кроме прочего ещё по UI кой чего поправить пришлось.
Просьба проверить и отписать по результатам.
Залил финальный вариант https://sourceforge.net/projects/wive-ng/files/wive-ng-mt/ кроме прочего ещё по UI кой чего поправить пришлось.
Просьба проверить и отписать по результатам.

Цитата: wowks от 29/04/2019, 15:54Логи отправил. Все работает.
Спасибо!
Логи отправил. Все работает.
Спасибо!