Tartalomjegyzék

< DNS szerver

Bind9 View

Bevezetés

A View nézetet jelent. De mit biztosít számunkra a Bind9-ben? A nézetek lehetővé teszik különböző nevek feloldását IP címtől függően. Hasznos lehet, ha például más weboldalt szeretnénk kiszolgálni két különböző privát alhálózatunk számára.

Ebben a leírásban Debian9 rendszeren próbáljuk ki a Bind9 View lehetőségét.

A hálózat

Legyen két hálózat:

Van egy hálózat az informatika és egy a gazdasági osztály számára. Szeretnénk, ha az „intranet” nevet a böngészőbe beírva más-más weboldal jöjjön be.

Szükséges programok telepítése

apt install bind9 dnsutils

A bind9 beállítása

Elsőként tegyük megjegyzésbe az alapértelmezett zónákra vonatkozó include bejegyzést:

/etc/bind/named.cof
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
//include "/etc/bind/named.conf.default-zones";

Természetesen törölhetjük is a bejegyzést. Ezeket a nézetekben fogjuk megadni.

Készítsük el a nézeteket, benne a zónákkal:

/etc/bind/named.conf.local
view "info" {
    match-clients { localhost; 192.168.6.0/24; };
    recursion yes;
    zone "intranet" {
        type master;
        file "master/intranetInfo.zone";
    };
    include "/etc/bind/named.conf.default-zones";
};
 
view "gazd" {
    match-clients { localhost; 192.168.7.0/24; };
    recursion yes;
    zone "intranet" {
        type master;
        file "master/intranetGazd.zone";
    };
    include "/etc/bind/named.conf.default-zones";
};

Zónafájlok létrehozása:

mkdir /var/cache/bind/master/
/var/cache/bind/master/intranetInfo.zone
$TTL 3D
intranet. SOA intranet. hostmaster.zold.and. (
                            2018090801
                            8H
                            2H
                            4W
                            1D)
intranet.       NS      intranet.
intranet.       A       192.168.6.1
/var/cache/bind/master/intranetGazd.zone
$TTL 3D
intranet. SOA intranet. hostmaster.zold.and. (
                            2018090801
                            8H
                            2H
                            4W
                            1D)
intranet.       NS      intranet.
intranet.       A       192.168.7.1

Ellenőrzés

Egy kliens programon az info-s hálózatban írjuk be a böngészőbe:

intranet

Majd írjuk be a másik hálózatban is ugyanezt:

intranet

A két különböző weblapot kell kapjuk.

Függelék

Apache

Az Apache beállítása ugyan nem tartozik a DNS beállításokhoz, de a fenti feladat megoldásához, ezt is megnézzük.

Ha az apache nincs telepítve:

apt install apache2

Vegyük fel a virtulahostokat IP cím alapján:

nano /etc/apache2/sites-available/intranet.conf

Az intranet.conf fájl nem létezik, most hozzuk létre. Tartalma ehhez hasonló legyen:

/etc/apache2/sites-available/intranet.conf
<VirtualHost 192.168.6.1>
    ServerAdmin valaki@zold.and
    DocumentRoot /home/www/info/htdocs
    <Directory /home/www/info>
        Require all granted
    </Directory>
</VirtualHost>
 
<VirtualHost 192.168.7.1>
    ServerAdmin valaki@zold.and
    DocumentRoot /home/www/gazd/htdocs
    <Directory /home/www/gazd>
        Require all granted
    </Directory>
</VirtualHost>

Engedélyezzük a webhelyeket:

a2ensite intranet
systemctl restart apache2

Készítsük a weboldalak előkészítéséhez egy index.html állományt:

mkdir -p /home/www/info/htdocs
mkdir -p /home/www/gazd/htdocs
echo "Informatika osztaly" > /home/www/info/htdocs/index.html
echo "Gazdasagi osztaly" > /home/www/gazd/htdocs/index.html

Az isc-dhcp-server beállítása

Az isc-dhcp-server is opcionális lehetőség, csak a teljesség kedvéért.

Ha nincs telepítve:

apt install isc-dhcp-server

Határozzuk meg milyen hálózati kártyákon szeretnénk a DHCP szolgáltatást megvalósítani. A hálózati kártyák neveinek kiderítéséhez használjuk az ip parancsot:

ip address show

Legyenek a hálózati kártyák nevei: enp0s3, enp0s8. Szerkesszük a /etc/default/isc-dhcp-server állományt:

nano /etc/default/isc-dhcp-server

Keressük meg az INTERFACESV4 SORT. Adjuk meg a hálózati kártyákat:

INTERFACESV4="enp0s3 enp0s8"

Mentsük el az eredeti beállításfájlt:

cd /etc/dhcp
cp dhcpd.conf dhcpd.conf.backup

Készítsünk egy újat:

/etc/dhcp/dhcpd.conf
option domain-name-servers 8.8.8.8;
option domain-name "zold.and";
default-lease-time 600;
max-lease-time 7200;
 
subnet 192.168.6.0 netmask 255.255.255.0 {
    range 192.168.6.101 192.168.6.200;
    option routers 192.168.6.1;
    option broadcast-address 192.168.6.255;
    option domain-name-servers 192.168.6.1, 8.8.4.4, 8.8.8.8;
}
 
subnet 192.168.7.0 netmask 255.255.255.0 {
    range 192.168.7.101 192.168.7.200;
    option routers 192.168.7.1;
    option broadcast-address 192.168.7.255;
    option domain-name-servers 192.168.7.1, 8.8.4.4, 8.8.8.8;
}

Hálózatbeállítások

nano /etc/network/interfaces
/etc/network/interfaces
[...]
allow-hotplug enp0s3
iface enp0s3 inet static
        address 192.168.6.1
        netmask 255.255.255.0
allow-hotplug enp0s8
iface enp0s8 inet static
        address 192.168.7.1
        netmask 255.255.255.0
# külső interfész:
allow-hotplug enp0s9
iface enp0s9 inet static
        address 192.168.5.88
        netmask 255.255.255.0
        gateway 192.168.5.1

Hibakövetés

A DNS beállításokhoz használjuk a dig parancsot, például:

dig @192.168.6.1 intranet

A DHCP kérésekhez monitorozásához:

tcpdump -i enp0s8 -i enp0s3 port bootps

A dig parancs a dnsutils, a tcpdump a tcpdump csomagban található.

Irodalom