Difference between revisions of "Linux DNS"

From Ilianko
 
(31 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
 
== Създаване на опитна постановка ==
 
== Създаване на опитна постановка ==
За реализацията на хардуерната постановка ще се използва [[VirtualBox]]. Ще се създадe една виртуална машина от образа на предварително подготвена инсталация Ubuntu server.
+
За реализацията на хардуерната постановка ще се използва [[VirtualBox]]. Ще се създадат две виртуална машина от образа на предварително подготвена инсталация на Linux и Windows XP.
 +
 
 +
Linux машината ще бъде конфигурирана като DNS сървър, а Windows XP като DNS клиент.
  
 
[[VirtualBox|Импортиране и настройка на интерфейсите на виртуалната машина.]]
 
[[VirtualBox|Импортиране и настройка на интерфейсите на виртуалната машина.]]
  
Задайте един мрежов адаптер в режим мостов адаптер, смените MAC адреса.  
+
Мрежовите адаптери и на двете машини да са в режим мостов адаптер и с генерирани нови [[MAC адрес#MAC адрес|MAC адреси]].
 
 
  
 
== Мрежови настройки Linux ==
 
== Мрежови настройки Linux ==
  
<strong>Автоматично задаване на адрес</strong>
+
<strong>Автоматично конфигуриране на IP адрес</strong>
  $sudo dhclient eth1
+
  $dhclient eth1 -v
 
<strong>Проверка на дадения ви адрес</strong>
 
<strong>Проверка на дадения ви адрес</strong>
 
  $ifconfig  
 
  $ifconfig  
Line 20: Line 21:
 
<strong>задаване статичен адрес</strong>
 
<strong>задаване статичен адрес</strong>
 
   
 
   
  $sudo nano /etc/network/interfaces
+
  $nano /etc/network/interfaces
  
 
<code><pre>
 
<code><pre>
Line 37: Line 38:
 
<strong>Прилагане на промените </strong>
 
<strong>Прилагане на промените </strong>
 
За да се заредят новите настройки, мрежовите интерфейси трябва да се рестартират.
 
За да се заредят новите настройки, мрежовите интерфейси трябва да се рестартират.
  :~$sudo /etc/init.d/networking restart
+
  :~$/etc/init.d/networking restart
  
  
 
<strong>инсталиране на тестов web сървър</strong>
 
<strong>инсталиране на тестов web сървър</strong>
  $sudo apt-get update  
+
  $apt-get update  
  $sudo apt-get install apache2
+
  $apt-get install apache2
  
 
== Инсталация на DNS сървър ==
 
== Инсталация на DNS сървър ==
  
  $sudo apt-get install bind9
+
  $apt-get install bind9
 +
 
 +
== Конфигуриране на DNS клиент ==
 +
 
 +
*Да се импортира Windows машина.
 +
*Да се смени MAC  адресът
 +
*Мрежовият адаптер да е в режим Bridged Adapter
 +
 
 +
Да се настрои статичен DNS (адресът Линукс машината).
 +
 
 +
'''Тестване'''
 +
 
 +
На клиента (Windows машината)
 +
*ping към DNS сървъра - проверяваме дали има връзка с линукс машината
 +
*ping към ilianko.com - проверяваме дали DNS сървъра работи
 +
На DNS сървъра
 +
*изпълнете
 +
/etc/init.d/bind9 stop
 +
На Клиента
 +
*ping към ilianko.com - проверяваме дали IP адреса на ilianko.com се пази в кеша на windows
 +
*ipconfig /flushdns - изтриване на кеша
 +
*ping към ilianko.com - проверяваме дали ползваме нашия DNS сървър (трябва да няма отговор)
 +
На сървъра
 +
*изпълнете
 +
/etc/init.d/bind9 stаrt
  
 
== Конфигурация на bind v9 ==
 
== Конфигурация на bind v9 ==
Line 55: Line 80:
  
  
  sudo nano /etc/bind/named.conf.local
+
  nano /etc/bind/named.conf.local
  
<strong>В настройките 172.4.16.1 да се замени с IP адреса на сървъра</strong>
 
  
 
В конфигурационния файл се дава името на домейна и къде се намира зоновия файл.
 
В конфигурационния файл се дава името на домейна и къде се намира зоновия файл.
Line 66: Line 90:
 
   file "/etc/bind/zones/tugab.bg.db";
 
   file "/etc/bind/zones/tugab.bg.db";
 
};
 
};
zone "4.16.172.in-addr.arpa"
+
 
{
 
  type master;
 
  file "/etc/bind/zones/rev.4.16.172.in-addr.arpa";
 
};
 
 
</pre></code>
 
</pre></code>
  
 
== Създаване на зонови файлове ==
 
== Създаване на зонови файлове ==
  sudo mkdir /etc/bind/zones
+
  mkdir /etc/bind/zones
  sudo gedit /etc/bind/zones/tugab.bg.db
+
  nano /etc/bind/zones/tugab.bg.db
  
 +
 +
<strong>В настройките 172.4.16.1 да се замени с IP адреса на сървъра</strong>
  
 
Зонов файл на домейн tugab.bg. (точката е много важна, защото означава '''root''' домейна)
 
Зонов файл на домейн tugab.bg. (точката е много важна, защото означава '''root''' домейна)
Line 82: Line 104:
 
$TTL 60
 
$TTL 60
 
tugab.bg. IN SOA n1.tugab.bg. admin.tugab.bg. (
 
tugab.bg. IN SOA n1.tugab.bg. admin.tugab.bg. (
      1 ; Serial
+
      1
604800 ; Refresh
+
      1
  86400 ; Retry
+
      1      
2419200 ; Expire
+
                              1
604800 ) ; Negative Cache TTL
+
      1 )
 
;
 
;
 
tugab.bg.  IN NS n1.tugab.bg.
 
tugab.bg.  IN NS n1.tugab.bg.
Line 94: Line 116:
  
 
</pre></code>
 
</pre></code>
 +
 +
== рестартиране ==
 +
 +
/etc/init.d/bind9 restart
 +
 +
== Linux смяна DNS ==
 +
 +
Информацията за DNS сървърите се съхранява в ''/etc/resolv.conf'' с формат: '''nameserver''' ''ip addrress''
 +
 +
За да смените или добавите DNS редактирайте файла, като запишете информацията за новия DNS
 +
 +
:-$ nano /etc/resolv.conf
 +
 +
В някои конфигурации на Linux файлът DNS сървърите  може да се управляват от пакета [https://wiki.debian.org/NetworkConfiguration#The_resolvconf_program resolvconf]
 +
 +
== тестване ==
 +
*от браузъра на клиента отворете ''www.tugab.bg''
 +
*
 +
 +
dig tugab.bg
 +
 +
[[nslookup]] 172.16.4.1
 +
 +
== допълнителни настройки ==
 +
 +
Обратен зонов файл
 +
Добавете в
 +
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 gedit rev.4.16.172.in-addr.arpa
+
  nano /etc/bind/zones/rev.4.16.172.in-addr.arpa
  
 
<code><pre>
 
<code><pre>
Line 113: Line 170:
 
</pre></code>
 
</pre></code>
  
== рестартиране ==
 
 
sudo /etc/init.d/bind9 restart
 
 
== Linxu смяна DNS ==
 
 
Редактирате файла, като пишете новия DNS
 
 
sudo vi /etc/resolv.conf
 
 
 
== тестване ==
 
 
dig tugab.com
 
  
nslookup 172.16.4.1
 
  
  
 +
sudo nano /etc/bind/named.conf.options
  
 +
С опцията fowarders заявките за неизвестните имена на домейни не се ресолват на текущия сървър, а се препращат към друг DNS сървър.
 +
forwarders {
 +
  194.141.15.1;
 +
};
  
 
[[Category:Компютърни мрежи| ]]
 
[[Category:Компютърни мрежи| ]]

Latest revision as of 07:31, 24 November 2014

Теория

DNS теория

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

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

Linux машината ще бъде конфигурирана като DNS сървър, а Windows XP като DNS клиент.

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

Мрежовите адаптери и на двете машини да са в режим мостов адаптер и с генерирани нови MAC адреси.

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

Автоматично конфигуриране на IP адрес

$dhclient eth1 -v

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

$ifconfig 

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

$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 сървъра


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

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


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

$apt-get update 
$apt-get install apache2

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

$apt-get install bind9

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

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

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

Тестване

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

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

На DNS сървъра

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

На Клиента

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

На сървъра

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

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

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


nano /etc/bind/named.conf.local


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

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

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

mkdir /etc/bind/zones
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

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

/etc/init.d/bind9 restart

Linux смяна DNS

Информацията за DNS сървърите се съхранява в /etc/resolv.conf с формат: nameserver ip addrress

За да смените или добавите DNS редактирайте файла, като запишете информацията за новия DNS

:-$ nano /etc/resolv.conf

В някои конфигурации на Linux файлът DNS сървърите може да се управляват от пакета resolvconf

тестване

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

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

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

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";
};

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

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;
};