Если вы хотите выполнить поиск по нескольким элементам, вы можете преобразовать весь файл в список записей, доступный для grep.
awk '/^srv/ { c = $1 ; next } { print $0 " found on " c }'
во входном файле даст вам
a1 found on srv-test-1
A3 found on srv-test-1
a1 found on srv-test-2
b1 found on srv-test-2
b2 found on srv-test-2
B3 found on srv-test-2
B4 found on srv-test-2
Затем, чтобы найти один элемент, вы можете отфильтровать предыдущий вывод
awk '/^srv/ { c = $1 ; next } { print $0 " found on " c }' | grep '^a1'
дать
a1 found on srv-test-1
a1 found on srv-test-2
Похоже, что в debian скрипт инициализации отвечает за обновление resolv.confhttps://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=tree;f=debian;h=7539dd72f8ea2d8d4b60d926ffa163956e3624a5;hb=HEAD. Посмотрите resolvconf, systemd.service и т. д.
Не знаю, работает ли alpine так же. Я думаю, вам следует запустить dnsmasq на alpine, используя его скрипт инициализации rc-service dnsmasq start
. Скрипт можно прочитать здесьhttps://git.alpinelinux.org/aports/tree/main/dnsmasq/dnsmasq.initd(или локально ). Имеются ценные сведения поhttps://wiki.alpinelinux.org/wiki/Main_Page.
DNS-сервер может быть изменен клиентом DHCP.
Надеюсь, это поможет.