Linux DNS

From Ilianko

Теория

DNS теория

Създаване на опитна постановка

За реализацията на хардуерната постановка ще се използва VirtualBox. Ще се създадe една виртуална машина от образа на предварително подготвена инсталация Ubuntu server.

Импортиране и настройка на интерфейсите на виртуалната машина.

Задайте един мрежов адаптер в режим мостов адаптер, смените MAC адреса.


Мрежови настройки Linux

Автоматично задаване на адрес

$sudo dhclient eth1

Проверка на дадения ви адрес

$ifconfig 

задаване статичен адрес

$sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
address if0.if0.if0.if0
netmask if0.if0.if0.if0
gateway 10.3.0.1

където if0.if0.if0.if0 се заместват с дадените ви стойност от dhcp сървъра


Прилагане на промените За да се заредят новите настройки, мрежовите интерфейси трябва да се рестартират.

:~$sudo /etc/init.d/networking restart


инсталиране на тестов web сървър

$sudo apt-get update 
$sudo apt-get install apache2

Инсталация на DNS сървър

$sudo apt-get install bind9

Конфигуриране на DNS клиент

  • Да се импортира Windows машина.
  • Да се смени MAC адресът
  • Мрежовият адаптер да е в режим Bridged Adapter

Да се настрои статичен DNS (адреса Линукс машината).

Тестване

На клиента (Windows машината)

  • ping към DNS сървъра - проверяваме дали има връзка с линукс машината
  • ping към ilianko.com - проверяваме дали DNS сървъра работи

На DNS сървъра

  • изпълнете
sudo /etc/init.d/bind9 stop

На Клиента

  • ping към ilianko.com - проверяваме дали IP адреса на ilianko.com се пази в кеша на windows
  • ipconfig /flushdns - изтриване на кеша
  • ping към ilianko.com - проверяваме дали ползваме нашия DNS сървър (трябва да няма отговор)

На сървъра

  • изпълнете
sudo /etc/init.d/bind9 stаrt

Конфигурация на bind v9

В конфигурационния файл се изброяват зоните, за които ще отговаря дадения DNS сървър. За всеки domain name съществува зонов файл и е препоръчително съществуването на обратен зонов файл. Обратният зонов файл прави следната връзка: "ако напишем ip-to, да ни върне domain name".


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


В конфигурационния файл се дава името на домейна и къде се намира зоновия файл.

zone "tugab.bg"
{
  type master;
  file "/etc/bind/zones/tugab.bg.db";
};

Създаване на зонови файлове

sudo mkdir /etc/bind/zones
sudo nano  /etc/bind/zones/tugab.bg.db


В настройките 172.4.16.1 да се замени с IP адреса на сървъра

Зонов файл на домейн tugab.bg. (точката е много важна, защото означава root домейна)

$TTL	60
tugab.bg.	IN	SOA	n1.tugab.bg. admin.tugab.bg. (
			      1		
			      1 	
			      1					      
                              1		
			      1 )	
;
tugab.bg.  IN 	NS 	n1.tugab.bg.
@	  IN	A	172.16.4.1
n1	  IN	A	172.16.4.1
www	  IN	A	172.16.4.1

рестартиране

sudo /etc/init.d/bind9 restart

Linxu смяна DNS

Редактирате файла, като пишете новия DNS

sudo nano /etc/resolv.conf

тестване

  • от браузъра на клиента отворете www.tugab.bg
dig tugab.bg
nslookup 172.16.4.1

допълнителни настройки

Обратен зонов файл Добавете в

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


zone "4.16.172.in-addr.arpa"
{
 type master;
 file "/etc/bind/zones/rev.4.16.172.in-addr.arpa";
};

Обратен зонов файл

sudo nano /etc/bind/zones/rev.4.16.172.in-addr.arpa

$TTL	604800
@	IN	SOA	n1.tugab.bg. admin.tugab.bg. (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
	IN	NS	tugab.bg.
1	IN	PTR	tugab.bg.



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

С опцията fowarders заявките за неизвестните имена на домейни не се ресолват на текущия сървър, а се препращат към друг DNS сървър. forwarders {

 194.141.15.1;

};