Добре дошли

Казвам се Илия и на този сайт ще споделям теми, които ме интересуват и са част от работата или хобитата ми.

върнете се в началото

За да видите всички ресурси на сайта моля влезте с акаунта си

Повечето публикации на сайта ми са свързани с широко приложими теми, но някои са насочени към много тясна област, която е интересна са малък кръг от хора.

вход

Access Downloads

Lorem ipsum dolor sit amet, his ea mollis fabellas principes. Quo mazim facilis tincidunt ut, utinam saperet facilisi an vim.

Start Using Our Products

За връзка с мен

Имате предложение или се интересувате от конкретна тема, която искате да видите на сайта - може да ми пишете.

info@sevenphotography.eu

| | |

Thanks for staying tuned!

Lorem ipsum dolor sit amet, his ea mollis fabellas principes. Quo mazim facilis tincidunt ut, utinam saperet facilisi an vim.

Join Us Today!

Домашен рутер с Mikrotik hAP lite

Mikrotik hAP lite е ценово достъпно устройство за домашни потребители предлагано от Латвийската компания Mikrotik. В тази тема ще Ви покажа как да направите базова конфигурация напълно достатъчна за домашни потребители. С нейна помощ ще можете например да разпределяте по равно предоставената Ви от доставчика скорост между всички свързани към рутера устройства. Също така в отделна тема ще Ви покажа как да я надградите с възможности, които ще Ви позволят да работите от вкъщи все едно сте в офиса на компанията. Още полезна информация на български език за RouterOS може да намерите в книгата „Основи на MikroTik RouterOS

Ще работим по следната схема:

Network sheme

Всяко устройство от Mikrotik идва с предварително заредена демо конфигурация. Първата стъпка след като включим устройството и се свържем към него чрез Winbox ще бъде да изтрием тази конфигурация. По подразбиране потребителското име е admin и няма зададена парола. Това става от първият екран, който ще се появи.

Remove default config

Сега трябва да разпределим интерфейсите на устройството – ще определим към кои от тях ще бъдат свързани клиентите и към кои Интернет доставчика или доставчиците. В отделна тема ще Ви покажа как можем да имаме два Интернет доставчика – основен и резервен, в случай че първият отпадне по някаква причина да се преминава към резервният за да имаме винаги Интернет. Нашето устройство разполага с четири жични и един безжичен интерфейс. Първият Ethernet интерфейс ще използваме за да се свържем с нашият доставчик на Интернет, вторият за сега няма да го използваме, а към третият и четвъртият както и към безжичният интерфейси ще свържем клиентите.

Нашето устройство разполага със switch чип, който позволява директна комуникация между клиентите свързани към жичните Ethernet интерфейси с максимална скорост от 100 Mbps без това да натоварва процесора на рутера. Това е полезно например когато прехвърляте голям файл между два компютъра през мрежата. За да активираме тази функционалност трябва да определим един от Ethernet интерфейсите като Master, а останалите като Slave. В конкретният случай имаме два компютъра свързани към 3-ти и 4-ти порт на рутера, за да е възможно те да комуникират директно един с друг без това да натоварва рутера определяме 3-ти порт като Master, а 4-ти като Slave. За целта отваряме Interfaces, двукратно кликваме върху ether4 и от падащото меню за Master port избираме ether3.

Switch config

Комуникацията между жично и безжично свързаните устройства в нашата локална мрежа не може да бъде осъществена директно. Това ще става чрез процесора на рутера. За целта ще създадем Bridge интерфейс и в него ще включим Master порта на жично свързаните клиенти и безжичният интерфейс.

Bridge interface

След като сме създали Bridge интерфейса трябва да добавим двата порта /ether3 и wlan1/ в него. Това става от същият прозорец, но в таба Ports.

Bridge interface

С всичко направено до тук изградихме логическа връзка между устройствата в нашата локална мрежа. След като завършим конфигурацията това ще им позволи да се свързват едно с друго за да обменят например файлове по между им. За сега ще оставим нещата с локалната мрежа на този етап, ще продължим с нейната конфигурация след като настроим рутера да се свързва с Интернет. За целта ще използваме предоставените ни от доставчика настройки от нашата схема. Ще започнем като зададем даденият ни IP адрес на ether1 интерфейса, който определихме, че ще използваме за връзка с Интернет. Това става от менюто IP->Addresses.

Add WAN IP address

След това ще въведем IP адресите на DNS сървърите дадени ни от нашият доставчик. Това ще позволи на рутера да може да „намира“ IP адресите на Web сървърите за да се свърже с тях и Вие да можете да заредите например страницата на dir.bg в своят браузър. Компютрите не разбират „нашият“ език, а на нас ни е трудно да разбираме техният. За това като напишете в своят браузър dir.bg Вашият рутер ще „попита“ DNS сървъра „кой е този dir.bg и къде да го намеря“ и ще получи отговор, че този сайт се намира на сървър с IP адрес 194.145.63.12 Това вече е разбираемо за Вашият рутер и той ще изпрати заявка към сървъра, че Вие искате да видите този сайт, а сървъра ще му изпрати обратно всичко необходимо за да стане това възможно. DNS сървърите се въвеждат от менюто IP->DNS като не забравяйте да отметнете „Allow remote requests“. Това ще позволи на Вашите клиенти да „питат“ направо рутера за адресите на сайтовете, вместо всеки път да отправят запитване директно към DNS сървърите на доставчика, което отнема повече време и процеса на зареждане на страниците се забавя.

Add DNS IP addresses

От всички IP адреси дадени ни от доставчика на Интернет ни остана само още един, който не сме въвели. Това е т.нар. Gateway. За какво служи той? Нашият рутер има „карта“ с всички дестинации, до които може да „пътува“. Тази карта обаче не е толкова подробна. Представете си, че искате да пътувате от Пловдив до Варна, но знаете само как да стигнете до Шумен. Тук обаче на помощ Ви идва Ваш приятел, който е професионален шофьор от 20 години и ще Ви обясни как да стигнете от Шумен до Варна и така вече ще знаете целият маршрут и може да тръгвате. Този приятел за Вашият рутер е точно Gateway IP адреса. В примера със сайта на dir.bg след като Вашият рутер е разбрал къде се намира той, ще направи проверка в неговата „карта“ с дестинации и ще види, че там няма маршрут до 194.145.63.12 Тогава заявката, че Вие искате да отворите сайта dir.bg ще бъде изпратена към Gateway адреса, който вече „знае“ всички маршрути. Реално Вашият Gateway отново не знае всички маршрути, но „знае“ кой „приятел“ да попита. Всичко това се повтаря няколко пъти докато бъде достигнат адреса на сайта и се зареди съдържанието му във Вашият браузър. Въвеждането на Gateway адреса става от менюто IP->Routes. На картинката се вижда, че за дестинация е посочено 0.0.0.0/0, което в превод означава „всичко до което не знаеш как да стигнеш“, а като „човека, който ще ти каже как да стигнеш“ е посочен Gateway адреса.

Add default route

Ако сте въвели правилно всичко до тук, Вашият рутер вече трябва да е свързан с Интернет. Това можем да проверим като отворим нов терминален прозорец и на командният ред напишем /tool traceroute dir.bg От гледна точка на моят тестов рутер, който използвам за да напиша тази тема, за да достигне dir.bg са му необходими общо седем „приятеля“ които трябва да бъдат „попитани“ за маршрута. Всеки от тях знае само по една част от него, но също така знае и кого да попита за следващата. Колоната в ms показва времето за „изминаване“ на всяка отсечка от маршрута до крайната цел.

Traceroute dir.bg

След като вече Вашият рутер има достъп до Интернет би било неучтиво от негова страна да го запази само за себе си. Сега ще се върнем на нашата локална мрежа от схемата и ще Ви покажа как да споделите Интернет връзката с всички устройства в нея. Спомняте си, че създадохме Bridge интерфейс, чрез който жичните и безжичните клиенти да комуникират по между си. Именно той ще бъде за устройствата в локалната мрежа „приятеля“, който знае всичко. За да бъде това възможно първо трябва да му дадем IP адрес, за да знаят Нашите устройства къде да го намерят. Това отново става от менюто IP->Addresses.

Add LAN IP address

По този начин устройствата в локалната мрежа когато не знаят как да стигнат до dir.bg ще попитат „приятеля“ си живеещ на адрес 192.168.73.1 За да могат обаче да го сторят трябва да „живеят“ на една и съща улица с него. Или в нашата конфигурация това означава, че адресите им трябва да бъдат от 192.168.73.2 до 192.168.73.254 Ако трябва да направя аналогия отново с улицата това означава, че 192.168.73.хх е името на улицата, а последната цифра е номера на къща от тази улица. За да става това лесно е създаден DHCP протокола. С негова помощ Вашият рутер ще назначава автоматично адрес на всяко едно устройство в локалната мрежа, ще следи да няма дублиращи се адреси и също така ако някое устройство напусне Вашата „улица“ и се премести на съседната, след определен период от време ще освобождава неговият адрес за да може на него да се „настани“ ново устройство. Конфигурирането на DHCP сървъра става на няколко стъпки. Първо ще създадем област от адреси, които Вашият рутер може да раздава /назначава/ на устройствата в локалната мрежа. Това става от менюто IP->Pool и както казах в конкретната конфигурация можем да използваме адресите от 192.168.73.2 до 192.168.73.254 Разбира се може да не използвате цялото адресно пространство, а само част от него. Например може да зададете, че DHCP сървъра може да назначава на клиентите само адресите от 192.168.73.100 до 192.168.73.158 Колко голям да бъде „басейна“ с адреси решавате Вие като прецените максималният брой устройства, които се очаква да имате във Вашата локална мрежа.

Add DHCP pool

След това трябва да настроим DHCP сървъра да „съобщава“ на устройствата, че те „живеят“ на улица 192.168.73.хх и че ако не знаят например кой е този dir.bg и как да стигнат до него могат да се обръщат към „приятеля“ си живеещ на адрес 192.168.73.1 Това става от менюто IP->DHCP Server в таба Networks.

Add DHCP network

Сега вече сме готови да създадем DHCP сървъра. Това става от менюто IP->DHCP Server в таба DHCP. Параметрите, които трябва да зададем са:
– за устройствата свързани към кой интерфейс трябва да назначаваме автоматично адрес – казахме, че всички устройства в нашата локална мрежа са свързани към bridge1 интерфейса;
– какво е максималното време, през което Вашият рутер ще назначи и запази за някое устройство даден адрес. Тук избора на време се определя от това колко често устройства ще напускат нашата локална мрежа и ще идват нови. Например в едно кафене е по-добре да зададем по-кратко време, тъй като там хората най-често не се задържат повече от час и съответно заедно с тях и мобилните им телефони или лаптопи. В случая за нашата малка домашна мрежа съм избрал време от 4 /четири/ часа;
– последният параметър, който трябва да зададем е от кой „басейн“ с адреси да раздава на устройствата Вашият рутер. Тук избираме pool1, който създадохме;

Add DHCP server

До сега няколко пъти споменах жично и безжично свързаните устройства. За двата компютъра от нашата схема е достатъчно да ги свържем с пач кабел към портове 3 и 4 на hAP lite, но за лаптопа и двата мобилни телефона трябва първо да конфигурираме безжичният интерфейс на рутера. Ще зададем име на безжичната мрежа /SSID/, например „Ivanovi“ и парола за свързване към нея „parolata“. Останалите параметри, които съм отбелязал на картинката за сега просто ги направете по същият начин. В отделна тема ще разгледам подробно какво е тяхното значение. Имайте предвид, че паролата не може да бъде по-кратка от 8 знака и първото нещо, което трябва да направите е да включите безжичният интерфейс като натиснете синьото тикче, което съм заградил на картинката. След това с двукратно кликване върху името на безжичният интерфейс отворете настройките и ги направете както на картинката. Разбира се може да си изберете Ваше име /SSID/ на мрежата.

Wireless settings

Настройката на паролата става от същият прозорец, но в таба Security Profiles. Отново отварянето на настройките става с двукратно кликване върху името на профила. Може да си изберете Ваша парола, не по-кратка от 8 символа, а всички останали настройки в прозореца ги направете както съм ги отбелязал. За тях отново ще говорим в отделна тема.

Wireless settings

Сега всичко би трябвало да е готово и нашите устройства да могат да използват Интернет, но с изненада ще установите, че това не е така. Отново в отделна тема ще говорим защо това е така. Тук ще използвам абстракцията с улицата и най-просто казано всички „живеещи“ на определени адреси нямат право да напускат своята улица за да отидат до магазина да напазаруват например. За да се избегне това ограничение, посредник, живеещ на адрес, от който може да се отиде до магазина ще го предоставя временно за ползване на всички желаещи да пазаруват. Как ще направим това възможно в настройките на рутера – чрез използването на NAT. За целта ще отворим IP->Firewall и ще изберем таба NAT където ще добавим ново правило натискайки бутона „+“. Отново няма да се спирам защо трябва да направите настройките като на картинката. Просто ги направете по същият начин за сега. Обърнете внимание, че трябва да промените два таба – General и Action.

NAT settings

Сега е време да проверим имат ли вече нашите клиенти Интернет. За целта от единият компютър на нашата схема ще изпълня в терминален прозорец отново командата traceroute до сайта dir.bg и ако всичко е наред трябва да успея да го достигна.

Traceroute dir.bg

За накрая оставих едина много важна част от конфигурацията. Тя може да се изпълни и още в самото начало, но смятам, че при начинаещи потребители, към които е насочена тази тема е по-добре да бъде последна. В Mikrotik RouterOS действа правилото, че всичко което изрично не е забранено е позволено. Това дава възможност нашият рутер и клиентите му да бъдат атакувани и това например да доведе до претоварване на процесора му и спиране на услугите към клиентите – Интернет достъпа да речем. За да намалим този риск /никога един риск не може да бъде избегнат напълно/ ще изградим т.нар. Защитна стена (Firewall), която ще може да отблъсне голяма част от потенциалните атаки. Ще го направим на два етапа – първо ще защитим самият рутер и след това и клиентите зад него. Ще създам общо 9 /девет/ правила в защитната стена на рутера. Това е един минимум достатъчен според мен за домашни потребители. За по-сериозни приложения е необходимо много по-прецизно да се изградят правилата. Всички правила се изпълняват в реда, в който са подредени. За това е важно не само самото правило, но и поредният му номер. Ако например имам правило, което забранява достъпа до социалните мрежи за лаптопите на децата в къщата след 22:00 часа, но заедно с това преди него имам правило, което разрешава този достъп по принцип, моето забраняващо правило никога няма да бъде изпълнено. Ако разменя местата на тези две правила тогава ако някое от децата иска да отвори Фейсбук след 22:00 часа рутера виждайки, че заявката идва от лаптопа на детето няма да го позволи. В същото време ако аз се опитам да отворя Фейсбук след 22:00 часа тъй като моят компютър не е в списъка с компютрите на децата, забранителното правило ще бъде прескочено и ще бъде изпълнено следващото, което разрешава достъпа до социалните мрежи по принцип.
В защитната стена има три вериги. Input и правилата в нея защитават самият рутер, а Forward и правилата в нея защитават клиентите зад рутера. Третата верига Output за сега няма да разглеждам. Започваме с две правила, които ще поставим на първо място в нашата защитна стена. С тях ще пропускаме всички невалидни пакети все едно никога не са съществували. Това са пакети изпратени към нашият рутер или към някой от клиентите зад него, които не принадлежат към никоя съществуваща връзка. Малко неточно, но представете си ги като спам. На следващите две картинки показвам как да създадете тези две правила. Направете всичко точно както е на тях. Трябва да промените настройките в два таба – General и Action.

Drop invalid input

Drop invalid forward

С третото правило ще разрешим ICMP протокола в Input веригата. За сега го приемете като необходимост. В бъдеще може би ще разгледам подробно за какво служи той.

Allow ICMP input

Спомняте си, че рутера беше приятеля, който знае всичко за устройствата в локалната мрежа. Със следващото правило ще разрешим на всички в нашата локална мрежа да могат да се свързват с рутера за „въпроси“.

Accept lan input

Всяка връзка веднъж започната се превръща в Established или след това преминава в Related. Няма да се спирам подробно какво означава това, но трябва да разрешим тези два вида връзки в Input веригата, а по-късно ще направим това и в Forward веригата.

Accept established/related input

Накрая след като сме разрешили всичко необходимо в Input веригата ще добавим правило, което ще пропуска /забранява/ всичко останало.

Drop everything else input

С това минималният набор от правила за Input веригата е завършен. Започваме с Forward веригата. С първото правило ще разрешим единствено на устройствата в нашата локална мрежа да създават нови връзки в нея.

Allow new connections Forward

Казахме, че всяка нова връзка се превръща в Established или след това преминава в Related. Със следващато правило ще разрешим тези два вида връзки в Forward веригата.

Allow established and related connections Forward

Накрая след като сме разрешили всичко необходимо в Forward веригата, с последното правило ще забраним всичко останало в нея.

Drop everything else Forward

Ако сте изпълнили всичко до тук, Вашият рутер е готов за работа. Приятно сърфиране.