Difference between revisions of "Linux DNS"

From Ilianko
 
(25 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 70: Line 94:
  
 
== Създаване на зонови файлове ==
 
== Създаване на зонови файлове ==
  sudo mkdir /etc/bind/zones
+
  mkdir /etc/bind/zones
  sudo nano  /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 91: Line 117:
 
</pre></code>
 
</pre></code>
  
Обратен зонов файл
+
== рестартиране ==
 
 
sudo nano rev.4.16.172.in-addr.arpa
 
 
 
<code><pre>
 
 
 
$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.
 
</pre></code>
 
  
== рестартиране ==
+
/etc/init.d/bind9 restart
  
sudo /etc/init.d/bind9 restart
+
== Linux смяна DNS ==
  
== Linxu смяна DNS ==
+
Информацията за DNS сървърите се съхранява в ''/etc/resolv.conf'' с формат: '''nameserver''' ''ip addrress''
  
Редактирате файла, като пишете новия DNS
+
За да смените или добавите DNS редактирайте файла, като запишете информацията за новия DNS
  
  sudo vi /etc/resolv.conf
+
  :-$ nano /etc/resolv.conf
  
 +
В някои конфигурации на Linux файлът DNS сървърите  може да се управляват от пакета [https://wiki.debian.org/NetworkConfiguration#The_resolvconf_program resolvconf]
  
 
== тестване ==
 
== тестване ==
 +
*от браузъра на клиента отворете ''www.tugab.bg''
 +
*
  
  dig tugab.com
+
  dig tugab.bg
 
 
nslookup 172.16.4.1
 
 
 
  
 +
[[nslookup]] 172.16.4.1
  
 
== допълнителни настройки ==
 
== допълнителни настройки ==
 
   
 
   
 
Обратен зонов файл
 
Обратен зонов файл
 +
Добавете в
 +
nano /etc/bind/named.conf.local
 +
 +
 
  zone "4.16.172.in-addr.arpa"
 
  zone "4.16.172.in-addr.arpa"
 
  {
 
  {
Line 137: Line 152:
 
  };
 
  };
  
 +
Обратен зонов файл
 +
 +
nano /etc/bind/zones/rev.4.16.172.in-addr.arpa
 +
 +
<code><pre>
 +
 +
$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.
 +
</pre></code>
  
  
  
  
sudo gedit /etc/bind/named.conf.options
+
sudo nano /etc/bind/named.conf.options
  
 
С опцията fowarders заявките за неизвестните имена на домейни не се ресолват на текущия сървър, а се препращат към друг DNS сървър.  
 
С опцията fowarders заявките за неизвестните имена на домейни не се ресолват на текущия сървър, а се препращат към друг DNS сървър.  
forwarders {
+
forwarders {
 
   194.141.15.1;
 
   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;
};