From 1df3827994bfef6c166bdb0f51cc51c212507361 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 16 Mar 2018 20:09:59 +0100 Subject: Initial CLI interface support for XML DNS forwarder --- interface-definitions/dns-forwarding.xml | 96 +++++++++++++++++++++++++++++ src/conf-mode/vyos-config-dns-forwarding.py | 45 ++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 interface-definitions/dns-forwarding.xml create mode 100755 src/conf-mode/vyos-config-dns-forwarding.py diff --git a/interface-definitions/dns-forwarding.xml b/interface-definitions/dns-forwarding.xml new file mode 100644 index 000000000..d9af20e9f --- /dev/null +++ b/interface-definitions/dns-forwarding.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + DNS forwarding + 918 + + + + + DNS forwarding cache size + + u32:0-10000 + DNS forwarding cache size + + u32 + + + + + Use nameservers received from DHCP server for specified interface + + + + + + DNS domain to forward to a local server + + + + + Domain Name Server (DNS) to forward queries + + ipv4 + Domain Name Server (DNS) IPv4 address + + + ipv6 + Domain Name Server (DNS) IPv6 address + + + + + + + + Do not use local /etc/hosts file in name resolution + + + + + Interface to listen for DNS queries [REQUIRED] + + + + + + + + + Domain Name Server (DNS) + + ipv4 + Domain Name Server (DNS) IPv4 address + + + ipv6 + Domain Name Server (DNS) IPv6 address + + + + + + + Query all DNS servers, respond and cache fastest result + + + + + DNS forwarding to system nameservers + + + + + + + + + diff --git a/src/conf-mode/vyos-config-dns-forwarding.py b/src/conf-mode/vyos-config-dns-forwarding.py new file mode 100755 index 000000000..27e7a5ef5 --- /dev/null +++ b/src/conf-mode/vyos-config-dns-forwarding.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2018 VyOS maintainers and contributors +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 or later as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# + +import sys +import os + +from vyos.config import Config +from vyos.util import ConfigError + +def get_config(): + return None + +def verify(dns): + return None + +def generate(dns): + return None + +def apply(dns): + return None + +if __name__ == '__main__': + try: + c = get_config() + verify(c) + generate(c) + apply(c) + except ConfigError as e: + print(e) + sys.exit(1) -- cgit v1.2.3