[[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)