Difference between revisions of "Dynamic routing"
(→Cisco) |
|||
(22 intermediate revisions by the same user not shown) | |||
Line 93: | Line 93: | ||
==Рутиращ демон == | ==Рутиращ демон == | ||
− | '''quagga''' – Командния интерфейс е подобен на IOS (операционната система на CISCO). | + | '''[http://www.google.bg/search?q=quagga&aq=f&sugexp=chrome,mod%3D8&um=1&ie=UTF-8&hl=bg&tbm=isch&source=og&sa=N&tab=wi&ei=0IykUIX4FcjAtAbjt4HwDA&biw=800&bih=512&sei=04ykUIbLCc_WsgatuoGABw quagga]''' – Командния интерфейс е подобен на IOS (операционната система на CISCO). |
*ОС – Linux, Solaris, BSD | *ОС – Linux, Solaris, BSD | ||
Line 101: | Line 101: | ||
== Съседни мрежи == | == Съседни мрежи == | ||
− | '''Задача: | + | '''Задача:''' В таблица 2 опишете мрежите, с които всеки рутер е пряко свързан (direct connected). |
+ | '''Таблица 2.''' | ||
<table border = "1" width = "70%" style="text-align:center"> | <table border = "1" width = "70%" style="text-align:center"> | ||
<tr> | <tr> | ||
− | <td>Router</td> <td>Address / netmask</td> | + | <td>Router</td> <td>Име /Address / netmask</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td rowspan="3">integral</td> <td> </td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td> </td> |
</tr><tr> | </tr><tr> | ||
− | <td> | + | <td> </td> |
</tr><tr> | </tr><tr> | ||
− | <td> | + | <td rowspan="3">differential</td> <td> </td> |
</tr><tr> | </tr><tr> | ||
− | <td> | + | <td> </td> |
</tr><tr> | </tr><tr> | ||
− | <td> </td> <td></td> | + | <td> </td> |
− | </tr></table> | + | </tr> |
+ | <tr> | ||
+ | <td rowspan="3">bazhdar</td> <td> </td> | ||
+ | </tr><tr> | ||
+ | <td> </td> | ||
+ | </tr><tr> | ||
+ | <td> </td> | ||
+ | </tr> | ||
+ | </table> | ||
==quagga== | ==quagga== | ||
Line 135: | Line 144: | ||
$ifconfig -а | $ifconfig -а | ||
*от мрежовите настройки на виртуалната свържете един от интерфейсите към външната мрежа (тип на връзката NAT) и задайте автоматично да си вземе адрес с командата: | *от мрежовите настройки на виртуалната свържете един от интерфейсите към външната мрежа (тип на връзката NAT) и задайте автоматично да си вземе адрес с командата: | ||
− | ''' ''ethX '' '''да се замени със съответното логическо име на интерфейса. | + | ''' ''ethX '' '''да се замени със съответното логическо име на интерфейса, който е свързан към NAT. |
$ sudo dhclient ethX | $ sudo dhclient ethX | ||
*Обновете листа с пакетите в хранилището на Ubuntu. | *Обновете листа с пакетите в хранилището на Ubuntu. | ||
Line 171: | Line 180: | ||
''' ''Незабравяйте да рестартирате мрежовите настройки'' ''' | ''' ''Незабравяйте да рестартирате мрежовите настройки'' ''' | ||
$sudo /etc/init.d/networking restart | $sudo /etc/init.d/networking restart | ||
+ | |||
+ | |||
+ | '''Сравнете рутиращите таблици на рутерите с таблица 2.''' За да видите рутиращата таблица използвайте командата: | ||
+ | $ route | ||
====Настройка на физически връзки и тестване==== | ====Настройка на физически връзки и тестване==== | ||
Line 218: | Line 231: | ||
*Да се създадат две виртаулни windows машини. | *Да се създадат две виртаулни windows машини. | ||
− | *Да се свържат съответно към мрежа | + | *Да се свържат съответно към мрежа INTЕ и DIF |
*Да им се настроят съответните адреси за PC1 и PC2 според таблица 1. | *Да им се настроят съответните адреси за PC1 и PC2 според таблица 1. | ||
===Тестване на връзката === | ===Тестване на връзката === | ||
− | '''Попълнете таблицата:''' Заменете имената с IP адресите на компютрите и тествайте наличието на връзка с командата <code>ping</code>. | + | '''Попълнете таблицата:''' Заменете имената с IP адресите на компютрите и тествайте наличието на връзка с командата <code>ping</code>. Oтбележете с ''да'' и ''не'' наличието на връзка. |
<table width="100%" border="1" cellpadding="2" cellspasing = "1" style="text-align:center"> | <table width="100%" border="1" cellpadding="2" cellspasing = "1" style="text-align:center"> | ||
<tr> | <tr> | ||
− | <td width="16%">От / Към</td> <td width="14%"> | + | <td width="16%">От / Към</td> <td width="14%">PC-inte</td> <td width="14%">integral if0</td> <td width="14%">integral if2</td> <td width="14%">differential if1</td> <td width="14%">differential if0</td> <td width="14%">PC-diff</td> |
</tr> | </tr> | ||
Line 243: | Line 256: | ||
$ sudo nano /etc/quagga/daemons | $ sudo nano /etc/quagga/daemons | ||
− | За да се стартират quagga и демона на рутиращия протокол OSPF | + | За да се стартират quagga и демона на рутиращия протокол OSPF, конфигурационния файл трябва да изглеждала така: |
zebra=yes | zebra=yes | ||
bgpd=no | bgpd=no | ||
Line 253: | Line 266: | ||
===Конфигурация=== | ===Конфигурация=== | ||
− | Създаване на конфигурационни файлове OSPF и zebra и смяна правата на конфигурационните файове. | + | Създаване на конфигурационни файлове на OSPF и zebra и смяна правата на конфигурационните файове. |
:~$ cd /usr/share/doc/quagga/examples %смяна директория | :~$ cd /usr/share/doc/quagga/examples %смяна директория | ||
:~$ sudo cp zebra.conf.sample /etc/quagga/zebra.conf %копиране на файл | :~$ sudo cp zebra.conf.sample /etc/quagga/zebra.conf %копиране на файл | ||
Line 279: | Line 292: | ||
lab10# write file %записване на конфигурацията | lab10# write file %записване на конфигурацията | ||
labX#exit | labX#exit | ||
+ | |||
+ | === ip forwarding === | ||
+ | |||
+ | Включване на ip forwarding (препращане на пакети). | ||
+ | |||
+ | Редактирайте файла ''sysctl.conf''. | ||
+ | |||
+ | :~$ sudo nano /etc/sysctl.conf | ||
+ | Разкоментира се реда: <code> net.ipv4.ip_forward = 1 </code> и се записва. | ||
+ | |||
+ | Настройките могат да се приложат без рестариране с командата: | ||
+ | :~$ sudo sysctl –p #динамично презареждане на %настройките на ядрото | ||
== Тестване == | == Тестване == | ||
Line 285: | Line 310: | ||
Да се проверят рутиращите таблици на рутери с командата | Да се проверят рутиращите таблици на рутери с командата | ||
− | $ netstat -r | + | $/> netstat -r |
+ | или | ||
+ | $/> route | ||
=== Свързаност === | === Свързаност === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''Попълнете таблицата:''' Заменете имената с IP адресите на компютрите и тествайте наличието на връзка с командата <code>ping</code>. | + | '''Попълнете таблицата:''' Заменете имената с IP адресите на компютрите и тествайте наличието на връзка с командата <code>ping</code>. Oтбележете с ''да'' и ''не'' наличието на връзка. |
<table width="100%" border="1" cellpadding="2" cellspasing = "1" style="text-align:center"> | <table width="100%" border="1" cellpadding="2" cellspasing = "1" style="text-align:center"> | ||
<tr> | <tr> | ||
− | <td width="16%">От / Към</td> <td width="14%">PC1</td> <td width="14%">integral if0</td> <td width="14%">integral if2</td> <td width="14%">differential | + | <td width="16%">От / Към</td> <td width="14%">PC1</td> <td width="14%">integral if0</td> <td width="14%">integral if2</td> <td width="14%">differential if2</td> <td width="14%">differential if0</td> <td width="14%">PC-diff</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td>PC-inte</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> | + | <td>PC-inte</td> <td> </td><td> </td> <td> </td> <td> </td> <td> </td> <td> </td> |
</tr> | </tr> | ||
Line 310: | Line 331: | ||
=== Проследяване на връзката === | === Проследяване на връзката === | ||
− | Използвайте командата | + | Използвайте командата tracert за да проверите възлите, през които се осъществява връзката от PC-inte и PC-diff. |
− | + | C:/>tracert ip_address | |
% Заменете ip_address със адреса, до който тествате връзката | % Заменете ip_address със адреса, до който тествате връзката | ||
Line 320: | Line 341: | ||
Проверете възлите, през които се осъществява връзката от PC-inte и PC-diff | Проверете възлите, през които се осъществява връзката от PC-inte и PC-diff | ||
+ | == Cisco == | ||
+ | Опитната постановка да се реализира на лабораторните cisco рутери. | ||
+ | [[IOS CISCO команди]] | ||
[[Category:Компютърни мрежи| ]] | [[Category:Компютърни мрежи| ]] |
Latest revision as of 09:13, 5 February 2013
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
или
$/> 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 рутери.