Однажды после установки ABillS + FreeRADIUS2 + Accel-PPP(ipoe) заметил что по DHCP клиенты получают только один DNS сервер.
Access-Accept от FreeRADIUS был такой:
Sending Access-Accept of id 1 to 127.0.0.1 port 57481
Session-Timeout = 604800
PPPD-Downstream-Speed-Limit = 51200
Framed-IP-Netmask += 255.255.255.0
Framed-IP-Netmask += 255.255.255.0
Acct-Interim-Interval = 600
DHCP-Domain-Name-Server += 8.8.8.8
DHCP-Domain-Name-Server += 8.8.4.4
PPPD-Upstream-Speed-Limit = 51200
Framed-IP-Address = 172.20.20.20
Finished request 40.
Клиенты получали только второй DNS (8.8.4.4), в ABillS, в «Настройка>Сервер доступа>IP POOLs» было указано два DNS — 8.8.8.8,8.8.4.4.
Так как разработчик ABillS не знал в чем причина, то я прописал DNS в конфигурации /etc/accel-ppp.conf:
[dns]
dns1=8.8.8.8
dns2=8.8.4.4
И так как DNS из Access-Accept от FreeRADIUS имеет больше приоритет чем те что в конфигурации Accel-PPP, то я убрал их из всех IP POOLs SQL запросом:
update ippools SET dns='';
Если что, их-можно указать во всех IP POOLs так:
update ippools SET dns='8.8.8.8,8.8.4.4';
После этого в Access-Accept от FreeRADIUS не передавались DNS:
DHCP-Domain-Name-Server += 0.0.0.0
DHCP-Domain-Name-Server += 0.0.0.0
И Accel-PPP начал выдавать те что указаны в его конфигурации.
Замечу что когда DNS выдавались из IP POOLs биллинга, то в логах Accel-PPP при DHCPv4 Ack они отображались как:
<DNS 8.8.8.8> <DNS 8.8.4.4>
А когда начали выдаваться те что указаны в конфигурации Accel-PPP, то:
<DNS 8.8.8.8,8.8.4.4>
UPD: В новых версиях Accel-ppp эта проблема решена, можно передавать несколько DNS хоть так, хоть так.