mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2026-01-28 01:47:19 +01:00
multiwan: use dns entries from alias interfaces refs #11167
This commit is contained in:
parent
6d946f825d
commit
1a520f8012
1 changed files with 29 additions and 1 deletions
|
|
@ -436,6 +436,34 @@ mwanrule() {
|
|||
add_rule
|
||||
}
|
||||
|
||||
|
||||
get_dns_servers() {
|
||||
local group=$1
|
||||
local groups=$1
|
||||
local dns=""
|
||||
local dnss=""
|
||||
local aliases=""
|
||||
local g
|
||||
|
||||
aliases="$(uci show network| grep =\'@$group\')"
|
||||
|
||||
for g in $aliases ; do
|
||||
g=${g#*.}; g=${g%%.*}
|
||||
[ "$(uci -q get network.$g)" == "interface" ] || continue
|
||||
groups="$groups $g"
|
||||
done
|
||||
|
||||
groups="$(echo $groups | tr ' ' '\n' | sort -u | tr '\n' ' ')"
|
||||
|
||||
for group in $groups ; do
|
||||
network_get_dnsserver dns ${group}
|
||||
dnss="$dnss $dns"
|
||||
done
|
||||
|
||||
echo $dnss
|
||||
}
|
||||
|
||||
|
||||
refresh_dns() {
|
||||
local dns
|
||||
local group
|
||||
|
|
@ -464,7 +492,7 @@ refresh_dns() {
|
|||
failchk=$(query_config failchk $group)
|
||||
|
||||
dns=$(uci_get_state multiwan ${group} dns 'auto')
|
||||
[ "$dns" == "auto" ] && network_get_dnsserver dns ${group}
|
||||
[ "$dns" == "auto" ] && dns=$(get_dns_servers $group)
|
||||
dns=$(echo $dns | sed -e "s/ /\n/g")
|
||||
|
||||
if [ ! -z "$dns" -a "$failchk" != "x" -a "$ipaddr" != "x" -a "$gateway" != "x" -a "$ifname" != "x" ]; then
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue