vyos@vyos# show system name-server
name-server eth0
[edit]
vyos@vyos# vyos-hostsd-client --get-name-servers
{'dhcp-eth0': {'192.168.10.1': None}}
[edit]
# use dhcp eth0 and without system
vyos@vyos# show service dns forwarding
allow-from 0.0.0.0/0
dhcp eth0
listen-address 0.0.0.0
[edit]
vyos@vyos# cat /run/pdns-recursor/recursor.forward-zones.conf
# Autogenerated by VyOS (vyos-hostsd)
# Do not edit, your changes will get overwritten
# dot zone (catch-all): '+' indicates recursion is desired
# (same as forward-zones-recurse)
# static:
# zones added via 'service dns forwarding domain'
[edit]
# use system without dhcp
vyos@vyos# delete service dns forwarding dhcp
[edit]
vyos@vyos# set service dns forwarding dns
dns64-prefix dnssec
[edit]
vyos@vyos# set service dns forwarding system
[edit]
vyos@vyos# commit
[edit]
vyos@vyos# cat /run/pdns-recursor/recursor.forward-zones.conf
# Autogenerated by VyOS (vyos-hostsd)
# Do not edit, your changes will get overwritten
# dot zone (catch-all): '+' indicates recursion is desired
# (same as forward-zones-recurse)
# static:
# system:
# dhcp-eth0: 192.168.10.1
# dhcpv6-eth0:
+.=192.168.10.1
# zones added via 'service dns forwarding domain'
[edit]In service_dns_forwarding.py, there is some code similar to be related to the dns['dhcp'] entry
# add dhcp nameserver tags for configured interfaces
if 'system_name_server' in dns:
for interface in dns['system_name_server']:
# system_name_server key contains both IP addresses and interface
# names (DHCP) to use DNS servers. We need to check if the
# value is an interface name - only if this is the case, add the
# interface based DNS forwarder.
if interface_exists(interface):
hc.add_name_server_tags_recursor(['dhcp-' + interface,
'dhcpv6-' + interface ])These code is handling dns interface from
if 'system' in dns:
base_nameservers = ['system', 'name-server']
if conf.exists(base_nameservers):
dns.update({'system_name_server': conf.return_values(base_nameservers)})I copied as
# add dhcp interfaces
if 'dhcp' in dns:
for interface in dns['dhcp']:
if interface_exists(interface):
hc.add_name_server_tags_recursor(['dhcp-' + interface,
'dhcpv6-' + interface ])result:
vyos@vyos# delete service dns forwarding system [edit] vyos@vyos# set service dns forwarding dhcp eth0 [edit] vyos@vyos# commit [edit] vyos@vyos# cat /run/pdns-recursor/recursor.forward-zones.conf # Autogenerated by VyOS (vyos-hostsd) # Do not edit, your changes will get overwritten # dot zone (catch-all): '+' indicates recursion is desired # (same as forward-zones-recurse) # static: # dhcp-eth0: 192.168.10.1 # dhcpv6-eth0: +.=192.168.10.1 # zones added via 'service dns forwarding domain' [edit]