Tartalomjegyzék
Szeretjük a Mikrotiket. :)
A Mikrotik a Lett Köztársaság egyik legfontosabb export terméke. A Mikrotik hálózati eszközök komoly igényeket is kielégítő hálózati útválasztó (router) és switch eszközök, melyek tudásukban felveszik a versenyt némely többszázezer forintos ismertebb márka termékeivel - de mindezt töredék áron. Szakmai körökben elismert és kedvelt márka, szívesen használják hosting cégek, internet szolgáltatók és vállalti rendszergazdák - és mi. Összegyűjtöttük azokat a leggyakrabban használt funkciókat, amelyeket kedvenc routerünk, a Mikrotik beállításoknál szoktunk elvégezni. A beállítások haladó szintű informatikai képzettséget feltételeznek, ezért ha nem biztos a dolgában, inkább bízza a céges router beállítását rendszergazdánkra.
A beállításokat a Mikrotikhez ajánlott WinBox nevű programmal Windows alól végeztük. A program letölthető a Mikrotik weboldaláról. Természetesen az itt leírt funkciók beállíthatók a webes felületéről (WebFig) is (a router IP címén a 80-as porton), vagy Mac felhasználók számára elérhető a Wine keretrendszerben OSX operációs rendszer alatt futó Winbox is. (Az Apple Store-ban elérhető TikTool nekem nem működött.)
VPN szerver beállítása
A PPTP (Point-to-Point Tunneling Protocol) VPN megoldás mára kissé elavultnak mondható, és vannak már biztonságosabb VPN megoldások is. Mindazonáltal, ha a vállalkozásunk nem NASA beszállító, akkor még mindig jól használható megoldás lehet a PPTP VPN, mert a régebbi eszközök is tartalmazhatnak ilyen VPN klienst, és kisebb teljesítményű eszközökön is elég gyorsan fut. A PPTP tulajdonképpen egy VPN bújtatóprotokoll, a Point-to-Point protokoll (PPP) kibővítése, és a PPP hitelesítési, tömörítési és titkosítási mechanizmusainak előnyeivel. (Valójában a PPTP nem is biztosít titkosítást, a VPN-kliensek az MS-CHAP vagy az EAP-TLS hitelesítésnél generált kulcsokkal titkosíthatják a PPP-tartalmakat. A PPTP egy korábban már titkosított PPP-keretet ágyaz be.)
Az IP/Pool menüpontban a kis „+” jel segítségével adjunk hozzá egy új pool-t. Nevezzük mondjuk pptp-pool-nak. Azt az IP cím tartományt kell itt megadnunk, amelyből kiosztásra kerül majd a felcsatlakozott VPN kliensek IP címei. Célszerű a helyi gépek címeitől eltérő címtartomány meghatározása. Pl. ha a helyi gépeknek a 192.168.0.11-től osztunk iP címeket mondjuk 192.168.0.50-ig, akkor jó megoldás lehet, hogy a VPN klienseknek osszunk címet mondjuk 192.168.0.51-től valameddig. (A 10 alatti címeket általában érdemes meghagyni azoknak az eszközöknek, amelyek fix IP címet kívánnak, pl. nyomtatók, NAS-ok, szerver, stb.)
A következő lépésben a PPP/Interface a PPTP server gombra előbukkanó ablakban kapcsoljuk be a PPTP szervert. Előfordulhat, hogy a régebbi eszközök támogatásához be kell kapcsolnunk a CHAP és/vagy a PAP authetikációt is, de ezek már elavultak, kevésbé biztonságosak. Ha lehet kerüljük el a használatukat.
Harmadik lépésként még mindig a PPP menüpont „Profiles” fülén a „+” gomb segítségével adjunk hozzá egy újabb profilt. Hívjuk „pptp-profile”-nak. Alatta jelöljük ki mindkét címtartománynak az előzőekben létrehozott „pptp-pool”-t. A DNS szerverek megadása nem kötelező. Ha megadjuk, a VPN kliensek ezeket a DNS szervereket (is) használják majd névfeloldásra.
Ugyanitt a „Secrets” fülön adhatjuk hozzá azokat a felhasználó(ka)t, aki(k) később csatlakozhatnak a VPN szerverhez. Profilként válasszuk ki az imént létrehozott „pptp-profile”-t. Adjunk megfelelően erős jelszót!
Következő lépésben nyissuk ki a tűzfalon a két szükséges portot. Menjünk az IP/Firewall menüpontba és a már megszokott kis „+” jel segítségével a „General” fülön adjunk hozzá egy új szabályt az „input” lánchoz: a TCP protokollt engedjük be a 1723-as portot a kép szerint:
Az „Action” fülön állítsuk be az „Accept” lehetőséget, majd okézzuk le.
Hasonlóan kell engedélyeznünk a 47-es (GRE - Generic Routing Encapsulation) protokollt is. Mindkét szabály húzzuk fel a listában a legutolsó „drop” szabály fölé! Érdemes kommenttel is ellátni, hogy később is emlékezzünk rá miért is nyitottuk ki ezt a két portot.
Végül a praktikus használat érdekében ne felejtsük el az Interfaces menüpont Interface fülén a „bridge-local” hídra (ez elvileg az alapértelmezett konfigurációban benne van) a „proxy-arp”-ot engedélyezni. (Ha ugyanabból a tartományból osztjuk a VPN kliensek IP címeit mint ahonnan a helyi hálón lévő eszközök címeit, akkor nem tudunk L3 szintű route-olt hálózatot csinálni, csak L2 szintűt, ahhoz meg proxy ARP kell)
Ezzel a VPN szerver használatra kész. A kliensek beállításához itt talál segítséget.
L2TP szerver beállítása IPSec titkosítással is nagyon egyszerű, ebben az esetben a 1701, 500, 4500 UDP portokat kell kinyitni, és a PPP panelen be kell kapcsolni az L2TP szervert. Kapcsoljuk be a „Use IPsec” jelölőkockával az IPsec titkosítást, és meg kell adni egy egy „IP sec secret”, azaz egy előre megosztott kulcsot. A „Default profile:” legördülő menüben a „default-encryption”-t válasszuk.
Vendég WiFi kialakítása
A vendég WiFi létrehozása sok esetben feladat. Most létrehozunk a Virtuális AP segítségével egy másodlagos (vendég) WiFi-t, amihez csatlakozva csak „kifelé” az internet irányába lesz út, azaz a privát hálózatba nem „lát át” a vendéghez csatlakoztott eszköz. A privát hálózat 192.168.7.x, a vendég 192.168.11.x hálózat lesz. Kattintsunk a Wirelles menüpontra, majd a megjelenő panelen az „Interfaces” fülre, ott pedig a „+” jelre, és válasszuk ki a „VirtualAP” lehetőséget.
Adjunk neki valami tetszés szerinti nevet, majd lépjünk át a „Wirelles” fülre.
Adjunk neki SSID nevet (ez fog látszani a WiFi-k listájában). A „Security Profile”-t egyelőre ne bántsuk, a „Master Interface” is maradjon a wlan1 (ha az alapértelmezett nevet nem módosítottuk). Okézzuk le, zárjuk be.
Az „Interfaces” fül alatt meg kell jelennie a VirtualAP-nak:
Menjünk az „IP” menüpont „Addrsses” fülére.
Kattintsunk a „+„ikonra, majd adjunk egy új IP címet az új interface-nek. Természetesen a 192.168.11.0 hálózattól eltérő hálózatcímet is definiálhatunk, de erre legyünk tekintettel a továbbiakban is. Okézzuk le, menjünk tovább.
Következő lépésként az „IP” főmenüpont „DHCP server” almenüpontjában létrehozunk egy új DHCP szervert, amely a címkiosztást végzi majd a vendég hálózatunknak. A „DHCP” fülön kattintsunk a „DHCP setup” gombra. Válasszuk ki az „AP-guest”-et, majd Next.
Elfogadjuk az alapértelmezett címteret, majd Next.
Elfogadjuk a felkínált átjárót, majd a pool-t, a DNS szervert (de magadhatunk számunkra szimpatikusabbat is) és Next.
Ha minden ok, akkor a következő panel fogad minket:
Ennél a lépésnél egyébként ki is próbálhatjuk az újdonsült vendég WiFinket, működnie kell. (Ugyanaz lesz a jelszava, mint a privát hálózat jelszava, mert ugyanazt a „Security Profile”-t használjuk. Ráadásul semmiféle sebességkorlát nincs, azaz akár a teljes sávszélességet is „elfogyaszthatná” a kedves vendég. Ezekre még visszatérünk.) Ha precízek vagyunk, ellenőzizhetjük az IP címet, hogy ténylegesen az új tartományból osztotta-e ki. Valószínűleg a 192.168.11.254-et kaptuk. A következő lépés a tűzfal konfigurációja. Ha itt megállnánk, akkor is működne, csak a két hálózat „átlátna” egymásba, tehát a vendégeink vígan böngésznének a privát hálózatunkon, ez pedig egy vendég WiFi esetében ritkán cél. A következő tűzfal beállításokkal megakadályozzuk ezt. Lépjünk be az „IP”/„Firewall” menüpontba, majd szokásunk szerint új szabály hozzáadásához kattinsunk a kis ”+” ikonra bal felül. Adjuk hozzá az alábbi szabályt, majd okézzuk le:
Hozzuk létre ennek a szabálynak a „tükörszabályát”.
Ezzel a két szabállyal eldobjuk a 192.168.7.0 hálózatból a 192.168.11.0 irányába menő forgalmat, és ugyanezt tesszük a 192.168.11.0 hálózatból a 192.168.7.0 irányába menő forgalommal. Azt gondolnánk, hogy most hátradőlhetünk mert teljesen szeparáltuk a két hálózatot, de tévednénk. Ezzel csak a routeren ÁTMENŐ forgalmat akadályoztuk meg, a ROUTERBE irányuló forgalmat nem. Ez azt jelenti, hogy a 192.168.11.0 hálózatból a vendégek képesek lennének a routernek címzett forgalmat előidézni (ping, belépési kísérlet, stb.) A jó rendszergazda paranoid alkat, így hát ezt az utolsó kiskaput is bezárjuk a kedves vendégek előtt. Létre kell hoznunk még egy szabályt, de nem a „forward” láncra, hanem az „input”-ra.
Ha bővíteni szeretnénk az otthoni hálózatot még egy mikrotik eszközzel, akkor az alábbi lépésekre is szükség lesz:
itt a NAT fülön addjunk hozzá még egy szabályt az alábbiak szerint:
Ha nem indul el a forgalmazás a wendég wifin keresztül nem töltődnek be az oldalak akkor az ether 1 gateway helyett válasszuk a bridge local opciót !
És ne felejtsük el az action fülön beállítani a Masquerade opció kiválastását sem.
Vajon most már hátradőlhetünk-e? Persze hogy nem. Van itt még valami. Ha feltételezzük, hogy a vendégeink borzasztó gonoszak, akkor joggal feltételezzük, hogy két pohár sör között lesznek kedvesek megkísérelni belépni a routerbe. Szórakozóhelyen és egyéb nyilvános WiFinél pedig csak idő kérdése, hogy akad egy szorgalmas és vállalkozó kedvű unatkozó szabadnapos kolléga, aki kikapcsolódásképpen megpróbál bejutni a rouerbe, hogy ott hasznos beállításokat tegyen. Ha mi ezt nem szeretnénk, akkor egy egyszerű szabállyal megakadályozhatjuk, hogy a routernek címzett (nem az átmenő!) forgalmat eldobjuk. Ehhez nem kell más, csak még egy szabályt létrehoznk a tűzfalban a már ismert módon az alábbi paraméterekkel:
Szemfüles olvasók észrevehették, hogy ez utolsó szabály tulajdonképpen megfelel az egyik fenti szabálynak, annyi különbséggel, hogy ott megadtunk cél hálózatot, itt pedig nem. Ez így igaz, ha az egyik fentiből kivesszük a céltartományt ugyanezt kapjuk, azt is csinálhatjuk, ahogy tetszik. Akkor egy szabállyal kevesebb. Ha viszont két szabály van, szükség esetén könnyebb őket kapcsolgatni. Ha mindent jól csináltunk, akkor ilyesvalamit látunk a tűzfalban:
Ne felejtsük el az egész szabálycsomagot felhúzni a lista tetejére, mert a szabályok végrehajtása sorrendben, felülről lefelé történik. Ha van előtt egy szabály ami „megfogja” a forgalmat, akkor az adott forgalomra az lesz érvényes.
Van még egy fontos beállítás, ami mellett elegánsan elmentünk. Ez pedig az, hogy mit kell tennünk, ha azt szeretnénk, hogy a Vendég WiFi-nek ne legyen jelszava, vagy legyen, csak ne egyezzen meg a privát WiFi jelszavával. Nos, az előbbi esetben nincs sok teendő, a „Wirelles”/„Security profiles” fülön hozzunk létre egy új biztonsági profilt, legyen a neve mondjuk „no_pass”. A Mode kapcsolót pedig állítsuk „None” állásba.
Az így létrehozott biztonsági profilt társítsuk a virtualAp-hoz, és kész is vagyunk:
Ha azt szeretnénk, hogy eltérő jelszava legyen a vendég WiFi-nek és a privát WiFi-nek, akkor sem sokkal bonyolultabb a dolgunk: létre kell hozni egy biztonsági profilt a „Security Profiles” fülön azzal a jelszóval, amit szeretnénk a vendég WiFi-nek, és hozzá kell társítanunk az „ap-guest” nevű virtualAP-hoz.
A jelszó nélküli verzióval azonban járjunk el körültekintően. Könnyen átjáróházat csinálhatunk ugyanis a routerből, sőt: órák alatt feketelistára kerülhet az IP címünk a spemmelők miatt. Ha nem akarunk jelszót beállítani, akkor naplózásra, erős sávszélesség-korlátozásra, és más biztonsági intézkedésekre is szükség lesz.
Mikrotik javasolt biztonsági beállításai
A Mikrotik alapvetően egy nagyon stabil és magas biztonságot nyújtó eszköz. Érdemes azonban néhány olyan beállítást elvégezni, amivel jobban személyre szabjuk a paramétereket. Ezeket a beállításokat javarészt a tűzfal beállításaiban (IP/Firewall) eszközölhetjük. Amennyiben a Mikrotiket otthon használjuk, akkor igen könnyű a dolgunk, mert kívülről alapvetően minden portot bezárhatunk. A tűzfalban a „Filter Rules” fülön a „+” ikon segítségével adjuk hozzá az alábbi szabályt:
Chain = „input”, Interface = „ether1-gateway” (vagy ahonnan az internet jön)
Ezzel az összes csomagot eldobjuk, amely az internet felől jön, és a router a címzettje. Figyelem: ezzel a beállítással kívülről nem lehet elérni a routert, így nem működnek többek között az alábbi szolgáltatások:
- Kívülről konfiguráció
- VPN
- Belső hálózaton üzemelő eszközök elérése (webszerver, NAS, stb.)
Konfigurálhatjuk úgy is a tűzfalat, hogy pl. csak egy bizonyos protokoll, vagy egy bizonyos portra érkező csomagokat dobjon el. Az alábi példa egy DNS DoS támadás elleni védekezést mutatja be. (Ez a támadás típus elég gyakori.) Ebben az esetben a fenti szabályt az alábbi módosítással alkalmazzuk:
Bizonyos esetekben az ETHER1-GATEWAY interfész helyett a PPPOE betárcsázáshoz használt „PPPOP-OUT1” interfészről jövő csomagok eldobása is hasonló eredményt hoz. Ezen felül javasoljuk az alábbi beállítások megfontolását (felhasználástól függően):
- az IP/Services menüpontban a szükségtelen funkciókat kikapcsolni, és/vagy alternatív porton üzemeltetni
- A WiFi hálózatnál MAC alapú ACL listát használni
- Az „invalid” csomagokat az input és a forward láncon is eldobni mielőbb.
Webszerver kívülről történő elérésének beállítása
Sok esetben szükség lehet arra, hogy egy belső hálózatban működő eszköz valamely szolgáltatását elérhetővé tegyük a külvilág számára. A legáltalánosabb talán a webszerver, amelyet a hagyományos, 80-as porton publikálunk. 80-as port helyett bármilyen más portot is megadhatunk.
- Navigáljunk az IP/Firewall menüponthoz
- Kattintsunk a NAT fülre
- A „+” gomb segítségével adjunk hozzá új szabályt
A „To-addresses” az az IP cím, ahol a szolgáltatást nyújtó webszerver üzemel, „To-Ports” pedig a portja. (Lehet a publikált port és a webszerver portja eltérő is.) Ha a Mikrotik PPPOE kapcsolattal használ internetet, a bejövő interfész (In.interface) lehet a pppoe-out1 is.
Weboldalak elérésének tiltása Layer7 alapú szabályozással
Többféle megoldás is van arra, hogyan blokkoljunk bizonyos weboldalak elérését a Mikrotik LAN oldalán. Az egyik ilyen a „Layer7” alapú blokkolás. Ilyenkor a routerben létrehozott tűzfal szabály megnézi, hogy a kért weboldal címében szerepel-e egy adott kifejezés, és ha igen, akkor engedélyezi, vagy éppen tiltja azt. Ennek a beállítása igen egyszerű:
Lépjünk be az IP/Firewall menüpontba:
Válasszuk ki a „Layer 7 protocols” fület:
A kis „+” jel segítségével adjunk hozzá egy bejegyzést. A neve legyen mondjuk „Block”. A Regexp legyen mondjuk:
^.+(youtube.com|facebook.com).*$
Ezzel a youtube.com és a facebook.com elérését tiltjuk. Több oldal is felvehető ide a | szimbólumot használva elválasztó karakterként.
Okézzuk le, majd adjunk hozzá egy új tűzfal szabályt a „Filter rules” fülön a „Forward” lánchoz:
Az „Advanced” fülön állítsuk be az imént létrehozott Layer 7 protocol-t:
Utolsó lépésként az „Action” fülön állítsuk be a „Drop” actiont, hogy dobja el a csomagokat.
Ezzel készen is volnánk. Bátrabbak a Terminálból szövegesen kiadott paranccsal is létrehozhatják ugyanezt:
/ip firewall layer7-protocol add name=Block regexp="^.+(youtube.com|facebook.com).*\$" /ip firewall filter add action=reject chain=forward layer7-protocol=Block
Itt is fontos szabály, hogy a tűzfal sorrendben értékeli ki az egyes szabályokat, tehát bármelyik céllal is hozzuk létre ezt a szabályt, ügyeljünk rá, hogy ne legyen előtte mindent elengedő vagy mindent tiltó szabály! Mint az elején említettem, nem feltétlenül ez az egy megoldás létezik a problémára, át kell gondolni, hogy melyik a célszerűbb.
Ugyanerre a feladatra írhatunk IP címeket tiltó szabály(oka)t, vagy proxyval eltéríthetjük a nem megengedett oldalakat.
Mikrotik beállításainak mentése
Esetenként (igen ritkán) szükség lehet arra, hogy újratelepítsük/reseteljük a Mikrotiket (Mi kb. kéttucatnyit üzemeltetünk, öt évente egy esetben van rá szükség…). Ebben az esetben gyorsítja a munkát, ha vissza tudjuk tölteni a beállításokat. Ehhez az alábbi lépéseket kell elvégeznünk. Mikrotik konfigurációjának mentése „test” néven:
Nyissunk meg egy New terminal ablakot és adjuk sorban az alábbi utasításokat a mentéshez:
[admin@MikroTik] system backup [admin@MikroTik] system backup> save name=test Configuration backup saved
Mikrotik konfigurációjának visszatöltése „test” nevű mentésből:
[admin@MikroTik] system backup [admin@MikroTik] system backup> load name=test Restore and reboot? [y/N]: y
Internethozzáférés LTE modemen keresztül
Előfordulhat, hogy szükség van arra, hogy Miktorik routeren keresztül használjunk USB-s LTE modemet. (Akár tartalék internetként.) A beállítás viszonylag egyszerű. Először a System/Resources menüpontban ellenőrizzük, hogy a routerünk látja-e a modemt. Ezt kell látnunk ott:
(Jelen esetben az alsó, az Alcatel a modem.) Ha így van, akkor elvileg az Interfaces menüpont alatt az LTE fülön meg kell jelennie a modemnek, jelen esetben lte1 a neve.
Ha a részleteit megnézzük, akkor ezt kapjuk. Nem kell semmit konfigolni (kikapcsolt PIN kódnál). Ez egy telenor modem.
Az IP/DHCP client menüpontban állítsunk be egy DHCP klienst a lte1 interfészre.
Az lte1 interfészen keresztüli pinggel ellenőrizzük, hogy működik-e:
Amennyiben csak a Mobilnetet kívánjuk használni, az IP/Firewall fülön válasszuk ki a NAT opciót, itt keressük meg a 0 (::defconf:mascarade)sort, kattintsunk rá kettőt és állítsuk át az Out interface-t LTE-1 -re. Ha mindent jól csináltunk elindul a forgalmazás.