Dynamic routing

From Ilianko

Опитна постановка

Топология на мрежата

Разгледайте топологията на мрежата.

Въпрос:От колко мрежи се състои опитната постановка?

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

Адресен план

Задача Задайте адреси на мрежовите интерфейси на трите рутера и три потребителски машини в съответствие с мрежите, в които се намират.

Network Address
MAT 10.10.10.0/30
TIKA 10.10.10.4/30
EMA 10.10.10.8/30
Router if0 if1 if2
integral
differencial
bazhdar
INTE 10.10.11.0/24
PC-inte
DIF 10.10.12.0/24
PC-dif
BAZH 10.10.13.0/24
PC-bazh

OSPF

автономни зони

OSPF e един от най популярните маршутизиращи протоколи. Той е с отворен код (Open). Използва се като вътрешен протокол, рутиране в автономни ситеми.

Относно принципа на работа има две особености:

  • link state protocol – следене на състоянието на връзката. Изпраща се съобщение при промяна на състоянието.
  • shortest path first protocol – оптимизационен алгоритъм за намиране на най-краткия път до дадена мрежа.

Характеристики:

  • Може да описва няколко пътя до една и съща мрежа и да прави разпределяне на натоварването;
  • Поддържа логическо разделяне на мрежите;
  • Поддържа автентификация, което осигурява сигурността;
  • Бърза конвергенция;
  • Подържа мрежи с променлива дължина на маска.

Рутиращ демон

quagga – Командния интерфейс е подобен на IOS (операционната система на CISCO).

  • ОС – Linux, Solaris, BSD
  • Протоколи - RIP, OSPF (versions 2 and 3), BGP, and IS-IS.

Изграждането на рутери на базата на линукс и персонален компютър е подходящо при търсене на ниско-бюджетно решение или експериментални цели. За високо натоварени, имащи нужда от висока надеждност мрежи по-правилно би било да се ползва специализиран хардуер.

Съседни мрежи

Задача: В таблица 2 опишете мрежите, с които всеки рутер е пряко свързан (direct connected).

Таблица 2.

Router Име /Address / netmask
integral  
 
 
differential  
 
 
bazhdar  
 
 

quagga

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

Създаване на рутерите

Виртуални машини

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

Инсталиране quagga

  • Проверете логическите имена на интерфейсите, като изведете всички инсталирани интерфейси с командата
$ifconfig -а
  • от мрежовите настройки на виртуалната свържете един от интерфейсите към външната мрежа (тип на връзката NAT) и задайте автоматично да си вземе адрес с командата:

ethX да се замени със съответното логическо име на интерфейса, който е свързан към NAT.

$ sudo dhclient ethX
  • Обновете листа с пакетите в хранилището на Ubuntu.
$ sudo apt-get update
  • Инсталирайте quagga
$ sudo apt-get install quagga

Настройка IP адреси

  • Настройте статични адреси интерфейсите на рутерите в съответствие със таблица 1. Редактирайте файла:
$sudo 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

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

auto ethZ
iface ethZ inet static
address if2.if2.if2.if2
netmask if2.if2.if2.if2

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

Незабравяйте да рестартирате мрежовите настройки

$sudo /etc/init.d/networking restart


Сравнете рутиращите таблици на рутерите с таблица 2. За да видите рутиращата таблица използвайте командата:

$ route

Настройка на физически връзки и тестване

Мрежовите адаптери на виртуалните машини на всеки рутер трябва да са настроени на "Internal network" и да са включени към съответните мрежи.

Поради това, че adapter 1, adapter 2 и adapter 3 не съответстват на eth1, eth2 и eth3, трябва с проба грешка да се научка съответствието.

С ping tействайте, дали свързаността отговаря на свързаността според таблицата.

от/към 10.10.10.1 10.10.10.2 10.10.10.5 10.10.10.6 10.10.10.9 10.10.10.10
integral да да да да не не
differential да да не не да да
bazhdar не не да да да да

Създаване на потребителски машини

  • Да се създадат две виртаулни windows машини.
  • Да се свържат съответно към мрежа INTЕ и DIF
  • Да им се настроят съответните адреси за PC1 и PC2 според таблица 1.

Тестване на връзката

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

От / Към PC-inte integral if0 integral if2 differential if1 differential if0 PC-diff
PC-inte            

Стартиране quagga

Quagga поддържа няколко протокола, затова ще изберем само тези които са ни необходими (OSPF).

Избор на рутиращи протоколи

Редактира се инициализиращия файл на quagga.

$ sudo nano /etc/quagga/daemons

За да се стартират quagga и демона на рутиращия протокол OSPF, конфигурационния файл трябва да изглеждала така:

zebra=yes
bgpd=no
ospfd=yes
ospfd6=no
ripd=no
ripngd=no
isisd=no

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

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

:~$ cd /usr/share/doc/quagga/examples %смяна директория
:~$ sudo cp zebra.conf.sample /etc/quagga/zebra.conf %копиране на файл
:~$ sudo cp ospfd.conf.sample /etc/quagga/ospfd.conf
:~$ cd /etc/quagga/
:~$ ls %разлистване на директорията и проверка на файловете
:~$ sudo /etc/init.d/quagga restart %рестартиране на quagga

:~$ sudo chown quagga.quaggavty /etc/quagga/*.conf %промяна на собственика на файл
:~$ sudo chmod 640 /etc/quagga/*.conf %смяна на правата на файл

Настройки OSPF

X.X.X.X/M са директно свързаните мрежи, които рутера ще рекламира.

:~$ telnet localhost 2604 %парола -> zebra
labX> enable %Влизане в администраторски режим
labX# configure terminal %влизане конфигурационен режим 
labX(config)#router ospf %включване на OSPF рутиране
labX(config-router)# network X.X.X.X/M area 0 
%добавяне на директно свързаната  мрежа,чиято информация ще се препредава
labX(config-router)# exit
labX(config)# exit
labX#show running-config
lab10# write file  %записване на конфигурацията 
labX#exit

ip forwarding

Включване на ip forwarding (препращане на пакети).

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

:~$ sudo nano /etc/sysctl.conf

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

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

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

Тестване

Рутиращи таблици

Да се проверят рутиращите таблици на рутери с командата

$/> netstat -r

или

$/> route

Свързаност

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

От / Към PC1 integral if0 integral if2 differential if2 differential if0 PC-diff
PC-inte           

Проследяване на връзката

Използвайте командата tracert за да проверите възлите, през които се осъществява връзката от PC-inte и PC-diff.

C:/>tracert ip_address 
% Заменете ip_address със адреса, до който тествате връзката

Време за конвергенция

Пуснете ping от PC-inte към PC-diff. Разкачете връзката в мрежа МАТ и засечете след колко време трафика ще се възстанови през рутер bazhdar.

Проверете възлите, през които се осъществява връзката от PC-inte и PC-diff

Cisco

Схемата лесно може да се реализира с лабораторните cisco рутери.