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.
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.
apt install bind9 dnsutils
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
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.
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:
<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 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; }
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
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ó.