Tutorial
RouterOS Containers: Docker MikroTikis
Käivita Docker-laadseid konteinereid MikroTik RouterOS v7-l: luba konteinerirežiim, seadista veth-võrk ja salvestus, juuruta ja halda suures mahus.
Kokkuvõte MikroTik RouterOS v7 suudab käitada Dockeriga ühilduvaid konteinereid otse ruuteril, nii et DNS-filtreerimine, seireagendid ja väikesed võrguteenused asuvad marsruutimistasandi kõrval, mitte eraldi seadmes. See juhend käsitleb riistvara- ja arhitektuurinõudeid, konteineri device-mode’i turvalist lubamist, veth- ja bridge-võrgu ehitamist NAT-iga, esimese konteineri juurutamist ja konteinerite haldamist kogu pargi ulatuses. RouterOS 7.23 (mai 2026) laiendas käivitusvalmis konteinerirakenduste kataloogi, muutes selle praktiliseks valikuks nii teenusepakkujatele kui ka laboriehitajatele.
Mis on Containers MikroTik RouterOS-il?
Containers MikroTik RouterOS-il on MikroTiki Linuxi konteinerite teostus, mis võimaldab RouterOS v7 seadmel käitada isoleeritud, Dockeriga ühilduvaid rakendustõmmiseid otse ruuteril. Need töötavad tõmmistega Docker Hubist, GCR-ist, Quayst ja muudest registritest, ning kuigi RouterOS kasutab docker-käsu asemel oma CLI-süntaksit, on aluseks olev käitumine sama — tõmba tõmmis, anna talle võrk, ühenda salvestus ja käivita see. (MikroTiki dokumentatsioon)
Teenusepakkuja või labori jaoks tähendab see, et väikesed võrgulähedased teenused saab paigutada marsruutimistasandi kõrvale: Pi-hole’i või AdGuardi DNS-filter, seireagent, pöördpuhverserver või IoT-bridge. Stabiilne väljalase RouterOS 7.23 25. mail 2026 lisas pika nimekirja käivitusvalmis rakendusi — sealhulgas paperless-ngx, nextcloud, lorawan-stack, birdnet-go ja Dockeri haldusliideseid nagu portainer ja dockge — koos uue lülitiga network-outgoing-access, mis takistab konteineril väljuva liikluse algatamist. (RouterOS 7.23 muudatuste logi)
Nõuded ja Riistvara
Container-pakett ühildub arhitektuuridega arm, arm64 ja x86 ning see tuleb paigaldada enne kõike muud. Kaugtõmmise tõmbamine vajab palju vaba ruumi, seega soovitab MikroTik välist salvestust seadme sisemise välkmälu asemel. (MikroTiki dokumentatsioon)
Planeeri väline andmekandja USB, SATA või NVMe kaudu, vormindatud RouterOS-i toetatud failisüsteemiga. MikroTik soovitab ketast, mis suudab vähemalt 100 MB/s järjestikust läbilaskevõimet ja 10K juhuslikku IOPS-i — aeglasemad kettad muudavad tõmmise lahtipakkimise piinavalt pikaks. Väldi konteineri köidete paigutamist sisseehitatud salvestusse, mis on väike ja kulub konteinerite kirjutusmustrite all. Väga piiratud välkmäluga seadmed peaksid kasutama eelnevalt ehitatud tõmmiseid ühendatud kettal, mitte tõmbama neid eemalt.
Luba Konteineri Device-Mode Turvaliselt
Konteinerid on vaikimisi keelatud ja nõuavad heal põhjusel sisselülitamiseks füüsilist juurdepääsu. Luba funktsioon käsuga:
/system/device-mode/update container=yesSeejärel ootab RouterOS, et kinnitaksid reset-nupu vajutuse või külmkäivitusega. See füüsilise kinnituse värav on tahtlik turvameede: kui konteinerirežiim on sees, saab konteinereid eemalt lisada, käivitada ja eemaldada, ning pahatahtlik tõmmis võib saada ruuteril kindlaks jalgealuseks. MikroTik on selles otsekohene — kui sinu RouterOS-i seade on ohustatud, muudavad konteinerid pahavara paigaldamise tühiselt lihtsaks ja kolmandate osapoolte tõmmistele puudub igasugune turvagarantii.
Käsitle konteinereid majutavat ruuterit täpselt sama turvalisena kui kõige vähem usaldusväärset tõmmist, mida sellel käitad. Juuruta ainult tõmmiseid, mida usaldad, hoia seade tulemüüri taga ja loe enne tootmises lubamist meie device-mode’i turvaliste toimingute juhendit.
Ehita Konteinerivõrk
Konteinerid vajavad internetti pääsemiseks virtuaalliidest, bridge’i ja NAT-i. Alljärgnev muster peegeldab Dockeri “bridge”-võrku. Loo esmalt veth-liides ja bridge, mis jagab selle lüüsiaadressi:
/interface/veth/add name=veth1 address=172.17.0.2/24 gateway=172.17.0.1/interface/bridge/add name=containers/ip/address/add address=172.17.0.1/24 interface=containers/interface/bridge/port add bridge=containers interface=veth1Üks veth saab teenindada paljusid konteinereid, ja täiendavate veth/bridge-paaride loomine võimaldab konteinerirühmi üksteisest isoleerida. Kui oled RouterOS-i bridge’imises uus, selgitab meie bridge’i seadistamise õpetus aluseks olevat mudelit. Seejärel lisa masquerade-reegel, et väljuv konteineriliiklus tõlgitaks — täielik pilt on NAT-i seadistamise juhendis:
/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.17.0.0/24Juuruta Oma Esimene Konteiner
Suuna register ja ajutine lahtipakkimiskataloog oma välisele kettale ning lisa seejärel tõmmis. Alljärgnev Pi-hole’i näide on kanooniline MikroTiki dokumentatsioonist:
/container/config/set registry-url=https://registry-1.docker.io tmpdir=disk1/tmp/container/add remote-image=pihole/pihole interface=veth1 root-dir=disk1/images/pihole name=pihole logging=yesKonteineri lisamine käivitab allalaadimise ja lahtipakkimise, kuid ei käivita seda. Kontrolli edenemist käsuga /container/print ja oota, kuni status=stopped, seejärel käivita see:
/container/start piholeLõpuks avalda teenus, suunates pordi ruuterilt veth-aadressile:
/ip firewall nat add action=dst-nat chain=dstnat dst-address=192.168.88.1 dst-port=80 protocol=tcp to-addresses=172.17.0.2 to-ports=80Pi-hole vastab nüüd ruuteri LAN-i IP-l. DNS-filtreerimise käitamine sel viisil on alternatiiv RouterOS-i sisseehitatud blokeerimisnimekirjadele — kui eelistad konteinerivaba teed, vaata meie RouterOS-i adlist-õpetust.
Halda Konteinereid Kogu Pargi Ulatuses
Üksik konteiner ühel ruuteril on lihtne. Teenusepakkuja jaoks on tegelik tegevuslik küsimus järjepidevus: sama tõmmis, sama veth- ja NAT-skeem, sama salvestuspaigutus ning samad start-on-boot- ja mälupiirangud igal seadmel. RouterOS annab sulle põhiehituskivid — start-on-boot=yes jääb taaskäivitusi üle elama ning memory-high või memory-max piiravad RAM-i konteineri kohta, et kontrolli alt väljunud teenus ei saaks marsruutimistasandit nälga jätta:
/container/config/set memory-high=200M/container/set pihole start-on-boot=yesKeeruline osa on teha seda identselt kümnete või sadade kaugruuterite ulatuses ja seejärel tõestada, et igaüks neist tegelikult pärast taaskäivitust uuesti üles tuli — eriti kui seade asub CGNAT-i taga ja sa ei pääse lihtsalt selle avalikule IP-le.
Näpunäited
- Hoia iga konteineri köide välisel kettal; mitte kunagi sisemisel NAND-il.
- Kasuta eraldi veth/bridge-paari, et isoleerida usaldamatud konteinerid usaldusväärsetest.
- Sea
memory-maxkõigele, mida sa täielikult ei usalda, et ruuter püsiks tundlik. - Puhta testkeskkonna jaoks enne tootmise puudutamist käita samu tõmmiseid virtualiseeritud CHR-i instantsil, enne kui juurutad need füüsilistele ruuteritele.
Astu Järgmine Samm
Konteinerid muudavad MikroTiki ruuteri pisikeseks rakendusehostiks, kuid selliste hostide park vajab orkestreerimist. MKController loob RouterOS-i konfiguratsiooni mallid keskselt, rakendab need igale seadmele sinu varustuses ja jälgib hälbeid, nii et näed, milline ruuter kõrvale kaldus — ja NATCloud kaudu jõuab see CGNAT-i taga olevate seadmeteni, et kinnitada, kas konteiner pärast hooldust taaskäivitus. See sulgeb lõhe ühe konteineri käsitsi seadistamise ja nende usaldusväärse käitamise vahel kogu teenusepakkuja võrgus.