Difference between revisions of "Static routing"

From Ilianko
 
(15 intermediate revisions by the same user not shown)
Line 74: Line 74:
 
* /etc/hosts - тук след адреса 127.0.1.1 се изтрива старото име и на негово място се записва новото
 
* /etc/hosts - тук след адреса 127.0.1.1 се изтрива старото име и на негово място се записва новото
  
За да редактирате файла може да се използва [[vi|текстов редактор vi]] или [[nano|nano]].
+
За да редактирате файла може да се използва [[vi|текстов редактор vi]] или [[nano|nano]]. Трябва да имате администраторски права.
 +
 
 +
Включване на root потребител
 +
~$sudo su
  
 
Отваряне на файл hostname.
 
Отваряне на файл hostname.
  ~$sudo nano /etc/hostname
+
  ~$nano /etc/hostname
  
 
Отваряне на файл hosts.
 
Отваряне на файл hosts.
  ~$sudo nano /etc/hosts
+
  ~$nano /etc/hosts
  
 
== Мрежови настройки Linux ==
 
== Мрежови настройки Linux ==
 
Конфигурация на Linux (Ubuntu) рутер и работнa станция. Използват се вградените в ядрото на Линукс възможности за маршрутизация.
 
Конфигурация на Linux (Ubuntu) рутер и работнa станция. Използват се вградените в ядрото на Линукс възможности за маршрутизация.
  
=== Запазване на текущата конфигурация ===
 
~$ cd /etc/network/  #смяна на директория
 
~$ sudo cp interfaces interfaces.old #копиране на файл в нов с разширение .old
 
~$ cd /etc/
 
~$ sudo cp sysctl.conf sysctl.conf.old
 
  
 
=== Настройка мрежови интерфейси ===
 
=== Настройка мрежови интерфейси ===
Line 95: Line 93:
 
Проверете имената на съществуващите интерфейси. Най-често те са eth0 или eth1 или eth2 ...
 
Проверете имената на съществуващите интерфейси. Най-често те са eth0 или eth1 или eth2 ...
 
Използвайте командата:
 
Използвайте командата:
  ifconfig -a
+
  ~$ifconfig -a
Използва се [[vi|текстов редактор vi]] и се редактира файл interfaces.
+
 
  sudo nano /etc/network/interfaces
+
Използвайте текстов редактор [[nano]] или [[vi]] и редактирайте файл interfaces.
 +
  ~$nano /etc/network/interfaces
  
 
Във файла се добавя съответната информация и се записва.
 
Във файла се добавя съответната информация и се записва.
==== Рутер ====
+
 
За рутерите конфигурационния файл би трябвало да изглежда така
+
==== Работните станции ====
 +
За работните станции конфигурационния файл би трябвало да изглежда така
 
<code><pre>
 
<code><pre>
 
auto lo
 
auto lo
Line 110: Line 110:
 
address if0.if0.if0.if0
 
address if0.if0.if0.if0
 
netmask if0.if0.if0.if0
 
netmask if0.if0.if0.if0
 
+
gateway X.X.X.X
auto ethY
 
iface ethY inet static
 
address if1.if1.if1.if1
 
netmask if1.if1.if1.if1
 
 
</pre></code>
 
</pre></code>
 +
където ethX,if0.if0.if0.if0 и X.X.X.X се заместват със съответните стойности от задача 1.
  
където ethX, ethY, if0.if0.if0.if0 и if1.if1.if1.if1 се заместват със съответните стойности за съответния рутер от задача 1.
+
==== Рутер ====
 
+
За рутерите конфигурационния файл би трябвало да изглежда така
==== Работните станции ====
 
 
<code><pre>
 
<code><pre>
 
auto lo
 
auto lo
Line 128: Line 124:
 
address if0.if0.if0.if0
 
address if0.if0.if0.if0
 
netmask if0.if0.if0.if0
 
netmask if0.if0.if0.if0
gateway X.X.X.X
+
 
 +
auto ethY
 +
iface ethY inet static
 +
address if1.if1.if1.if1
 +
netmask if1.if1.if1.if1
 
</pre></code>
 
</pre></code>
където ethX,if0.if0.if0.if0 и X.X.X.X се заместват със съответните стойности от задача 1.
 
  
=== Прилагане на промените ===
+
където ethX, ethY, if0.if0.if0.if0 и if1.if1.if1.if1 се заместват със съответните стойности за съответния рутер от задача 1.
 +
 
 +
'''''Допълнителна литература: '''''[https://wiki.debian.org/NetworkConfiguration Мрежови настройки в Debian]
 +
 
 +
==== Прилагане на промените ====
 
За да се заредят новите настройки, мрежовите интерфейси трябва да се рестартират.
 
За да се заредят новите настройки, мрежовите интерфейси трябва да се рестартират.
  :~$sudo /etc/init.d/networking restart
+
  :~$ ifdown ethX && ifup ethX
 +
където '''''ethX'''' е името на интефейса.
  
 
== Тестване на мрежовите настройки ==
 
== Тестване на мрежовите настройки ==
Line 182: Line 186:
 
Редактирайте файла ''sysctl.conf''.
 
Редактирайте файла ''sysctl.conf''.
  
  :~$ sudo vi /etc/sysctl.conf
+
  ~$ nano /etc/sysctl.conf
 
Разкоментира се реда:  <code> net.ipv4.ip_forward = 1 </code> и се записва.  
 
Разкоментира се реда:  <code> net.ipv4.ip_forward = 1 </code> и се записва.  
  
 
Настройките могат да се приложат без рестариране с командата:  
 
Настройките могат да се приложат без рестариране с командата:  
  :~$ sudo sysctl –p #динамично презареждане на %настройките на ядрото
+
  ~$ sysctl –p #динамично презареждане на %настройките на ядрото
  
 
== routes ==
 
== routes ==
 
Добавяне на статични маршрути ( routes ) към рутиращите таблици на рутерите.
 
Добавяне на статични маршрути ( routes ) към рутиращите таблици на рутерите.
  
Като имате предвид,че  '''X.X.X.X'''' е адреса на мрежата с маска '''Y.Y.Y.Y''', която е достъпна през рутер с адрес '''Z.Z.Z.Z'''.
+
Като имате предвид,че  '''X.X.X.X''' е адреса на мрежата с маска '''Y.Y.Y.Y''', която е достъпна през рутер с адрес '''Z.Z.Z.Z'''.
  
  :~$ sudo route add –net X.X.X.X netmask Y.Y.Y.Y gw Z.Z.Z.Z
+
  :~$ route add –net X.X.X.X netmask Y.Y.Y.Y gw Z.Z.Z.Z
 
  :~$ netstat –r #показване на текущата рутираща таблица
 
  :~$ netstat –r #показване на текущата рутираща таблица
  

Latest revision as of 06:57, 23 October 2013

Опитна постановка 1: Дадена е мрежа (фиг.1), състояща се от три подмрежи – MAT, INT и DIFF, свързани помежду си с рутери интеграл и диференциал.

Фиг.1. Статично рутиране, опитна постановка

Адресна схема

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

Network IPv4 netmask(decimal) gateway
INT 10.10.12.0 / 24
DIFF 10.10.11.0 / 24
MAT 10.10.10.0 / 30 /\/\/\/\/\/\/\
router if0 if1 route to DIFF
int 10.10.12.1 /24 10.10.10.1 /30
router if0 if1 route to INT
diff 10.10.11.1 /24
Workstation IPv4 address netmask (decimal) gateway
PC1 10.10.12.12/24
Workstation IPv4 address netmask (decimal) gateway
PC2

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

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

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

Като импортирате няколко виртуални машини от един и същ образ, трябва да смените MAC адресите на интерфейсите.

След стартиране на машината сменете имената на машините със съответните имена от адресната схема. За целта трябва да редактирате файловете

  • /etc/hostname - тук се изтрива старото име и се записва новото.
  • /etc/hosts - тук след адреса 127.0.1.1 се изтрива старото име и на негово място се записва новото

За да редактирате файла може да се използва текстов редактор vi или nano. Трябва да имате администраторски права.

Включване на root потребител

~$sudo su

Отваряне на файл hostname.

~$nano /etc/hostname

Отваряне на файл hosts.

~$nano /etc/hosts

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

Конфигурация на Linux (Ubuntu) рутер и работнa станция. Използват се вградените в ядрото на Линукс възможности за маршрутизация.


Настройка мрежови интерфейси

Проверете имената на съществуващите интерфейси. Най-често те са eth0 или eth1 или eth2 ... Използвайте командата:

~$ifconfig -a

Използвайте текстов редактор nano или vi и редактирайте файл interfaces.

~$nano /etc/network/interfaces

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

Работните станции

За работните станции конфигурационния файл би трябвало да изглежда така

auto lo
iface lo inet loopback

auto ethX
iface ethX inet static
address if0.if0.if0.if0
netmask if0.if0.if0.if0
gateway X.X.X.X

където ethX,if0.if0.if0.if0 и X.X.X.X се заместват със съответните стойности от задача 1.

Рутер

За рутерите конфигурационния файл би трябвало да изглежда така

auto lo
iface lo inet loopback

auto ethX
iface ethX inet static
address if0.if0.if0.if0
netmask if0.if0.if0.if0

auto ethY
iface ethY inet static
address if1.if1.if1.if1
netmask if1.if1.if1.if1

където ethX, ethY, if0.if0.if0.if0 и if1.if1.if1.if1 се заместват със съответните стойности за съответния рутер от задача 1.

Допълнителна литература: Мрежови настройки в Debian

Прилагане на промените

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

:~$ ifdown ethX && ifup ethX

където ethX' е името на интефейса.

Тестване на мрежовите настройки

Проверка настройките на интерфейсите

Без параметри командата показва текущото състояние на порта

:~$ifconfig

Пътища

:~$ netstat –r 

Текущата рутираща таблица. Без добавени пътища (ръчно или от рутиращ демон) се показват пътищата само към директно свързаните мрежи, т.е. ползва се информацията от настройката на интерфейсите.

Internet Control Message Protocol (ICMP)

Ping изпраща ехо заявки (изпраща се съобщение и се чака отговор че е получено).

:~$ ping X.X.X.X 

където X.X.X.X e IP адресът на машината, която проверяваме дали има връзка с нашата машина. Много често стандартните настройки на firewall-ите ограничават ping заявките.


Попълнете таблицата: Заменете имената с IP адресите на компютрите и тествайте наличието на връзка с командата ping.отбележете с да и не наличието на връзка.

От / Към PC1 интеграл if0 интеграл if1 диференциал if1 диференциал if0 PC2
PC1            
интеграл            
диференциал            

ip forwarding

Включване на ip forwarding (препращане на пакетите, само за рутерите).

Редактирайте файла sysctl.conf.

~$ nano /etc/sysctl.conf

Разкоментира се реда: net.ipv4.ip_forward = 1 и се записва.

Настройките могат да се приложат без рестариране с командата:

~$ sysctl –p #динамично презареждане на %настройките на ядрото

routes

Добавяне на статични маршрути ( routes ) към рутиращите таблици на рутерите.

Като имате предвид,че X.X.X.X е адреса на мрежата с маска Y.Y.Y.Y, която е достъпна през рутер с адрес Z.Z.Z.Z.

:~$ route add –net X.X.X.X netmask Y.Y.Y.Y gw Z.Z.Z.Z
:~$ netstat –r #показване на текущата рутираща таблица

Запишете рутиращата таблица на един от рутерите.

Destination Gateway Genmask Flags Iface
         
         
         
         


Попълнете таблицата: Заменете имената с IP адресите на компютрите и тествайте наличието на връзка с командата ping.отбележете с да и не наличието на връзка.

От / Към PC1 интеграл if0 интеграл if1 диференциал if1 диференциал if0 PC2
PC1            
интеграл            
диференциал            

Задача

Да се проследи с wireshark преминаване на ping пакет от PC1 до PC2 през всички интерфейси и да се попълни таблицата:

address/interface integral if1 differencial if0   PC2     
Source MAC      
Destination MAC      
Source IP      
Destination IP      

Използвани команди

cd sudo cp route

netstat

ping