summaryrefslogtreecommitdiff
path: root/interface-definitions/dns-forwarding.xml
blob: 30a67ed2b9b877da46e28e75e7e2250f4f8fe258 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?xml version="1.0"?>
<!-- DNS forwarder configuration -->
<interfaceDefinition>
  <node name="service">
    <children>
      <node name="dns">
        <children>
          <node name="forwarding" owner="${vyos_conf_scripts_dir}/dns_forwarding.py">
            <properties>
              <help>DNS forwarding</help>
              <priority>918</priority>
            </properties>
            <children>
              <leafNode name="cache-size">
                <properties>
                  <help>DNS forwarding cache size</help>
                  <valueHelp>
                    <format>0-10000</format>
                    <description>DNS forwarding cache size</description>
                  </valueHelp>
                  <constraint>
                    <validator name="numeric" argument="--range 0-10000"/>
                  </constraint>
                </properties>
              </leafNode>
              <leafNode name="dhcp">
                <properties>
                  <help>Use DNS servers received from DHCP server for specified interface</help>
                  <completionHelp>
                    <script>${vyatta_sbindir}/vyatta-interfaces.pl --show all</script>
                  </completionHelp>
                  <multi/>
                </properties>
              </leafNode>
              <tagNode name="domain">
                <properties>
                  <help>Domain to forward to a custom DNS server</help>
                </properties>
                <children>
                  <leafNode name="server">
                    <properties>
                      <help>Domain Name Server (DNS) to forward queries to</help>
                      <valueHelp>
                        <format>ipv4</format>
                        <description>Domain Name Server (DNS) IPv4 address</description>
                      </valueHelp>
                      <valueHelp>
                        <format>ipv6</format>
                        <description>Domain Name Server (DNS) IPv6 address</description>
                      </valueHelp>
                      <multi/>
                      <constraint>
                        <validator name="ipv4-address"/>
                        <validator name="ipv6-address"/>
                      </constraint>
                    </properties>
                  </leafNode>
                </children>
              </tagNode>
              <leafNode name="ignore-hosts-file">
                <properties>
                  <help>Do not use local /etc/hosts file in name resolution</help>
                  <valueless/>
                </properties>
              </leafNode>
              <leafNode name="listen-address">
                <properties>
                  <help>Addresses to listen for DNS queries [REQUIRED]</help>
                  <valueHelp>
                    <format>ipv4</format>
                    <description>Domain Name Server (DNS) IPv4 address</description>
                  </valueHelp>
                  <valueHelp>
                    <format>ipv6</format>
                    <description>Domain Name Server (DNS) IPv6 address</description>
                  </valueHelp>
                  <multi/>
                  <constraint>
                    <validator name="ipv4-address"/>
                    <validator name="ipv6-address"/>
                  </constraint>
                </properties>
              </leafNode>
              <leafNode name="listen-on">
                <properties>
                  <help>Interface to listen for DNS queries [DEPRECATED]</help>
                  <completionHelp>
                    <script>${vyatta_sbindir}/vyatta-interfaces.pl --show all</script>
                  </completionHelp>
                  <multi/>
                </properties>
              </leafNode>
              <leafNode name="negative-ttl">
                <properties>
                  <help>Maximum amount of time negative entries are cached</help>
                  <valueHelp>
                    <format>0-7200</format>
                    <description>Seconds to cache NXDOMAIN entries</description>
                  </valueHelp>
                  <constraint>
                    <validator name="numeric" argument="--range 0-7200"/>
                  </constraint>
                </properties>
              </leafNode>
              <leafNode name="name-server">
                <properties>
                  <help>Domain Name Servers (DNS) addresses</help>
                  <valueHelp>
                    <format>ipv4</format>
                    <description>Domain Name Server (DNS) IPv4 address</description>
                  </valueHelp>
                  <valueHelp>
                    <format>ipv6</format>
                    <description>Domain Name Server (DNS) IPv6 address</description>
                  </valueHelp>
                  <multi/>
                  <constraint>
                    <validator name="ipv4-address"/>
                    <validator name="ipv6-address"/>
                  </constraint>
                </properties>
              </leafNode>
              <leafNode name="system">
                <properties>
                  <help>Use system name servers</help>
                  <valueless/>
                </properties>
              </leafNode>
            </children>
          </node>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>