Jak jsem se nasral na Mikrotik hAP ac^2 a vyměním ho za Turris Mox

Je Mikrotik zlo ?

Začal jsem si hrát s Mikrotikem hAP ac^2 a zdá se že jsem narazil na jeho limity o kterých se rozepíšu níže. Proto vyvstala potřeba nahradit zařízení jinak pro obsluhu běžné domácnosti naprosto dostačující a zároveň prozkoumat vody síťování s OpenWRT a zjistit jak na tom český výrobek stojí.

A teď tedy důvody proč jsem se rozhodl, že mi Mikrotik nestačí.

  • Chtěl si hrát s firewallem a zkusit si blokovat celé rozsahy Číny a Ruska přímo na hlavním routeru. Narazil jsem na pěkný skriptík co to řeší a nemusel jsem nic řešit. Prostě jsem si jen dal do mikrotiku časovač co spustil oný skript jednou denně a udělal refresh IPček podle zemí. Fungovalo to dobře do té doby než jsem upgradoval ROS. Bricknul se.
  • Abych to vyřešil musel jsem udělat Netinstall, nic jiného nepomáhalo
    • Netinstall – https://help.mikrotik.com/docs/display/ROS/Netinstall
    • Je dobrý mít utilitku Netsetman. Přepínání profilů a statických IP je pak pohodlnější z Windows.
    • Pro příště až to budu dělat tak je potřeba na Windows opravdu dodržet body níže
      • Deaktivovat Firewall
      • Mít puštěné jen jedno interface kde máš píchlý router – ncpa.cpl
      • Netinstall pustit s oprávněním správce ručně, protože se ten blbec nezeptá a kvůli tomu nefunguje TFTP server
  • Po nějaké době používání jsem si říkal, tak asi dobrý, všechno jede jak má. Udělám zase upgrade ROS. FAIL !!! Fuck you Mikrotik. To jsem se už nasral, protože jsem musel dělat zase Netinstall s rozestupem asi 3 měsíců, takže jsem si přesně nepamatoval co jsem pozapínal a povypínal. Jediné k čemu to bylo dobré, že jsem si to zopáknul a už si to sepsal abych příště věděl co mám v těch windows kde povolit. Aspoň je krásně vidět že dokumentace není až tak marná věc.
  • Po znovuzprovoznění routeru a mírně nasrané ženě že se nemůže koukat na netflix s hodinovým downtimem dávám do Mikrotiku poznámku že takovéhle skopičiny dělat jen když není doma a nepřizabije mě a jdu  zkoumat proč se tak děje.
    • Shodou okolností pár dní před tím než jsem to začal řešit nějaký chlapík napsal do komentářů blogpost že má problémy na mikrotikách po nasazení scriptu s pamětí. To mě nasměrovalo
    • Když se ten skript stáhnul a aplikoval se vyžralo to všechnu HDD paměť Mikrotik File list contains no Free space on HDD, FLASH
    • Po zprovoznění netinstallem mám jen 13% free ? WHAT ? Tváří se to že mi nabízí veškerou paměť, ale jen 2M jsou userspace. Když tam nahraju něco většího, posere se to.r/mikrotik - Storage on hap ac^2
    • Důvodem bylo to že si to ty pravidla mikrotik ukládá pravděpodobně na disk když script vykonává a ne do paměti. A stejně mi nějak nesedí ty počty se staženým listem a toho kolik mám mít volného místa. Navíc prý když se to ukládá do rootu, tak se to ukládá jen do RAM.
    • Nevídím kam to ukládá a co to dělá, zařízení není transparentní, můžu se jen domnívat.
      • Soubory si stáhnul někam kam nemá a něco přepsal.
      • Po aplikaci updatu se nekorektně update neaplikoval a systém havaroval. Make NETINSTALL great AGAIN
      • Rozebral jsem ho doufaje že narazím na nějakou konzoli kam se píchnu abych viděl co se děje. Našel jsem nějaký pinouty podle různých for, ale nepodařilo se mi z nich nic kloudného vyloudit. Částečně neúspěch přisuzuji i tomu, že mám převodník který na tom nedržel. Jsou tam jen zaletované nožičky
      • Zprovoznil jsem ho zase.
  • Nahrál jsem tam RoS verze 7 v domění že to bude víc stable. Ouha. Stejný trápení i v novém systému a navíc se choval dost podivně. Neukládal si konfigurace po rebootu když byla vyžraná ta paměť. Prostě neřízená střela.
    • Problém s pamětí jsem částečně vyřešil podle blogpostu týpka výše kde radí udělat záznam s timeoutem. Udělal jsem si na to narovnák přes ohýbák a vzal jiný zdroj IPček. Optimalizovaný CIDR rozsahy co by aspoň trochu měli snížit memory usage
    • #!/bin/bash
      
      ####
      
      COUNTRY_LIST="$@"
      DOWNLOAD_LIST=$(mktemp)
      PROJECT_DIR=$(dirname $0)
      CURR_DATE=`date "+%F"`
      OUTPUT_DIR=/var/www/html
      
      
      for country in `echo $COUNTRY_LIST | tr '[:upper:]' '[:lower:]'`
      do
        curl -s https://raw.githubusercontent.com/herrbischoff/country-ip-blocks/master/ipv4/${country}.cidr > $DOWNLOAD_LIST
      	  countryU=`echo $country | tr '[:lower:]' '[:upper:]'`
        awk -v curr_date="$CURR_DATE" -v awk_country="$countryU" -F "," 'BEGIN { print "#List downloaded at "curr_date
                     print "/log info \"Loading "awk_country" address list\""
                     print "/ip firewall address-list remove [/ip firewall address-list find list="awk_country"]"
                     print "/ip firewall address-list"}
                   { print ":do { add address=" $1 " list="awk_country" timeout=60d } on-error={} "}' $DOWNLOAD_LIST > $OUTPUT_DIR/${countryU}
        
      done
      #CLEANUP
      rm $DOWNLOAD_LIST
      
    • Takhle si cronem pak generuju listy dle potřeby /usr/local/bin/countrycidr2mikrotik.sh cz ru cn a servím to na apache odkud si to bere mikrotik
  • Už jsem si myslel že jsem vyhrál, ale ouha. Všechno bylo ok až zase do upgradu ROS, nová stable verze. Rikam si updatnu ho. Nebude problém. Paměť je. HOVNO MIKROTIKU !!!!!
  • To už jsem se ale opravdu nasral natolik že jsem začal psát na suport Mikrotiku i s tím jejich suppout filem. Vylil jsem si na nich svoje srdíčko s technickým popisem věci. Dokonce jsem jim tam dal i obrázky  a že tam je asi nějaký memory leak, když každý den updatuju list a paměť mi neustále narůstá a nezůstává stejná když po prvním importu listu mi zbývá cca 50MB. Těch pár řádků co to tam přidá a odebere by mělo být tak nějak stále konstantní využití paměti.
    • Po asi 4 dnech přišel mail kde bych nejradsi nekoho přetrhl.
    • Hello,
      Please update the version to the latest v7.2rc3 testing release. Let us know if the memory leak still persists.
      
      Best regards,
      Artūrs C.
    • Prostě seš pokusnej králík i když máš stable. Nainstaluj si rc verzi a dej nám vědět jestli je to OK. I když jim to nezazlívám ( jak by měli takovýhle bugy řešit – lidi reportují, mikrotik ladí ). Abych pravdu řekl, čekal jsem víc zájmu proč po každým updatu řeším Netinstall.
  • Pořídil jsem Mikrotika, protože je to levné zařízení a za ty prachy toho umí docela dost. Zvlášt ta verze 7 kdy přidali spoustu nových věcí a já si chtěl hrát s wireguard VPNkou. Čekal jsem že to bude dobrodružství, ale to že budu s každým upgradem OS mít downtime minimálně 30 min než udělám netinstall tak takové dobrodružství si nechám ujít. To je spíš křížová cesta se sysifoským kamenem na Mount Everest.
  • Mikrotiku Končíš ! ( půjdeš do nenáročného provozu 🙂 )

 

Turris is the way !

A teď to chci zkusit s Turrisem MOX. Poskládám si ho jak potřebuji a budu nad ním mít kontrolu protože je to opensource řešení postavené na OpenWRT s kterým nemám zkušenosti, ale nebojím se toho.

  • Je to český výrobek, který rád podpořím.
  • Nahradím switch
  • Budu mít dual wlan a bude se to chovat jakou router.
  • Snad bude hřát míň než všechno dohromady co mám teď v skřínce
  • Podpora vydrží doufejme stejně dlouho jako modrákovi
  • Pokud bude upgrade tak čekám že se vymění jen modul a ne celý router aspoň po nějakou dobu životního cyklu.
  • Z povzdálí jsem sledoval dění okolo turrisu a moc mu fandím a teď nastal čas se zapojit do komunity a troškou snad i přispět.

Komentáře

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.