Difference between revisions of "Linux DNS"

From Ilianko
 
(55 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== Теория ==
 +
 +
[[DNS|DNS теория]]
 +
 +
== Създаване на опитна постановка ==
 +
За реализацията на хардуерната постановка ще се използва [[VirtualBox]]. Ще се създадат две виртуална машина от образа на предварително подготвена инсталация на Linux и Windows XP.
 +
 +
Linux машината ще бъде конфигурирана като DNS сървър, а Windows XP като DNS клиент.
 +
 +
[[VirtualBox|Импортиране и настройка на интерфейсите на виртуалната машина.]]
 +
 +
Мрежовите адаптери и на двете машини да са в режим мостов адаптер и с генерирани нови [[MAC адрес#MAC адрес|MAC адреси]].
 +
 +
== Мрежови настройки Linux ==
 +
 +
<strong>Автоматично конфигуриране на IP адрес</strong>
 +
$dhclient eth1 -v
 +
<strong>Проверка на дадения ви адрес</strong>
 +
$ifconfig
 +
 +
<strong>задаване статичен адрес</strong>
 +
 +
$nano /etc/network/interfaces
 +
 +
<code><pre>
 +
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
 +
</pre></code>
 +
където if0.if0.if0.if0 се заместват с дадените ви стойност от dhcp сървъра
 +
 +
 +
<strong>Прилагане на промените </strong>
 +
За да се заредят новите настройки, мрежовите интерфейси трябва да се рестартират.
 +
:~$/etc/init.d/networking restart
 +
 +
 +
<strong>инсталиране на тестов web сървър</strong>
 +
$apt-get update
 +
$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 8: Line 77:
 
В конфигурационния файл се изброяват зоните, за които ще отговаря дадения DNS сървър.
 
В конфигурационния файл се изброяват зоните, за които ще отговаря дадения DNS сървър.
 
За всеки domain name съществува зонов файл и е препоръчително съществуването на обратен зонов файл.
 
За всеки domain name съществува зонов файл и е препоръчително съществуването на обратен зонов файл.
 +
Обратният зонов файл прави следната връзка: "ако напишем ip-to, да ни върне domain name".
 +
 +
 +
nano /etc/bind/named.conf.local
  
За всяка зона се на
 
sudo gedit /etc/bind/named.conf.local
 
  
 +
В конфигурационния файл се дава името на домейна и къде се намира зоновия файл.
 
<code><pre>
 
<code><pre>
####
 
 
zone "tugab.bg"
 
zone "tugab.bg"
 
{
 
{
Line 19: 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 gedit /etc/bind/named.conf.options
+
mkdir /etc/bind/zones
####
+
nano  /etc/bind/zones/tugab.bg.db
forwarders {
+
 
194.141.15.1;
 
};
 
  
 +
<strong>В настройките 172.4.16.1 да се замени с IP адреса на сървъра</strong>
  
sudo mkdir /etc/bind/zones
+
Зонов файл на домейн tugab.bg. (точката е много важна, защото означава '''root''' домейна)
sudo gedit  /etc/bind/zones/tugab.bg.db
+
<code><pre>
###
 
 
$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.
 
@   IN A 172.16.4.1
 
@   IN A 172.16.4.1
 
n1   IN A 172.16.4.1
 
n1   IN A 172.16.4.1
www2   IN A 172.16.4.2
+
www   IN A 172.16.4.1
 +
 
 +
</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";
 +
};
 +
 
 +
Обратен зонов файл
 +
 
 +
nano /etc/bind/zones/rev.4.16.172.in-addr.arpa
 +
 
 +
<code><pre>
  
###
 
sudo gedit rev.4.16.172.in-addr.arpa
 
###
 
 
$TTL 604800
 
$TTL 604800
 
@ IN SOA n1.tugab.bg. admin.tugab.bg. (
 
@ IN SOA n1.tugab.bg. admin.tugab.bg. (
Line 62: Line 167:
 
;
 
;
 
IN NS tugab.bg.
 
IN NS tugab.bg.
1 IN PTR tugab.bg....
+
1 IN PTR tugab.bg.
 +
</pre></code>
 +
 
 +
 
 +
 
 +
 
 +
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;
};