Sty 22

1 IP, Bind DNS, BuddyNS, instalacja i konfiguracja – Debian/Ubuntu

1 IP, serwer Bind DNS,
secondary DNS serwer BuddyNS,
instalacja i konfiguracja –  Debian/Ubuntu

 

 

1. Przegląd i konfiguracja sieci.

Jedną z podstaw całej konfiguracji jest zewnętrzny adres IP, który pozwoli innym użytkownikom
(z zewnątrz) na dostęp do usług naszego serwera.
W moim przypadku eth0 posiada zewnętrzny adres IP tzw sticky IP (adres ip przyznawany dynamicznie przez DHCP, ale nie zmienny), eth1 wewnętrzny adres IP.

 

Edytujemy, dodajemy i konfigurujemy plik /etc/network/interfaces.

  • lo – localhost
  • eth0 – adres IP przypisywany automatycznie (DHCP od ISP),
  • eth1 – adres IP wewnętrzny serwera,

Jeżeli mamy stały zewnętrzny adres IP od ISP, dodajemy go w ten sam sposób jak adres do interfejsu eth1.

Przypisujemy adres IP do eth1 jak poniżej..

sudo nano /etc/network/interfaces

 

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

auto lo eth0 eth1
iface lo inet loopback

iface eth0 inet dhcp

iface eth1 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        broadcast 192.168.0.255
        network 192.168.0.0

 

Restartujemy sieć..

sudo /etc/init.d/networking restart

 

Sprawdzamy zmiany konfiguracji..

sudo ifconfig -a

Wynik powinien wygladać mniej wiecej tak:

user@user:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 0......2:4d:cb
          inet addr:IP-zewnętrzny  Bcast:255.255.255.255  Mask:255.....
          inet6 addr: fe80:........:4dcb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5016600 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4520209 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3183538900 (2.9 GiB)  TX bytes:1092548919 (1.0 GiB)
          Interrupt:20 Base address:0x8400

eth1      Link encap:Ethernet  HWaddr 00........3:d2
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::.......:f3d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1513542 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2078340 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:175133878 (167.0 MiB)  TX bytes:1773917146 (1.6 GiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:183782 errors:0 dropped:0 overruns:0 frame:0
          TX packets:183782 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:97228271 (92.7 MiB)  TX bytes:97228271 (92.7 MiB)

 

Edycja i dodanie nazwy domeny do /etc/hosts.
192.168.0.100 domena.pl

sudo nano /etc/hosts

 

127.0.0.1           localhost.localdomain localhost
192.168.0.100       domena.pl
# The following lines are desirable for IPv6 capable hosts
::1 localhost      ip6-localhost ip6-loopback
fe00::0            ip6-localnet
ff00::0            ip6-mcastprefix
ff02::1            ip6-allnodes
ff02::2            ip6-allrouters

 

sudo echo domena.pl > /etc/hostname

 

2. Instalacja serwera Bind DNS.

Instalacja Quota’y – opcjonalnie.

 

Instalacja serwera Bind DNS.

sudo apt-get install bind9 binutils dnsutils

3. Konfiguracja serwera Bind DNS – chroot.

Zatrzymanie serwera Bind DNS.

sudo /etc/init.d/bind9 stop

 

Edycja /etc/default/bind9  i konfiguracja serwera Bind DNS do pracy w chroot:
(OPTIONS=”-u bind -t /var/lib/named”).

sudo nano /etc/default/bind9

 

# run resolvconf?
RESOLVCONF=yes

# startup options for the server
#OPTIONS="-u bind"

OPTIONS="-u bind -t /var/lib/named"

 

Tworzenie katalogów w /var/lib w których serwer Bind będzie pracował:

sudo mkdir -p /var/lib/named/etc
sudo mkdir /var/lib/named/dev
sudo mkdir -p /var/lib/named/var/cache/bind
sudo mkdir -p /var/lib/named/var/run/bind/run
sudo mkdir -p /var/lib/named/var/log/
sudo touch /var/lib/named/var/log/named.log

 

Przesunięcie katalogu z plikami konfiguracyjnymi z /etc/bind do /var/lib/named/etc:

sudo mv /etc/bind /var/lib/named/etc

 

Tworzenie symlinku (dowiązania symbolicznego) do nowego katalogu z plikami konfiguracyjnymi ze starej lokalizaji (/etc/bind).

sudo ln -s /var/lib/named/etc/bind /etc/bind

Tworzenie katalogów null i random i ustawienie do nich uprawnień..

sudo mknod /var/lib/named/dev/null c 1 3
sudo mknod /var/lib/named/dev/random c 1 8
sudo chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
sudo chown -R bind:bind /var/lib/named/var/*
sudo chown -R bind:bind /var/lib/named/etc/bind

 

Tworzenie pliku bind-chroot.conf  i dodanie wpisu do niego.

sudo nano /etc/rsyslog.d/bind-chroot.conf

 

$AddUnixListenSocket /var/lib/named/dev/log

 

Restart programu do logowania – rsyslog:

sudo /etc/init.d/rsyslog restart

 

Start serwera Bind DNS.

sudo /etc/init.d/bind9 start

 

Sprawdzenie logów..

tail -n 100 /var/log/syslog

 

4. Konfiguracja stref – Bind DNS.

Edycja i konfiguracja /etc/bind/named.conf.options.

sudo nano /etc/bind/named.conf.options

 

Dodajemy opcje:
allow-query, recursion, version, allow-transfer

Allow-transfer {88.198.106.11, 173.244.206.26, 82.130.104.214; } zezwala na pobieranie ustawień pliku stref drugiemu serwerowi dns – będzie to serwer BuddyNS.

options {
    directory "/var/cache/bind";
    statistics-file "/var/run/named/named.stats";
    pid-file "/var/run/named/named.pid";

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 

    listen-on {
        IP-zewnętrzny;
        192.168.0.100;            # IP address of the local interface to listen
        127.0.0.1;                # ditto
    };
    auth-nxdomain yes;            # conform to RFC1035
    allow-query { any; };         # allow anyone to issue queries
    recursion no;                 # disallow recursive queries
    version "[SECURED]";
    allow-transfer {
            88.198.106.11;        # c.transfer.buddyns.com            
            173.244.206.26;       # d.transfer.buddyns.com
            82.130.104.214;       # e.transfer.buddyns.com
        };
};

 

Jeżeli nasz serwer będzie za wolno odpytywał.. można dodać opcje „forwarders” { najbliższe adresy IP dns’ów np: naszego ISP }:

...
        forwarders {
                    12.34.56.78;
                    78.65.43.21;
                    };
...

 

Edycja i dodanie plików stref do /etc/bind/named.conf.default-zones.

sudo nano /etc/bind/named.conf.default-zones

 

Tworzenie listy kontroli acl (lan_hosts) i dodanie do niej wewnętrzne adresy IP lub wszystkie adresy IP
(z zakresu 192.168.0.1 – 192.168.0.255 z maską 255.255.255.0) oraz localhost (127.0.0.1):

acl "lan_hosts" {
    192.168.0.0/24;                # network address of your local LAN
    127.0.0.1;                     # allow loop back
};

...

 

Tworzenie widoków klienckich (internal i external) w których zdecydujemy, jacy klienci mają prawo do używania naszego cache dns’a. Klienci w widoku internal beda mieli większe uprawnienia niż klienci w widoku external.

Konfiguracja widoku klienckiego – view „internal„.

Dodanie do widoku klienckiego view „internal” opcji:
match-clients – dodanie listy kontroli acl (lan_hosts),
recursion – pozwolenie na zapytania,
notify – powiadomienia,

Ustawienia stref:
– strefa główna,
– strefa lokalna,
– strefa domen: domena.pl.internal,
– strefa adresów odwrotnych : 127.in-addr.arpa, 0.168.192.in-addr.arpa.

...

view "internal" {        
        match-clients {lan_hosts; };     # match hosts in acl "lan_hosts" above
        allow-query { lan_hosts; };
        allow-transfer { none; };
        allow-notify { none; };
        allow-recursion { lan_hosts; };
        recursion yes;                   # allow recursive queries

// prime the server with knowledge of the root servers
        zone "." {
                type hint;
                file "/etc/bind/db.root";
        };
        // be authoritative for the localhost forward and reverse zones, and for
        // broadcast zones as per RFC 1912
        zone "localhost" {
                type master;
                file "/etc/bind/db.local";
        };
        zone "127.in-addr.arpa" {
                type master;
                file "/etc/bind/db.127";
        };
        zone "0.in-addr.arpa" {
                type master;
                file "/etc/bind/db.0";
        };
        zone "255.in-addr.arpa" {
                type master;
                file "/etc/bind/db.255";
        };
        zone "0.168.192.in-addr.arpa" {
                type master;
                file "/etc/bind/0.168.192.in-addr.arpa";
                notify yes;
        };

        zone "domena.pl" {
                notify yes;
                type master;
                file "/etc/bind/db.domena.pl.internal";
        };
};

...

 

Konfiguracja widoku klienckiego – view „external„.

Dodanie do widoku klienckiego view „internal„:
– match-clients,
– recursion,
– allow-query,
– allow-transfer.

Ustawienia stref:
– domen: domena.pl.external,
– adresy odwrotne: odwrotny-adres-ip.in-addr.arpa (adres zwenętrzny).

...

view "external" {

      // "localnets" and "any" are special reserved words
      // "localnets" mean any network address (as opposed to host address) configured
      // on the local network interfaces - "!" means to negate
      match-clients {
             !localnets;
             any;
             };
      allow-query {
             !localnets;
             any;
             };
      recursion no;
      allow-transfer {
             88.198.106.11;
             82.130.104.214;
             173.244.206.26;
             };

      zone "domena.pl" {
             type master;
             notify yes;
             file "/etc/bind/db.domena.pl.external;
             allow-query {
                    any;
                    };
             allow-transfer {
                   88.198.106.11;
                   82.130.104.214;
                   173.244.206.26;
                   };
      };

      zone "odwrotny-adres-ip.in-addr.arpa" {   
            type master;   
            notify yes;   
            file "/etc/bind/odwrotny-adres-ip.in-addr.arpa";   
            allow-query { 
                   any; 
                   }; 
      };
};

 

Konfiguracja poszczególnych stref:

Strefa db.domena.pl.external:

sudo nano /etc/bind/db.domena.pl.external

 

$TTL 86400 ; 1 day
@    86400    IN    SOA    ns1.domena.pl. admin.domena.pl. (
            2007011647
            86400
            900
            604800
            86400 )

@                IN     NS      ns1

@                IN     NS      c.ns.buddyns.com.

@                IN     NS      e.ns.buddyns.com.

@                IN     A       zewnetrzny IP

ns1              IN     A       zewnetrzny IP

mail             IN     A       zewnetrzny IP

@                IN     MX      10 mail.domena.pl.

@                IN     TXT     "v=spf1 a mx -all"

@                IN     SPF     "v=spf1 a mx -all"

www              IN     CNAME   @

*.domena.pl.     IN     A       zewnętrzny IP   // WILDCARD ZONE!!!

 

Strefa odwrotny-adres-ip.in-addr.arpa. (external).

sudo nano /etc/bind/odwrotny-adres-ip.in-addr.arpa

 

$TTL    3600
odwrotny-adres-ip.in-addr.arpa.    IN    SOA    ns1.domena.pl. admin.domena.pl. (
            2006081446
            28800
            604800
            604800
            8640 )

@        IN     NS      ns1.domena.pl.

@        IN     PTR     ns1.domena.pl.

@        IN     A       zewnętrzny IP

@        IN     NS      c.ns.buddyns.com.

@        IN     NS      e.ns.buddyns.com.

ns1      IN     A       zewnętrzny IP

ostatnia liczba IP      IN     PTR     domena.pl.

 

Konfiguracja poszczególnych stref:

Strefa db.domena.pl.internal:

sudo nano /etc/bind/db.domena.pl.internal

 

$TTL 86400 ; 1 day
@    86400    IN    SOA    ns1.domena.pl. admin.domena.pl. (
            2007011619
            86400
            900
            604800
            86400 )

@                IN     NS      ns2

@                IN     A       192.168.0.100

@                IN     NS      ns1

@                IN     NS      ns2

ns1              IN     A       zewnętrzne IP

ns2              IN     A       192.168.0.100

mail             IN     A       192.168.0.100

@                IN     MX      10 mail.domena.pl.

@                IN     TXT     "v=spf1 a mx  -all"

@                IN     SPF     "v-spf1 a mx -all"

www              IN     CNAME   @

*.domena.pl.     IN     A       192.168.0.100     //Strefa Wildacrd

 

Strefa 0.168.192.in-addr.arpa. (internal).

sudo nano /etc/bind/0.168.192.in-addr.arpa

 

$TTL    3600

@    IN    SOA    ns2.domena.pl. admin.domena.pl. (
            2006081443
            28800
            604800
            604800
            8640 )

ns2     IN    A       192.168.0.100

@       IN    NS      ns2.domena.pl.

@       IN    PTR     ns2.domena.pl.

100     IN    PTR     domena.pl.

 

 

/etc/init.d/bind9 restart

 

Test konfiguracji:

sudo named-checkzone domena.pl /etc/bind/db.domena.pl

 

zone domena.pl/IN: loaded serial 2074511467
OK

 

sudo named-checkzone domena.pl /etc/bind/0.168.192.in-addr.arpa

 

zone domena.pl/IN: loaded serial 2086481644
OK

 

sudo ping domena.pl

 

PING domena.pl (127.0.1.1) 56(84) bytes of data.
64 bytes from domena.pl (127.0.1.1): icmp_req=1 ttl=64 time=0.120 ms
64 bytes from domena.pl (127.0.1.1): icmp_req=2 ttl=64 time=0.101 ms
64 bytes from domena.pl (127.0.1.1): icmp_req=3 ttl=64 time=0.076 ms
64 bytes from domena.pl (127.0.1.1): icmp_req=4 ttl=64 time=0.131 ms
^C
--- domena.pl ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.076/0.107/0.131/0.020 ms

 

sudo nslookup domena.pl

 

Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   domena.pl
Address: 192.168.0.100

 

sudo dig domena.pl

 

; <<>> DiG 9.7.3 <<>> domena.pl
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: XXXXX
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;domena.pl.                  IN      A

;; ANSWER SECTION:
domena.pl.           86400   IN      A       192.168.0.100

;; AUTHORITY SECTION:
domena.pl.           86400   IN      NS      ns1.domena.pl.
domena.pl.           86400   IN      NS      ns2.domena.pl.

;; ADDITIONAL SECTION:
ns1.domena.pl.       86400   IN      A       zewnętrzny IP
ns2.domena.pl.       86400   IN      A       192.168.0.100

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: DATA.GODZINA.ROK
;; MSG SIZE  rcvd: XXX

 

Uwaga!
Może zdarzyć się, że serwer nie bedzie autoryzował zapytań z naszej wewnetrznej sieci.
Należy edytować i dodać zewnętrrzny adres IP do listy kontroli acl:

sudo nano /etc/bind/named.conf.default-zones

 

acl "lan_hosts" {
    192.168.0.0/24;                # network address of your local LAN
    127.0.0.1;                     # allow loop back
    zewnetrzne IP                  # dodać jeśli jest problem z zapytaniami
};

 

Tworzenie symlinków do statystyk, procesu i logu:

sudo ln -s /var/lib/named/var/run/named.stats /var/run/named/named.stats
sudo ln -s /var/lib/named/var/run/named.pid /var/run/named/named.pid
sudo ln -s /var/lib/named/var/log/named.log /var/log/named.log

 

Tworzenie pliku ze statystykami:

sudo rndc stats

 

5. Konfiguracja darmowego „Secondary DNS Server – ByddyNS”.

Wchodzimy na stronę:
http://www.buddyns.com/
Klikamy na
Activate now
i rejestrujemy się w usłudze.

Wypełniamy pola pierwsze:

  • pole pierwsze – ns1.domena.pl,
  • pole drugie – zewnętrzny adres IP,
  • pole trzecie – adres e-mail .

Klikamy na ACTIVATE NOW!.

Wszystkie konta BuddyNS są bezpłatne do 0,3 (300.000) mln zapytań na miesiąc.

Powinniśmy dostać e-mail z aktywacją.

buddyNS

 

Po aktywacji konta, nasza domena.pl powinna być automatycznie dodana do strefy.
Aby to zweryfikować, przechodzimy do zakładki ZONES.
Jeżeli transfer się powiódł, wynik powinien wyglądać jak poniżej:

Aby zweryfikować ponownie konfiguracje, należy zsynchronizować strefę klikając w logo firmy po prawej stronie.

buddyns_02

Wynik synchronizacji powinien wyglądać jw., jeżeli wszystko zostało poprawnie skonfigurowane.

Jeżeli został popełniony jakikolwiek błąd w czasie rejestracji domeny, można zmodyfikować, usunać lub dodać wpis w sekcji Zone data (na dole) w zakładce ACCOUNT:

buddyns_01

 

6. Konfiguracja Hostingu – Delegacja.

Konfiguracja Hostingu na przykładzie home.pl:

  1. Logujemy sie do panelu home.pl,
  2. Przechodzimy do menu Usługi,
  3. Wybieramy naszą domene: domena.pl, i klikamy „Konfiguracja usługi”,
  4. Klikamy „Konfiguruj domenę”,home_pl_03
  5. Przechodzimy do „Ustawienia zewnętrznych serwerów DNS”
    i zaznaczamy „Korzystaj z serwerów DNS innego operatora”

W polu DNS1 wpisujemy ns1.domena.pl, w polu IP1 wpisujemy nasz zewnętrzny IP,
W polu DNS2 wpisujemy c.ns.buddyns.com, pole IP2, pozostawiamy puste,
W polu DNS3 wpisujemy e.ns.buddyns.com, pole IP3 pozostawiamy puste,

home_pl_04

  • Klikamy „Zapisz„, aby potwierdzić ustawienia.

 

WAŻNE!
Zmiana delegacji domeny jest procesem trwającym do 30 godzin. Podczas tego okresu czasu poczta e-mail oraz strona WWW, które są obsługiwane pod adresem delegowanej domeny nie będą działały. Po zakończonej delegacji Twoja domena nie będzie już kierować na serwer w home.pl, tylko na zewnętrzne.

Więcej pomocy w delegowaniu domen na stronie home.pl
Pomoc home.pl

Link pomocny w weryfikowaniu ustawień serwera dns:
www.intodns.com

span style=”color: #000000;”>Wszelkie pozyskane fundusze idą na opłacenie miesięcznego abonamentu za sprzęt na, którym stoi serwer.

Dodaj komentarz

Your email address will not be published.