MikoAndras.hu

Mikó András

MAC-alapú kivétel Mikrotik hotspot-ba

Egy ügyfélnél korlátozott, felhasználói azonosítással ellátott Internet-hozzáférést kellett beállítani egy apartmanházban. Ezt meglehetősen hamar sikerült megoldani a bépített Mikrotik router hotspot moduljával.

A hotspot funkcionalitás beállítására több leírás létezik, ez kívül esik jelen írás keretein, egy már beállított hotspot-tal kezdünk.

Az aktuális fejlesztés során az apartmanokban található TV-ket a tulajdonos lapos, smart-TV-kre cserélte, így ezzel egy időben felmerült a TV-k Internet-re kötése. A kialakítással kapcsolatos feltételek:

  • az apartmanban legyen elérhető WiFi kapcsolat
  • a vendégek felhasználónév/jelszó hozzáférést tudjanak használni (a ház melletti járdán ne lehessen ingyenesen Internetezni)
  • a TV-k jelszó nélkül jelentkezzenek fel
  • a TV-ből kihúzott kábelt se lehessen jelszó nélkül használni


Az első két pont már eleve adott volt a korábbi rendszerből, így csak a harmadik és negyedik pontokat kellett megoldani.

WiFi és TV külön kábelen

WiFi és TV külön kábelen

A TV-k jelszó nélküli bejelentkezését könnyen meg tudtunk volna oldani, ha azokat a végpontokat a hotspot-szegmens helyett egy LAN-szegmensre kötjük, viszont ezzel lehetővé tettük volna, hogy a kábeleket a TV-ből számítógépbe átkötve azokon is jelszó nélkül lehessen netezni. Ez pedig szembe menne a negyedik ponttal.

Az alternatív ötlet a szoftveres beazonosítás. Itt érdemes megjegyeznem, hogy a rendszer jelen leírás szerinti kiépítésével csak a megkerülés megnehezítését kellett megoldani, nem pedig DoD hármas szintű titkosítást.

A szoftveres kivétel kialakítása a kábelezésre is jótékony hatással lett, mivel nem kellett új szálakat behúzni a rack szekrénytől, elegendő a meglévő router-AP-k egy-egy portját átkötni a TV-kre.

WiFi és TV egy kábelen

WiFi és TV egy kábelen

A kivétel alapja a TV MAC címének azonosítása a hálózati kommunikációban, illetve a mikrotik router hotspot-ra vonatkozó tűzfal szabályainak kiegészíthetősége.

A kívánt MAC címről érkező csomagokat a Mikrotik csomagfolyamat lehető legkorábbi pontján meg kell jelölni, hogy minden későbbi szabályt ennek megfelelően tudjunk módosítani. Ez a mangle::prerouting lánc:

Mangle általános fül

Mangle általános fül

Mangle haladó fül

Mangle haladó fül

Mangle akció fül

Mangle esemény fül

/ip firewall mangle
add chain=prerouting connection-state=new src-mac-address=74:00:00:00:00:5A
    action=mark-packet new-packet-mark=hotspotjump

Így az ezt követő szabályok során hivatkozhatunk a “hotspotjump” jellel ellátott csomagokra, további TV – illetve hasonló kivételt élvező eszköz – MAC címe esetén csak a csomagjelet kell feltenni, és a szabályok ugyanúgy vonatkoznak az új eszköz kommunikációjára is.

A hotspot modul engedélyezése után a kiválasztott porton beérkező teljes forgalom kérdés nélkül keresztülmegy a modulon, és szükség esetén azonosítási adatokat kér a klienstől. Ezt az azonosítási lépést kell kikerülni az engedélyezett eszközökről indított csomagokkal.

Ehhez két ponton kell módosítani az alapértelmezett láncot.

A nat::dstnat láncban a csomagokat a nat::hotspot láncba dobja a tűzfal, és itt kezdődik a forgalom protokollfüggő beazonosítása és a hozzáférés-jogosultság ellenőrzése.

A második pont a filter::hs-unauth lánc eleje. Ide kerülnek azok a csomagok, amik nem azonosított forrásból érkeznek.

Amennyiben ezen a két ponton beiktatunk egy-egy feltételes elágazást, akkor a kivételt élvező eszközeink csomagjaival el tudjuk kerülni a hotspot modult.

NAT::hostspot lánc

NAT::hostspot lánc

FILTER::hs-unauth lánc

FILTER::hs-unauth lánc

A megjelölt pontokon egyszerű return szabályt kell alkalmazni, a kívánt hatás eléréséhez:

hs-unauth->return általános fül

hs-unauth->return általános fül

hs-unauth->return esemény fül

hs-unauth->return esemény fül

/ip firewall nat
add chain=hotspot packet-mark=hotspotjump action=return place-before=14
/ip firewall filter
add chain=hs-unauth packet-mark=hotspotjump action=return place-before=26

Ez annyit tesz, hogy a csomagok a lánc további szabályai helyett a megelőző láncba kerülnek vissza.

Mit sikerült elérni

  • minden apartmanban elérhető WiFi hálózat
  • az új TV-k számára jelszó nélkül elérhető az Internet
  • a vendég számítógépeken WiFi-n és a TV-ből kihúzott kábeleken keresztül is csak jelszó megadásával lehet Internetezni

 

Comments are currently closed.

2 thoughts on “MAC-alapú kivétel Mikrotik hotspot-ba

  • Gazdi szerint:

    Szep jo napot

    Mi a megoldas ha tobb MAC cim van ? Mindegyiknek kulon kell megjelolo szabalyt letrehozni vagy van mod listahasznalatra is ? Pl beirni a MAC cimet a listaba es onnan arra mar kezelve van ?

    Elore is koszonettel !

    kms Reply:

    Kedves Gazdi,

    Elegendő a mangle:prerouting táblába felvenni a packet-mark szabályt minden MAC címhez, a kivétel többi részében már egyformán kerülnek kezelésre:

    /ip firewall mangle
    add chain=prerouting connection-state=new src-mac-address=74:00:00:00:00:5A
    action=mark-packet new-packet-mark=hotspotjump