Dynamic routing
Contents
Опитна постановка
Топология на мрежата
Разгледайте топологията на мрежата.
Въпрос:От колко мрежи се състои опитната постановка?
Адресен план
Задача Задайте адреси на мрежовите интерфейси на трите рутера и три потребителски машини в съответствие с мрежите, в които се намират.
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
Свързаност
Попълнете таблицата: Заменете имената с IP адресите на компютрите и тествайте наличието на връзка с командата ping
.отбележете с да и не наличието на връзка.
От / Към | PC1 | integral if0 | integral if2 | differential if3 | 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