[[oktatas:linux:dns_szerver|< DNS szerver]]
====== Bind9 View ======
* **Szerző:** Sallai András
* Copyright (c) 2018, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== 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:
* info -- 192.168.6.0/24
* gazd -- 192.168.7.0/24
* külső -- 192.168.5.0/24
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:
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:
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/
$TTL 3D
intranet. SOA intranet. hostmaster.zold.and. (
2018090801
8H
2H
4W
1D)
intranet. NS intranet.
intranet. A 192.168.6.1
$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:
ServerAdmin valaki@zold.and
DocumentRoot /home/www/info/htdocs
Require all granted
ServerAdmin valaki@zold.and
DocumentRoot /home/www/gazd/htdocs
Require all granted
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:
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
[...]
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 =====
* https://kb.isc.org/article/AA-00851/0/Understanding-views-in-BIND-9-by-example.html (2018)
* https://www.howtoforge.com/two_in_one_dns_bind9_views (2018)