Recursor Nameserver

From HWMN
Jump to: navigation, search

Οι recursor nameservers είναι servers που μπορουν να χρησιμοποιηθούν για την ανάκτηση ονομάτων από οποιοδήποτε μητροπολιτικό δίκτυο καθώς και του Internet. Αυτοί οι servers πρέπει να ορίζονται ως primary και secondary DNS server από όλους τους κόμβους του δικτύου. Προτείνεται να έχουμε πολλαπλούς τέτοιους servers στο δίκτυο έτσι ώστε να υπάρχουν εναλακτικές σε περίπτωση που χαθεί κάποια σύνδεση. Για τον λόγο αυτό όλοι οι recursor nameservers του δικτύου χρησιμοποιούν τις δύο anycast ip address που έχουν οριστεί. Εάν θέλετε να λειτουργήσετε έναν νέον recursor nameserver πρέπει να ενημερώσετε την ομάδα hostmaster, ώστε να υπάρχει μία καταγραφή.

Bind Configuration[edit]

Βασικές Ρυθμίσεις[edit]

Οι recursor servers για τους κόμβους του HWMN, ΔΕΝ ΠΡΕΠΕΙ να δέχονται αιτήματα από κόμβους άλλων δικτύων, γι' αυτό και προσθέτουμε φίλτρα μέσω της επιλογής allow-query. Για όλα τα αίτήματα ΠΡΕΠΕΙ να απαντάνε μέσω IPv4 και IPv6 πρωτοκόλλου.

options {
        directory "/tmp";
        auth-nxdomain no;    # conform to RFC1035
        allow-query {
                10.176.0.0/13;
                127.0.0.0/8;
                fdd4:f629:b000::/48;
                ::1/128;
        };
        recursion yes;
        forwarders {
                # PUT HERE A DNS SERVER NEAR YOU.
                # For example your upstream DNS server.
                # Some example DNS servers are provided bellow.
                8.8.8.8;
                8.8.4.4;
        };
        listen-on-v6 { any; };

        disable-empty-zone "10.in-addr.arpa";
};

Slave server των HWMN ζωνών[edit]

άν ο ŕecursor server είναι παράλληλα slave authoritative server της ζώνης αυτής, πρέπει να ρυθμιστεί έτσι ώστε να έχει συγχρονισμένο αντίγραφο με του υπόλοιπους authoritative server των ζωνών. Την λίστα αυτή μπορείτε να την αποθηκεύσετε σε ένα αρχείο (π.χ. her.wn.slave.conf) και να το κάνετε include μέσα στο named.conf με την εντολή include "her.wn.slave.conf;.

####################################################
# http://wiki.her.wn/w/Recursor_Nameserver       #
# Last Updated: 14 Jun 2015                        #
####################################################

# Be a slave authoritative server of the HWMN servers
#--------------------------------------------
zone "her.wn." {

	type slave;
	
	# The master server of this zone
	masters {
		10.176.7.1;
	};
	
	# You need to override any global forwarding
        # policy explicitly for this zone
	forwarders {};

	# A file to save the copy of the zone
	file "/etc/bind/zones/db.her.wn";
};

zone "node.her.wn." {

	type slave;
	
	# The master server of this zone
	masters {
		10.176.7.1;
	};
	
	# You need to override any global forwarding
        # policy explicitly for this zone
	forwarders {};

	# A file to save the copy of the zone
	file "/etc/bind/zones/db.node.her.wn";
};


zone "176.10.in-addr.arpa." {
	type slave;

	# The master server of this zone
	masters {10.176.7.1; };

	# You need to override any global forwarding
        # policy explicitly for this zone
	forwarders {};

	# A file to save the copy of the zone
	file "/etc/bind/zones/db.176.10.in-addr.arpa";
};

Προώθηση αιτημάτων για το HWMN[edit]

ΠΡΟΣΟΧΗ: Εάν ο recursor server είναι παράλληλα slave authoritative server της ζώνης her.wn, τότε ΠΡΕΠΕΙ να παραλείψετε αυτό το κομμάτι καθώς ο server γνωρίζει ήδη όλα τα στοιχεία της ζώνης και δεν χρειάζεται να τα βρει αλλού.

Για να ανακτήσουμε διευθύνσεις από το HWMN δίκτυο, πρέπει να ορίσουμε τους authoritative DNS servers αυτής της ζώνης. Στο παρακάτω configuration δηλώνουμε την ζώνη με τύπο static-stub και τους authoritative servers της ζώνης. Είναι σημαντικό να χρησιμοποιηθεί ο τύπος static-stub αντί του forward διότι οι authoritative servers δεν υποστηρίζουν recursion και αυτή η διαδικασία πρέπει να γίνει από τον τρέχων server. Την λίστα αυτή μπορείτε να την αποθηκεύσετε σε ένα αρχείο (π.χ. her.wn.conf) και να το κάνετε include μέσα στο named.conf με την εντολή include "her.wn.conf;.

####################################################
# http://wiki.her.wn/w/Recursor_Nameserver       #
# Last Updated: 13 Dec 2015                        #
####################################################

# Recurse query to hwmn authoritative name servers
#--------------------------------------------
zone "her.wn" IN {
        type static-stub;

	# The authoritative DNS servers of this zone
        server-addresses {
                10.176.7.1;
                10.176.33.1;
        };

        # You need to override any global forwarding
        # policy explicitly for this zone
        forwarders {};
};

# Reverse lookup to hwmn servers
zone "176.10.in-addr.arpa." IN {
        type static-stub;

	# The authoritative DNS servers of this zone
        server-addresses {
                10.176.7.1;
                10.176.33.1;
        };

        # You need to override any global forwarding
        # policy explicitly for this zone
        forwarders {};
};

Ζώνες άλλων μητροπολιτικά δίκτια[edit]

Για να ανακτήσουμε διευθύνσεις από τα υπόλοιπα δίκτυα, πρέπει να ορίσουμε έγκυρους forwarders servers. Στο παρακάτω configuration είναι μια λίστα με τους recursor servers των υπόλοιπων δίκτυων. Την λίστα αυτή μπορείτε να την αποθηκεύσετε σε ένα αρχείο (π.χ. wireless_hellas.conf) και να το κάνετε include μέσα στο named.conf με την εντολή include "wireless_hellas.conf;.

wireless_hellas.conf

####################################################
# http://wiki.her.wn/w/Recursor_Nameserver       #
# Last Updated: 22 Oct 2013                        #
####################################################

# Forward lookup to other networks
#--------------------------------------------

zone "awmn" IN {
        type forward;
        forwarders {
                10.19.143.12;
                10.19.143.13;
        };
};

# Disabled for now
#zone "wn" IN {
#        type forward;
#        forwarders {
#                10.126.3.115;
#                10.110.17.115;
#                10.19.143.12;
#                10.17.122.134;
#                10.86.87.129;
#                10.2.16.130;
#                10.110.17.67;
#        };
};

zone "swn" IN {
        type forward;
        forwarders {
                10.101.0.254;
                10.106.3.1;
                10.174.254.101;
                10.174.1.253;
        };
};

zone "twmn" IN {
        type forward;
        forwarders {
                10.104.76.65;
                10.122.20.70;
                10.122.3.68;
                10.122.14.72;
                10.104.1.74;
        };
};

zone "wthess" IN {
        type forward;
        forwarders {
                10.96.0.1;
                10.96.22.2;
                10.96.9.3;
        };
};

zone "ewn" IN {
        type forward;
        forwarders {
                10.145.7.150;
                10.146.210.130;
        };
};

zone "mswn" IN {
        type forward;
        forwarders {
                10.148.50.2;
        };
};

zone "cywn" IN {
        type forward;
        forwarders {
                10.215.0.125;
                10.215.2.126;
        };
};

zone "dwn" IN {
        type forward;
        forwarders {
                10.174.1.253;
                10.174.254.101;
                10.174.17.250;
        };
};

zone "wiran" IN {
        type forward;
        forwarders {
                10.230.3.133;
        };
};

zone "wana" IN {
        type forward;
        forwarders {
                10.224.3.35;
        };
};

zone "awn" IN {
        type forward;
        forwarders {
                10.198.0.130;
        };
};

zone "pwmn" IN {
        type forward;
        forwarders {
                10.140.14.67;
        };
};

# Reverse mapping to other networks
#--------------------------------------------

zone "10.in-addr.arpa" IN {
        type forward;
        forwarders {
                10.19.143.12;
                10.19.143.13;
        };
};

Anycast Configuration[edit]

Στο HWMN όλοι οι recursor nameservers χρησιμοποιούν anycast IP addresses. Εάν θέλετε να σηκώσετε έναν επιπλέον τέτοιο server θα πρέπει να λειτουργεί σε μια από τις δύο anycast IP address. Για να προσθέσετε μια anycast ip address πρέπει να την ρυθμίσετε στο loopback interface και στην συνέχεια να την ανακοινώσετε μέσω του πρωτοκόλλου δρομολόγησης.

Ρόλος IPv4 Address IPv6 Address
Primary 10.176.0.10 fdd4:f629:b000::a
Secondary 10.176.0.11 fdd4:f629:b000::b

OpenWRT Configuration[edit]

Για να προσθέσετε μία διεύθυνση anycast, δημιουργούμε ένα επιπλέον εικονικό interface πάνω στο πραγματικό lo interface με την επιθυμητή διεύθυνση IP. Προσοχή, 'ΜΗΝ ΣΒΗΣΕΤΕ το υπάρχων εικονικό interface με όνομα loopback, απλώς προσθέστε ένα επιπλέον.

# Standard loopback interface
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

# Extra anycast interface
config interface 'ANYCAST_DNS'
        option proto 'static'
        option ifname 'lo'
        option ipaddr '<IPv4 ADDRESS>'
        option netmask '255.255.255.255'
        option ip6addr '<IPv6 ADDRESS>/128'

Babeld[edit]

Στην συνέχεια για να το ανακοινώσετε στους υπόλοιπους κόμβους, πρέπει πρώτα να ρυθμίσετε το babeld και μετά να προσθέσετε τα επιπλέον φίλτρα έτσι ώστε οι τοπικές anycast διευθύνσεις να ανακοινώνονται στο δίκτυο.

config filter
        option type redistribute
        option local 1
        option ip '<ANYCAST IPv4 ADDRESS>'

config filter
        option type redistribute
        option local 1
        option ip '<ANYCAST IPv6 ADDRESS>'