dns/bind: add support for transfer-source[-v6]

This commit is contained in:
Frank Wall 2020-12-16 00:32:46 +01:00
parent c63c860560
commit 4c7138d9d4
3 changed files with 32 additions and 0 deletions

View file

@ -33,6 +33,20 @@
<type>text</type>
<help>Set the port the service should listen to.</help>
</field>
<field>
<id>general.transfersource</id>
<label>Transfer Source IP</label>
<type>text</type>
<advanced>true</advanced>
<help>This determines which local address is bound to IPv4 TCP connections used to fetch zones transferred inbound by the server.</help>
</field>
<field>
<id>general.transfersourcev6</id>
<label>Transfer Source IPv6</label>
<type>text</type>
<advanced>true</advanced>
<help>This determines which local address is bound to IPv6 TCP connections used to fetch zones transferred inbound by the server.</help>
</field>
<field>
<id>general.forwarders</id>
<label>DNS Forwarders</label>

View file

@ -27,6 +27,16 @@
<Required>Y</Required>
<asList>Y</asList>
</listenv6>
<transfersource type="NetworkField">
<Required>N</Required>
<AddressFamily>ipv4</AddressFamily>
<NetMaskAllowed>N</NetMaskAllowed>
</transfersource>
<transfersourcev6 type="NetworkField">
<Required>N</Required>
<AddressFamily>ipv6</AddressFamily>
<NetMaskAllowed>N</NetMaskAllowed>
</transfersourcev6>
<port type="PortField">
<default>53530</default>
<Required>Y</Required>

View file

@ -22,6 +22,14 @@ options {
listen-on-v6 port {{ OPNsense.bind.general.port }} { {{ OPNsense.bind.general.listenv6.replace(',', '; ') }}; };
{% endif %}{% endif %}
{% if helpers.exists('OPNsense.bind.general.transfersource') and OPNsense.bind.general.transfersource != '' %}
transfer-source {{ OPNsense.bind.general.transfersource }};
{% endif -%}
{% if helpers.exists('OPNsense.bind.general.transfersourcev6') and OPNsense.bind.general.transfersourcev6 != '' %}
transfer-source-v6 {{ OPNsense.bind.general.transfersourcev6 }};
{% endif -%}
{% if helpers.exists('OPNsense.bind.general.forwarders') and OPNsense.bind.general.forwarders != '' %}
forwarders { {{ OPNsense.bind.general.forwarders.replace(',', '; ') }}; };
{% endif %}