Difference between revisions of "Static routing"

From Ilianko
Line 171: Line 171:
 
  :~$ sudo route add –net X.X.X.X netmask Y.Y.Y.Y gw Z.Z.Z.Z dev if?
 
  :~$ sudo route add –net X.X.X.X netmask Y.Y.Y.Y gw Z.Z.Z.Z dev if?
 
  :~$ netstat –r #показване на текущата рутираща таблица
 
  :~$ netstat –r #показване на текущата рутираща таблица
 +
 +
'''Запишете рутиращата таблица на един от рутерите.'''
 +
<table width="100%" border="1" cellpadding="2" cellspasing = "1" style="text-align:center">
 +
<tr>
 +
<td width="25%">Destination</td>
 +
<td width="25%">Gateway</td>
 +
<td width="25%">Genmask</td>
 +
<td width="12%">Flags</td>
 +
<td width="13%">Iface</td>
 +
</tr>
 +
<tr>
 +
<td>&nbsp</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td>
 +
</tr>
 +
<tr>
 +
<td>&nbsp</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td>
 +
</tr>
 +
<tr>
 +
<td>&nbsp</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td>
 +
</tr>
 +
<tr>
 +
<td>&nbsp</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td>
 +
</tr>
 +
</table>
 +
 +
 +
 +
'''Попълнете таблицата:'''
 +
<table width="100%" border="1" cellpadding="2" cellspasing = "1" style="text-align:center">
 +
<tr>
 +
<td width="16%">От / Към</td> <td width="14%">PC1</td> <td width="14%">интеграл if0</td> <td width="14%">интеграл if1</td> <td width="14%">диференциал if1</td> <td width="14%">диференциал if0</td> <td width="14%">PC2</td>
 +
</tr>
 +
 +
<tr>
 +
<td>PC1</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td>
 +
</tr>
 +
 +
<tr>
 +
<td>интеграл</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td>
 +
</tr>
 +
 +
<tr>
 +
<td>диференциал</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td>
 +
</tr>
 +
 +
</table>
  
 
== Използвани команди ==
 
== Използвани команди ==

Revision as of 06:48, 11 September 2011

Опитна постановка 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
интеграл 10.10.12.1 /24 10.10.10.1 /30
router if0 if1 route to INT
диференциал 10.10.11.1 /24
Workstation IPv4 address netmask (decimal) gateway
PC1 10.10.12.12/24
Workstation IPv4 address netmask (decimal) gateway
PC2

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

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

Запазване на текущата конфигурация

:~$ cd /etc/network/  #смяна на директория
:~$ sudo cp interfaces interfaces.old #копиране на файл в нов с разширение .old
:~$ cd /etc/
:~$ sudo cp sysctl.conf sysctl.conf.old

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

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

:~$ sudo vi /etc/network/interfaces

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

Рутер

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

auto lo
iface lo inet loopback

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

auto eth0
iface eth1 inet static
address if1.if1.if1.if1
netmask if1.if1.if1.if1

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

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

auto lo
iface lo inet loopback

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

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

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

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

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

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

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

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

:~$ifconfig

Пътища

:~$ netstat –r 

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

Internet Control Message Protocol (ICMP)

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

:~$ ping X.X.X.X 

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


Попълнете таблицата:

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

ip forwarding

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

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

:~$ sudo vi /etc/sysctl.conf

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

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

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

routes

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

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

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

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

Destination Gateway Genmask Flags Iface
&nbsp        
&nbsp        
&nbsp        
&nbsp        


Попълнете таблицата:

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

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

cd sudo cp