MikroTik RouterOS: erinevus redaktsioonide vahel
(→CLI) |
|||
| (ei näidata sama kasutaja 32 vahepealset redaktsiooni) | |||
| 984. rida: | 984. rida: | ||
===VRF (Virtual Routing and Forwarding)=== |
===VRF (Virtual Routing and Forwarding)=== |
||
| + | |||
| + | ====Mikrotik - tööpõhimõte==== |
||
| + | |||
| + | <pre> |
||
| + | töökohaarvuti (wireguard klient - 192.168.71.2) |
||
| + | -> mikrotik main (wireguard server - 192.168.71.1) |
||
| + | -> mikrotik vrf-1 (10.111.9.1) |
||
| + | -> switch-01 mgmt liides (10.111.9.21) |
||
| + | |||
| + | -> mikrotik vrf-2 (10.111.9.2) |
||
| + | -> switch-02 mgmt liides (10.111.9.22) |
||
| + | </pre> |
||
| + | |||
| + | ====Mikrotik - ettevalmistamine==== |
||
| + | |||
| + | [admin@MikroTik] /ip/route> add dst-address=192.168.71.0/24 gateway=wg-remote@main routing-table=vrf-1 |
||
| + | |||
| + | ====Mikrotik - misc==== |
||
Mitmetele nö tavakäskudele saab lisada juurde parameetri 'vrf', nt |
Mitmetele nö tavakäskudele saab lisada juurde parameetri 'vrf', nt |
||
| 1027. rida: | 1045. rida: | ||
<pre> |
<pre> |
||
| − | host: 192.168.111.198 -> enp6s19@vrf-moraal: 192.168.10.158 -> 192.168.10.210, .167, .254 |
+ | host: 192.168.111.198 -> enp6s19@vrf-moraal: 192.168.10.158 -> host: 192.168.10.210, .167, .254 |
</pre> |
</pre> |
||
| 1156. rida: | 1174. rida: | ||
----------------------- |
----------------------- |
||
vrf-moraal 10 |
vrf-moraal 10 |
||
| + | |||
| + | root@pwrk-02:~# dig +tcp +short @10.192.0.53 auul.pri.ee a |
||
| + | 80.235.106.149 |
||
| + | |||
| + | root@pwrk-02:~# ip neighbor show vrf vrf-moraal |
||
| + | 192.168.10.210 dev enp6s19 lladdr 00:10:3a:79:22:22 STALE |
||
| + | 192.168.10.167 dev enp6s19 lladdr 3a:83:59:ea:a6:97 STALE |
||
| + | 192.168.10.254 dev enp6s19 lladdr 00:00:5e:00:01:03 REACHABLE |
||
</pre> |
</pre> |
||
| + | |||
| + | vrf osakonnas töötav veebiserver |
||
| + | |||
| + | <pre> |
||
| + | root@pwrk-02:~# ip vrf exec vrf-moraal python3 -m http.server 8080 |
||
| + | Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ... |
||
| + | 192.168.10.156 - - [09/Mar/2026 21:18:48] "GET / HTTP/1.1" 200 - |
||
| + | 192.168.10.156 - - [09/Mar/2026 21:18:50] "GET / HTTP/1.1" 200 - |
||
| + | |||
| + | imre@moraal:~$ curl http://192.168.111.198:8080/ |
||
| + | curl: (7) Failed to connect to 192.168.111.198 port 8080 after 0 ms: Couldn't connect to server |
||
| + | |||
| + | imreoolberg@Imres-MacBook-Air ~ % curl http://192.168.10.158:8080/ |
||
| + | <!DOCTYPE HTML> |
||
| + | <html lang="en"> |
||
| + | <head> |
||
| + | <meta charset="utf-8"> |
||
| + | <title>Directory listing for /</title> |
||
| + | ... |
||
| + | </pre> |
||
| + | |||
| + | ===WireGuard=== |
||
| + | |||
| + | Tekitatakse wireguard saladused jms |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] /ip/firewall/mangle> /interface wireguard |
||
| + | [admin@MikroTik] /interface/wireguard> print |
||
| + | Flags: X - disabled; R - running |
||
| + | |||
| + | [admin@MikroTik] /interface/wireguard> add listen-port=51820 name=wg-remote |
||
| + | |||
| + | [admin@MikroTik] /interface/wireguard> print |
||
| + | Flags: X - disabled; R - running |
||
| + | 0 R name="wg-remote" mtu=1420 listen-port=51820 public-key="Q1e/oc3eRckL6UUmGvxwwtdhN7Hri5CySsNiDUnU7TU=" |
||
| + | </pre> |
||
| + | |||
| + | Lisatakse wireguard võrguliidesele wg-remote ip seadistus |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] /interface/wireguard> /ip address |
||
| + | [admin@MikroTik] /ip/address> print |
||
| + | Columns: ADDRESS, NETWORK, INTERFACE, VRF |
||
| + | # ADDRESS NETWORK INTERFACE VRF |
||
| + | 0 192.168.10.77/24 192.168.10.0 ether5 main |
||
| + | 1 192.168.134.77/24 192.168.134.0 bridge1 main |
||
| + | 2 10.112.9.3/24 10.112.9.0 ether3 vrf-2 |
||
| + | 3 10.111.9.1/24 10.111.9.0 ether1 vrf-1 |
||
| + | |||
| + | [admin@MikroTik] /ip/address> add address=192.168.71.77/24 interface=wg-remote network=192.168.71.0 |
||
| + | |||
| + | [admin@MikroTik] /ip/address> print |
||
| + | Columns: ADDRESS, NETWORK, INTERFACE, VRF |
||
| + | # ADDRESS NETWORK INTERFACE VRF |
||
| + | 0 192.168.10.77/24 192.168.10.0 ether5 main |
||
| + | 1 192.168.134.77/24 192.168.134.0 bridge1 main |
||
| + | 2 10.112.9.3/24 10.112.9.0 ether3 vrf-2 |
||
| + | 3 10.111.9.1/24 10.111.9.0 ether1 vrf-1 |
||
| + | 4 192.168.71.77/24 192.168.71.0 wg-remote main |
||
| + | </pre> |
||
| + | |||
| + | Peer partneri kirjeldamine |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] /ip/address> /interface wireguard peers |
||
| + | [admin@MikroTik] /interface/wireguard/peers> print |
||
| + | |||
| + | [admin@MikroTik] /interface/wireguard/peers> add allowed-address=192.168.71.2/32 interface=wg-remote public-key="OQu1uuI1SqQnCska0HSSSw1n5aJFP2K05m+DcjzBsVg=" |
||
| + | |||
| + | [admin@MikroTik] /interface/wireguard/peers> print |
||
| + | Columns: INTERFACE, PUBLIC-KEY, ENDPOINT-PORT, ALLOWED-ADDRESS |
||
| + | # INTERFACE PUBLIC-KEY ENDPOINT-PORT ALLOWED-ADDRESS |
||
| + | 0 wg-remote OQu1uuI1SqQnCska0HSSSw1n5aJFP2K05m+DcjzBsVg= 0 192.168.71.2/32 |
||
| + | </pre> |
||
| + | |||
| + | ===Mikrotik ruuter=== |
||
| + | |||
| + | ====Tööpõhimõte==== |
||
| + | |||
| + | Eesmärgiks on moodustada Mikrotik seadme abil kaugligipääsu lahendus nö tava-teenus-tulemüüri kõrvale häda olukorraks |
||
| + | |||
| + | [[Fail:20260315-mikrotik-mgmt-switches-01.png|1200px]] |
||
| + | |||
| + | kus |
||
| + | |||
| + | * joonisel ülemisel liinil on internet |
||
| + | * joonisel ülevalt teisel liinil paremal helerohelisega on kujutatud nö tavaline kaugligipääs eemalt sisevõrgu ressurssidele üle ipsec vpn; üle sama openbsd tulemüüri toimub ka teenus-liiklus (kohtvõrgu ja interneti vahel) |
||
| + | * joonisel ülevalt teisel liinil vasakul helepruuniga on kujutatud nö mikrotik-põhine kaugligipääs (millele on käesolev punkt keskendunud) |
||
| + | * joonisel allapoole jäävad sisevõrgu ressursid (switchid ja arvutid) |
||
| + | * switch haldusliidestele pääsetakse tavalisel juhul ligi tava-teenus-tulemüüri kaudu |
||
| + | * häda olukorras käivitatakse wireguard vpn kanal mikrotik seadmega |
||
| + | * üle wireguard ruuditakse igasugune liiklus remote asukoha sisevõrkudesse |
||
| + | * üle wireguard ruuditakse switchide haldusliideste liiklus, täpsemalt üle vrf-01 ja vrf-02 selleks, et switchidele ei tekiks kahte omavahelise kontakti kanalit, spanning tree nö väljakutset jms |
||
| + | * switchidest on füüsiline otseühendus mikrotik füüsiliste portidega |
||
| + | * 'Mikrotik ruuter' väljendab asjaolu, et seade on kasutusel ilma bridge seadistusteta |
||
| + | |||
| + | ====Käsundamine==== |
||
| + | |||
| + | Esmalt lähtestatakse seade factory configuration seisu, seejärel eemaldatakse factory configuration (nt peale ssh sisselogimist pressitakse 'r'). Seejärel nt winbox abil sisenedes öeldakse terminal aknas |
||
| + | |||
| + | <pre> |
||
| + | /ip address add address=192.168.10.76/24 interface=ether1 |
||
| + | /ip route add dst-address=0.0.0.0/0 gateway=192.168.10.254 |
||
| + | /ip dns set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes |
||
| + | /user set admin password="parool" |
||
| + | </pre> |
||
| + | |||
| + | vlan liideste kirjeldamine |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /interface vlan |
||
| + | [admin@MikroTik] /interface/vlan> add name=vlan506 vlan-id=506 interface=ether2 |
||
| + | [admin@MikroTik] /interface/vlan> add name=vlan507 vlan-id=507 interface=ether2 |
||
| + | [admin@MikroTik] /interface/vlan> add name=vlan509 vlan-id=509 interface=ether2 |
||
| + | |||
| + | [admin@MikroTik] /interface/vlan> /ip address |
||
| + | [admin@MikroTik] /ip/address> add address=10.0.6.76/24 interface=vlan506 |
||
| + | [admin@MikroTik] /ip/address> add address=10.0.7.76/24 interface=vlan507 |
||
| + | [admin@MikroTik] /ip/address> add address=10.0.9.76/24 interface=vlan509 |
||
| + | </pre> |
||
| + | |||
| + | Tekitatakse vrf seadistused |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /ip vrf |
||
| + | [admin@MikroTik] /ip/vrf> add interfaces=ether3 name=vrf-01 |
||
| + | [admin@MikroTik] /ip/vrf> add interfaces=ether4 name=vrf-02 |
||
| + | |||
| + | [admin@MikroTik] /ip/vrf> /ip address |
||
| + | [admin@MikroTik] /ip/address> add address=10.0.9.216/24 interface=ether3 |
||
| + | [admin@MikroTik] /ip/address> add address=10.0.9.226/24 interface=ether4 |
||
| + | </pre> |
||
| + | |||
| + | Wireguard serveri tekitamine |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /interface wireguard |
||
| + | [admin@MikroTik] /interface/wireguard> add listen-port=13231 mtu=1420 name=wg-01 |
||
| + | |||
| + | [admin@MikroTik] /interface/wireguard> /ip address |
||
| + | [admin@MikroTik] /ip/address> add address=192.168.72.76/24 interface=wg-01 |
||
| + | |||
| + | [admin@MikroTik] /ip/address> /interface wireguard peers |
||
| + | [admin@MikroTik] /interface/wireguard/peers> add allowed-address=192.168.72.2/32 interface=wg-01 public-key="ly32SABjBnCN4xshp+23LI+JJXwol1FqrAtlbi6/VA8=" comment="Remote Management Client" |
||
| + | </pre> |
||
| + | |||
| + | vrf osakondadesse switchide haldusliikluse suunamine (ruutimine) |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /ip route |
||
| + | [admin@MikroTik] /ip/route> add dst-address=10.0.9.21/32 gateway=ether3@vrf-01 routing-table=main |
||
| + | [admin@MikroTik] /ip/route> add dst-address=10.0.9.22/32 gateway=ether4@vrf-02 routing-table=main |
||
| + | </pre> |
||
| + | |||
| + | vrf osakondadest main peale tagasi-pakettide suunamine (ruutimine) |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /ip route |
||
| + | [admin@MikroTik] /ip/route> add dst-address=192.168.72.0/24 gateway=wg-01@main routing-table=vrf-01 |
||
| + | [admin@MikroTik] /ip/route> add dst-address=192.168.72.0/24 gateway=wg-01@main routing-table=vrf-02 |
||
| + | </pre> |
||
| + | |||
| + | nat teisendused vrf oskonnas, vastasel korral saadavad switchid vastuspaketid oma default gateway 10.0.9.1 peale |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /ip/firewall/nat |
||
| + | [admin@MikroTik] /ip/firewall/nat> add chain=srcnat action=src-nat to-addresses=10.0.9.216 out-interface=ether3 dst-address=10.0.9.21/32 |
||
| + | [admin@MikroTik] /ip/firewall/nat> add chain=srcnat action=src-nat to-addresses=10.0.9.226 out-interface=ether4 dst-address=10.0.9.22/32 |
||
| + | </pre> |
||
| + | |||
| + | Mõnes tekstis soovitatakse pöörata tähelepanu 'loose-tcp-tracking' väärtusele, et see oleks 'yes', paistab, et vaikimisi nii on |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /ip firewall connection tracking print |
||
| + | enabled: yes |
||
| + | active-ipv4: yes |
||
| + | active-ipv6: yes |
||
| + | tcp-syn-sent-timeout: 5s |
||
| + | tcp-syn-received-timeout: 5s |
||
| + | tcp-established-timeout: 1d |
||
| + | tcp-fin-wait-timeout: 10s |
||
| + | tcp-close-wait-timeout: 10s |
||
| + | tcp-last-ack-timeout: 10s |
||
| + | tcp-time-wait-timeout: 10s |
||
| + | tcp-close-timeout: 10s |
||
| + | tcp-max-retrans-timeout: 5m |
||
| + | tcp-unacked-timeout: 5m |
||
| + | loose-tcp-tracking: yes |
||
| + | liberal-tcp-tracking: no |
||
| + | udp-timeout: 10s |
||
| + | udp-stream-timeout: 3m |
||
| + | icmp-timeout: 10s |
||
| + | generic-timeout: 10m |
||
| + | max-entries: 94208 |
||
| + | total-entries: 121 |
||
| + | total-ip4-entries: 121 |
||
| + | total-ip6-entries: 0 |
||
| + | </pre> |
||
| + | |||
| + | ====Märkused==== |
||
| + | |||
| + | * antud juhul ei ole üldse kasutusel tulemüüri reegleid, st kõik liiklus on lubatud - see ei ole kindlasti reaalseks kasutamiseks asjakohane |
||
| + | * kõigil mikrotik vrf'idel, st 'main', 'vrf-01' ja 'vrf-02' on kontakt 10.0.9.0/24 võrguga, eriti kui nt pingida mikrotik seadme enda seest (planeeritud kasutuse puhul sellist mikrotik juurest pakettide väljumise mitmekesisust ei toimu, vpn pealt pöördudes alati toimub 10.0.9.21 peale liikumine vrf-01 kaudu, ja 10.0.9.22 peale liikumine vrf-02 kaudu) |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /tool/ping 10.0.9.21 vrf=main |
||
| + | [admin@MikroTik] > /tool/ping 10.0.9.21 vrf=vrf-01 |
||
| + | [admin@MikroTik] > /tool/ping 10.0.9.21 vrf=vrf-02 |
||
| + | </pre> |
||
| + | |||
| + | mikrotik perspektiivist |
||
| + | |||
| + | <pre> |
||
| + | [admin@MikroTik] > /ip arp print where address=10.0.9.21 |
||
| + | Flags: D - DYNAMIC; C - COMPLETE |
||
| + | Columns: ADDRESS, MAC-ADDRESS, INTERFACE, VRF, STATUS |
||
| + | |||
| + | # ADDRESS MAC-ADDRESS INTERFACE VRF STATUS |
||
| + | 5 DC 10.0.9.21 A6:BA:C6:4E:A7:C0 vlan10 main reachable |
||
| + | 17 DC 10.0.9.21 A6:BA:C6:4E:A7:C0 ether4 vrf-02 reachable |
||
| + | 18 DC 10.0.9.21 A6:BA:C6:4E:A7:C0 ether3 vrf-01 reachable |
||
| + | </pre> |
||
| + | |||
| + | kus |
||
| + | |||
| + | * erinevatest vrf'idest paistab 10.0.9.21 seade ikka sama seadmena (mac A6:BA:C6:4E:A7:C0) |
||
| + | * 10.0.9.21 juurde jõutakse väljudes vrf-02 juurest läbidest switchi-02 (ja switchide vahelise interconnect kaabli) |
||
| + | * kõigist kolmest vrf'ist saab samaaegselt stabiilse ühenduse switchi haldusliidesega aadressil 10.0.9.21 st ei toimu ip konflikti vms) |
||
| + | |||
| + | 10.0.9.21 seadme perspektiivist (väljundi esitus on illustratiivne kuna 10.0.9.21 ei ole antud näites arvuti) |
||
| + | |||
| + | <pre> |
||
| + | # arp -an | egrep "10.0.9.76|10.0.9.216|10.0.9.226" |
||
| + | ? (10.0.9.21.216) at 74:4d:28:84:05:11 [ether] on vlan10 |
||
| + | ? (10.0.9.21.226) at 74:4d:28:84:05:12 [ether] on vlan10 |
||
| + | ? (10.0.9.21.76) at 74:4d:28:84:05:10 [ether] on vlan10 |
||
| + | </pre> |
||
| + | |||
| + | kus |
||
| + | |||
| + | * 10.0.9.21 seadme jaoks paistavad kolm pöördumist erinevatel ip ja mac aadressidelt |
||
| + | * erinevatel mac aadressidelt selle tõttu, et mikrotik on kinnitatud kolme erineva füüsilise port abil, ja igale vastab oma füüsiline ethernet liides oma unikaalse füüsilise seadmele vastava mac aadressiga |
||
| + | |||
| + | ===Lets Encrypt kasutamine=== |
||
| + | |||
| + | TODO |
||
| + | |||
| + | [admin@MikroTik] > /certificate enable-ssl-certificate dns-name=mt.auul.pri.ee |
||
===Kasulikud lisamaterjalid=== |
===Kasulikud lisamaterjalid=== |
||
Viimane redaktsioon: 17. märts 2026, kell 18:24
Sissejuhatus
MikroTik http://www.mikrotik.com/ ... Käesolev tekst on koostatud tuginedes peamiselt 'hAP ac' seadme kasutusele.
Riistvara
[admin@MikroTik] > /system routerboard print
routerboard: yes
board-name: hAP ac
model: RB962UiGS-5HacT2HnT
serial-number: 6F12071C4524
firmware-type: qca9550L
factory-firmware: 3.34
current-firmware: 7.19.3
upgrade-firmware: 7.19.3
Tööpõhimõte
Osutub, et tavalist Mikrotik seadet saab käivitada erinevates režiimides
- L2 hardware switch
- L2 software switch (trunk pordid, mode access režiimis füüsilised pordid)
- L3 ip ruuter
Väited
- 'Quick set' sektsiooni abil saab seadme kiiresti käima ühe või teise populaarsele kasutusjuhule vastavalt, seejuures taustal tehakse üksikasjalikumad seadistused automaatselt (nt master porti ja slave port seosed, paketifilter)
- liikudes 'Quick set' režiimist nö omakäelisse kasutusse maksab üle vaadata muu hulgas paketifiltri seadistused
- mikrotik seadme seadistamisel saab töötada safe või non-safe režiimis
- mikrotik dhcp klient funktsionaalsuse välja lülitamine
- ip aadressi seadistamisel winbox utiliidiga esiatakse aadress koos maskiga, nt '192.168.10.77/24', seejärel network kujul '192.168.10.0'
Mikrotik seadistamisel on kasutada muu hulgas sellised objektid
- füüsilised võrguliidesed (ether1, ether2 ... ether5)
- osa füüsilisi võrguliideseid on PoE võimelised (PoE kliendina või PoE serverina)
- virtuaalsed vlan võrguliidesed (nt füüsilise liidese koosseisus)
- bridge võrguliidesed (mille abil saab moodustada nö tavalise vlan võrgu mikrotik sisse (kuhu saavad kuuluda vlan võrguliidesed ja füüsilised võrguliidesed)
Kasutamine KVM virtuaalse arvutina
Käivitada https://mikrotik.com/download/archive .iso tõmmiselt ja logida sisse kasutajana admin, kellel parooli pole. Seejärel öelda
setup
ning seadistada ühele võrguliidesele ip aadress.
MikroTik seadme võrgu seadistamine
MikroTik Winbox haldusliideses toimub võrgu seadistamine, st tema enda võrguliideste seadistamine + staatiliste ruutingute kirjeldamine avades
Interfaces -> ... IP -> Addresses ...
Käsurealt saab küsida selliselt
[admin@MikroTik] > ip route print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S ;;; added by setup
0.0.0.0/0 192.168.10.254 1
1 ADC 192.168.1.0/24 192.168.1.13 ether2 0
2 ADC 192.168.1.12/32 192.168.1.12 ether2 0
3 ADC 192.168.10.0/24 192.168.10.13 ether1 0
Paketifiltri seadistamine
Firewall tööpõhimõte
Väited
- mikrotik tulemüüri reeglitega tegelemine matkib üsna täpselt eheda iptables reeglitega tegelemist
- sarnaselt iptables kasutamisele tuleb mikrotik firewall madalal tasemel kirjeldada - nt tcp ühenduse puhul eraldi reeglitega 'new', ning mõlema suuna 'related, established' pakettide liikumine
- selles mõttes erinevad kasutaja vaatest mikrotik ja nt fortigate oluliselt
FILTER kasutamine
TODO
DST-NAT kasutamine
Paketifiltri seadistamine toimub avades Winbox programmis, nagu Linuxi puhul mõjutavad pakettide liikumist läbi võrgusõlme filter (nn iptables FILTER tabel)
IP -> Firewall -> Filter Rules
aadresside teisendus (nn iptables NAT tabel)
IP -> Firewall -> NAT
Olgu kasutusel selline võrgulahendus
internet
.....
...
10.80.99.210
__|__
| |
| |------------- kasutajad
|_____|
10.0.0.1 |
|
----|-------------|--- serverid
|
|
__|__ 10.0.0.2
| |
|_____|
kus avalik aadressi port 80 on suunatud 10.0.0.2 sisemises võrgus töötavale veebiserverile sellise NAT reegliga
IP -> Firewall -> NAT Rule
ning
General -> Chain - dstnat General -> Dst. Address - 10.80.99.210 General -> Protocol - tcp General -> Port 80 Action -> Action - dst-nat Action -> To Addresses - 10.0.0.2 Action -> To Ports -> 80
Lisaks peab olema sobib Filter reegel
IP -> Firewall -> Filter Rules
ning (tasub täpsustada)
General -> Chain - forward Action -> Action - accept
SRC-NAT kasutamine
TODO
DST-NAT ja SRC-NAT kombineeritud kasutamine
Selleks, et samast võrgust kus töötavad teenused, välisele aadressile tehtud pöördumised töötaksid, on vajalik sarnane src-nat reegel
IP -> Firewall -> NAT Rule
ning
General -> Chain - srcnat General -> Src Address - 10.0.0.0/24 General -> Dst Address - 10.0.0.0/24 General -> Out Interface -> DMZ Action -> Action - src-nat Action -> To Address -10.0.0.1
Kui selline reegel puudub, siis toimub järgmine
- veebiserver 10.0.0.2 saadab syn paketi aadressil 10.80.99.210 port 80 (ja ootab vastust aadressilt 10.80.99.210)
- tulemüüri dstnat suunab syn paketi aadressile 10.0.0.2 port 80, selle paketi src aadress on endine, 10.0.0.2
- veebiserverisse vastab kohale jõudnud syn paketile vatuseks syn-ack paketi ja saadab selle aadressil 10.0.0.2 (nii nagu syn paketi src ütleb)
- veebiserver 10.0.0.2 saab ootamatult syn-ack paketi ja ignoreerib seda (kuna ta ootab syn-ack paketti aadressilt 10.80.99.210)
Toodud täiendav reegel lahendab selle probleemi selliselt
- veebiserver 10.0.0.2 saadab syn paketi aadressil 10.80.99.210 port 80 (ja ootab vastust aadressilt 10.80.99.210)
- tulemüüri dstnat suunab syn paketi aadressile 10.0.0.2 port 80, selle paketi src aadress on endine, 10.0.0.2
- enne tulemüürist väljumist kirjutab srcnat reegel src 10.0.0.0/24 aadressiga ja dst 10.0.0.0/24 aadressiga paketi src aadressiks tulemüüri vastava võrguseadme aadressi, 10.0.0.1
- veebiserverisse vastab kohale jõudnud syn paketile vatuseks syn-ack paketi ja saadab selle aadressil 10.0.0.1 (nii nagu syn paketi src ütleb)
- tulemüür võtab syn-ack paketi vastu, teisendab tema src aadressi 10.80.99.210 aadressiks ja saadab vastuseks 10.0.0.2 käesti tulnud esialgsele syn paketile
- veebiserver 10.0.0.2 saab ootatud syn-ack paketi aadressilt 10.80.99.210
CLI kasutamine
[admin@MikroTik] > ip arp print Flags: X - disabled, I - invalid, H - DHCP, D - dynamic, P - published # ADDRESS MAC-ADDRESS INTERFACE 0 D 192.168.10.30 00:04:23:BD:17:D9 ether1 1 D 192.168.10.10 00:16:3E:79:03:03 ether1 2 D 192.168.1.4 70:01:68:00:10:04 ether2
mikrotik ip seadistused ja ruutingud
[admin@MikroTik] > /ip address print Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK INTERFACE 0 192.168.10.77/24 192.168.10.0 bridge-vlan10 [admin@MikroTik] > /ip route print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 A S 0.0.0.0/0 192.168.10.254 1 1 ADC 192.168.10.0/24 192.168.10.77 bridge-vlan10 0
ip aadressi lisamine
[admin@MikroTik] > /ip address add address=192.168.10.77/24 interface=bridge-vlan10
ip aadressi eemaldamine, nimekirjas kasutatud jrk numbri abil
[admin@MikroTik] > /ip address remove 2
ethernet liideste nimekiri
[admin@MikroTik] > /interface ethernet print Flags: X - disabled, R - running, S - slave # NAME MTU MAC-ADDRESS ARP MASTER-PORT SWITCH 0 RS ether1 1500 64:D1:54:A7:CC:92 enabled none switch1 1 ether2 1500 64:D1:54:A7:CC:93 enabled none switch1 2 RS ether3 1500 64:D1:54:A7:CC:94 enabled none switch1 3 R ether4 1500 64:D1:54:A7:CC:95 enabled none switch1 4 ether5 1500 64:D1:54:A7:CC:96 enabled none switch1 ...
bridge portide olukord
[admin@MikroTik] > /interface bridge port print Flags: X - disabled, I - inactive, D - dynamic # INTERFACE BRIDGE PRIORITY PATH-COST HORIZON ... 3 ether3 bridge-vlan20 0x80 10 none 4 ether4-vlan20 bridge-vlan20 0x80 10 none 5 ether4-vlan10 bridge-vlan10 0x80 10 none 6 ether1 bridge-vlan10 0x80 10 none
füüsiliste switchide nimekiri (tavaliselt üks või kaks)
[admin@MikroTik] > /interface ethernet switch print Flags: I - invalid # NAME TYPE MIRROR-SOURCE MIRROR-TARGET SWITCH-ALL-PORTS 0 switch1 QCA-8337 none none
Paketifilter
[admin@MikroTik] > ip firewall nat add chain=srcnat src-address=192.168.10.10 action=src-nat to-addresses=192.168.1.4
VLAN kasutamine
Kõige tavalisemal viisil füüsilisele ethernet seadmele vlan sildiga liikluse õpetamiseks sobib öelda
/interface vlan add name=vlan10 vlan-id=10 interface=ether1 disabled=no /ip address add address=10.1.2.3/24 interface=vlan10
Kasulikud lisamaterjalid
Link aggregation kasutamine
Riistvaralise switch kasutamine
MirkoTik seadme koosseisu kuulub tavaliselt nö suhteliselt juhitav switch, http://wiki.mikrotik.com/wiki/Manual:Switch_Chip_Features. Tundub, et switch kasutamine on jäigem, kuid jõudluse mõttes parem.
Tarkvaralise switch kasutamine
MikroTik RouterOS tarkvara abil saab kasutada nö tarkvaralist switchi, mis sarnaneb Linuxi bridge'le, http://wiki.mikrotik.com/wiki/Manual:Interface/Bridge. Tundub, et bridge kasutamine on üldiselt paindlikum. Kui tarkvaralise bridge komponentidena kasutada vlan seadmeid ning soovitakse switch üle mõne sellise komponendi hallata, siis tuleb ip aadress omistada mitte brige seadmele (nagu tavaliselt Linuxi puhul), vaid haldusarvuti poolsele vlan komponent seadmele (on see ikka tingimata nii?).
Pildil kujutatakse tarkvaralise switchi seadistust
kus
- kahe füüsilise seadme ether3 ja ether4 peale kummalegi on tekitatud kaks vlan liidest
- mikrotik peal on kirjelatud kaks tarkvaralist bridge seadet
- vlan liidesed on seostatud bridgedega
- ip seadistused puuduvad
- tulemusena käitub mikrotik nagu hallatav switch millel on kaks nn trunk mode porti kust liiguvad läbi vlan siltidega paketid
Switch kasutamisel
- kontrollida üle paketifilter
- ruutingud
- füüsiliste portide master-slave seosed (parem nad eemaldada)
Debugimine
/tool sniffer quick
Võrguliikluse jälgimine seadmes, näha on milliste võrguliideste kaudu pakett liikus millises suunas (DI tulba nool vasakule tähendab paketi liiklumist seadmesse sisse; nool paremale liikumist välja)
[imre@MikroTik] > tool sniffer [imre@MikroTik] /tool sniffer> quick ip-address=10.0.0.2 ip-protocol=icmp INTERFACE TIME NUM DI SRC-MAC DST-MAC VLAN SRC-ADDRESS DST-ADDRESS PROTOCOL SIZE CPU ether1... 20.667 31 <- 10.168.43.166 10.0.0.2 ip:icmp 60 21 VLAN_DMZ 20.667 32 -> 10.168.43.166 10.0.0.2 ip:icmp 60 21 LAN_bo... 20.667 33 -> 129.0.0.10 10.168.43.166 ip:icmp 64 21 ether2... 20.667 34 -> 129.0.0.10 10.168.43.166 ip:icmp 64 21 VLAN_DMZ 20.668 35 <- 10.0.0.2 10.168.43.166 ip:icmp 60 14
kus
- TODO
Märkused
- quick ip-address=10.204.62.115 port=53
Alternatiiv on kasutada
[admin@MikroTik] > /tool/torch interface=ether1 ip-protocol=icmp Columns: MAC-PROTOCOL, IP-PROTOCOL, DSCP, SRC-ADDRESS, DST-ADDRESS, TX, RX, TX-PACKETS, RX-PACKETS MAC-PROTOCOL IP-PROTOCOL DSCP SRC-ADDRESS DST-ADDRESS TX RX TX-PACKETS RX-PACKETS ip icmp 0 8.8.8.8 10.35.179.69 784bps 784bps 1 1
pakettide metaandmete logimine
TODO
mactelnet kasutamine
Seadmete nimekiri
root@imreo-lap:~# mactelnet -l Searching for MikroTik routers... Abort with CTRL+C. IP MAC-Address Identity (platform version hardware) uptime 192.168.10.77 64:d1:54:a7:cc:92 MikroTik (MikroTik 6.40.8 (bugfix) RB962UiGS-5HacT2HnT) up 41 days 22 hours TKN4-90IG bridge-vlan10
Märkused
- winbox haldusliidese port - 8291/tcp
Varundamine
- Avada Terminal ja öelda (vajadusel hide-sensitive lisada)
export file=mt-20190829 hide-sensitive
- Salvestada töökohaarvutisse (kus winbox töötab), avada Files
Parem klõps failinimel -> Download
Taaste
Väited
- tundub, et nö .backup tüüpi taaste on reaalselt kasutatav sõna otseses mõttes samal füüsilisel seadmel
- tundub, et nö .rsc tüüpi taaste on reaalelt kasutatav ka sama mikrotik mudel aga erineval füüsilisel eksemplaril, tõenäoliselt ka erineval mudelil
.rsc fail algab
# 2025-11-13 23:00:53 by RouterOS 7.20.4
# software id = L41V-QDUL
#
# model = RBD52G-5HacD2HnD
# serial number = B4A00A987AF5
/interface bridge
add admin-mac=74:4D:28:83:D8:F7 auto-mac=no comment=defconf name=bridge
/interface wireless
set [ find default-name=wlan2 ] ssid=MikroTik
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
add authentication-types=wpa2-psk mode=dynamic-keys name="wifi client" \
supplicant-identity=MikroTik
/interface wireless
set [ find default-name=wlan1 ] disabled=no frequency=auto security-profile=\
"wifi client" ssid=infrassid
...
Selleks, et seda kasutada sama mudel, aga teisel eksemplaril tuleb eemaldada kolm rida
# 2025-11-13 23:00:53 by RouterOS 7.20.4 # software id = L41V-QDUL # serial number = B4A00A987AF5
Ja lisada 'add authentication-types ...' sissekande juurde parameeter
wpa2-pre-shared-key="parool"
ning sissekande 'add admin-mac=74:4D:28:83:D8:F7 auto-mac=no ...' juures asendada mac aadress nt ether2 seadme mac aadressiga
Kujunenud fail laadida üles seadmesse ja öelda
mikrotik prompt> import file=mt-varundus-20251113.rsc
2025 sügise märkus
Tundub, et v. 7 puhul igal juhul ei salvestada .rsc faili saladusi, st tuleb ise taastamisel natuke kohendada, nt wifi client puhul sellist kohta
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
add authentication-types=wpa2-psk mode=dynamic-keys name="wifi client" \
supplicant-identity=MikroTik
muuta selliseks, lisada wpa2-pre-shared-key
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
add authentication-types=wpa2-psk mode=dynamic-keys name="wifi client" \
supplicant-identity=MikroTik wpa2-pre-shared-key="YourActualWiFiPasswordHere"
Tarkvara uuendamine
System -> Routerboard -> Upgrade
System -> Packages -> ... (nt current haru kasutades)
L2TP over IPSec kasutamine
TODO
Kasulikud lisamaterjalid
IPSec kasutamine
TODO
Kasulikud lisamaterjalid
Mikrotik IPSec IKEv2 server ja Windows 10 töökohaarvuti kasutamine
Tööpõhimõte
Väited
- mikrotik peale on moodustatud CA
- CA suhtes antakse välja serveri sert ja klienditele igale oma sertifikaat
- kliendi autentimise õnnestuminseks peab ta esitama serverile sama CA poolt väljastatud sertifikaadi, mille poolt on väljastatud serveri sertifikaat
- vpn ühendus ei ole mitte kasutaja ja vpn serveri, aga töökohaarvuti ja vpn serveri vahel
Mikrotik seadistamine - sertifikaadid
Sertifikaatide moodustamiseks sobib öelda
[su@MikroTik] > /certificate [su@MikroTik] /certificate> add common-name=ca.moraal.ee name=ca.moraal.ee days-valid=3700 [su@MikroTik] /certificate> sign ca.moraal.ee ca-crl-host=ca.moraal.ee [su@MikroTik] /certificate> add common-name=kt.moraal.ee subject-alt-name=DNS:kt.moraal.ee key-usage=tls-server name=kt.moraal.ee days-valid=3680 [su@MikroTik] /certificate> sign kt.moraal.ee ca=ca.moraal.ee [su@MikroTik] /certificate> add common-name=rw-eve.moraal.ee name=rw-eve.moraal.ee key-usage=tls-client days-valid=3650 [su@MikroTik] /certificate> sign rw-eve.moraal.ee ca=ca.moraal.ee [su@MikroTik] /certificate> export-certificate rw-eve.moraal.ee export-passphrase=parool type=pkcs12 [su@MikroTik] /certificate> export-certificate ca.moraal.ee type=pem
Sertifikaatide mikrotik seadmest välja kopeerimiseks
ssh admin@192.168.10.78 "ls /" scp admin@192.168.10.78:/cert_export_rw-eve.moraal.ee.p12 . ...
Sertifikaatide kustutamine tundub on võimalik vaid kõik korraga, selleks sobib öelda (nt uue sertide komplekti tegemiseks)
- muuta ajutiselt ipsec identiy ära mingi non-digital-certificate väärtusele
- revokeda kõik sertifikaadid System -> Certificates all
- kustutada kõik sertifikaadid korraga
- tekitada sertfikaadid uuesti
- muuta ipsec identity juures tagasi digital-auth peale
Mikrotik seadistamine - ipsec
[su@MikroTik] > /ip ipsec profile [su@MikroTik] > add name=ike2 [su@MikroTik] > /ip ipsec proposal [su@MikroTik] > add name=ike2 pfs-group=none [su@MikroTik] > /ip pool [su@MikroTik] > add name=ike2-pool ranges=192.168.47.2-192.168.47.254 [su@MikroTik] > /ip ipsec mode-config [su@MikroTik] > add address-pool=ike2-pool address-prefix-length=32 name=ike2-conf [su@MikroTik] > /ip ipsec policy group [su@MikroTik] > add name=ike2-policies [su@MikroTik] > /ip ipsec policy [su@MikroTik] > add dst-address=192.168.47.0/24 group=ike2-policies proposal=ike2 src-address=0.0.0.0/0 template=yes [su@MikroTik] > /ip ipsec peer [su@MikroTik] > add exchange-mode=ike2 name=ike2 passive=yes profile=ike2 [su@MikroTik] > /ip ipsec identity [su@MikroTik] > add auth-method=digital-signature certificate=kt.moraal.ee generate-policy=port-strict mode-config=ike2-conf peer=ike2 policy-template-group=ike2-policies
Kliendi seadistamine
Väited
- win 10 peale piisab ainult .p12 failist
- win 7 peale tuleb mmc abil laadida ca fail ja p12 fail - https://wiki.strongswan.org/projects/strongswan/wiki/Win7Certs
- arvutis saab olla üks machine cert st kui on vaja uut kasutada, tuleb eelmine mmc abil eemaldada
- klient töötab nat tagant; mitu klienti töötab sama nat tagant (erinevalt l2tp-over-ipsec juhtumist)
Kasulikud lisamaterjalid
Tugevama krüpto seadistamine
Käesolev punkt tutvustab kuidas muidu töötava lahenduse saab viia kasutama 2019 aasta seisuga nö viisakat krüptot.
mikrotik ja vpn-... utiliidi seadistuste vastavused
- mikrotik phase 1 - ipsec profile -> hash algorithms sha256 - integritycheckmethod sha256
- mikrotik phase 1 - ipsec profile -> encryption algorithms aes-256 - encryptionmethod aes256
- mikrotik phase 1 - ipsec profile -> dhgroup modp2048 - dhgroup group14
- mikrotik (phase 2) ipsec proposal -> auth algorithms sha256 - tõenäoliselt authenticationtransformconstants sha256128
- mikrotik (phase 2) - ipsec proposal -> encr algorithms aes-256 cbc - ciphertransformconstants aes256
- mikrotik (phase 2) - ipsec proposal -> pfs group ecp384 - pfsgroup ecp384 - tundub et see väärtus ei pruugi klappida ja ikka töötab; juhendid soovitavad jätta none peale
Windows 10 powershell käsud, tulemus on näha ka GUI liideses, aga sealt seda ei saa seadistada (kustutada saab)
PS C:\Users\imre> Add-VpnConnection -Name "moraal-imre-ps" -ServerAddress "kt.moraal.ee" -TunnelType IKEv2 -AuthenticationMethod MachineCertificate PS C:\Users\imre> Set-VpnConnectionIPsecConfiguration -ConnectionName "moraal-imre-ps" -AuthenticationTransformConstants SHA256128 \ -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 \ -PfsGroup none -DHGroup Group14 -PassThru -Force AuthenticationTransformConstants : SHA256128 CipherTransformConstants : AES256 DHGroup : Group14 IntegrityCheckMethod : SHA256 PfsGroup : None EncryptionMethod : AES256
Kasulikud lisamaterjalid
- https://docs.microsoft.com/en-us/powershell/module/vpnclient/set-vpnconnectionipsecconfiguration?view=win10-ps
- https://www.stevenjordan.net/2016/09/secure-ikev2-win-10.html
- https://forum.mikrotik.com/viewtopic.php?f=21&t=139057&p=713274&hilit=set+vpnconnectionipsecconfiguration#p713274
IKEv1 site-to-site VPN Mikrotik ja OpenBSD
Mikrotik
Väited
- phase 1 on profile
- phase 2 on proposal
/ip ipsec profile add dh-group=modp2048 enc-algorithm=aes-256 name=ike1-site2 /ip ipsec proposal add enc-algorithms=aes-256-cbc name=ike1-site2 pfs-group=modp2048 /ip ipsec peer add address=10.204.62.116/32 name=ike1-site2 profile=ike1-site2 /ip ipsec identity add peer=ike1-site2 secret=pskparool /ip ipsec policy add src-address=10.2.2.0/24 src-port=any dst-address=192.168.10.0/24 dst-port=any tunnel=yes action=encrypt proposal=ike1-site2 peer=ike1-site2 /ip firewall nat add chain=srcnat action=accept place-before=0 src-address=10.2.2.0/24 dst-address=192.168.10.0/24
OpenBSD
# cat /etc/ipsec.conf ike active from 192.168.10.0/24 to 10.2.2.0/24 local 10.204.62.116 peer 10.219.83.242 \ main auth hmac-sha2-256 enc aes-256 group modp2048 lifetime 86400 \ quick auth hmac-sha2-256 enc aes-256 group modp2048 lifetime 3600 \ psk "pskparool"
Käivitamiseks
# isakmpd -vdK # ipsecctl -f /etc/ipsec.conf
Kasulikud lisamaterjalid
IKEv2 site-to-site VPN Mikrotik ja OpenBSD
TODO
Mikrotik lähtestamine
Mikrotik lähtestamiseks sobib
- eemaldada võrgukaablid ja toitekaabel
- ühendada toide ja nii 0.3 sekundit hiljem hakata all hoidma reset nuppu
- hoida all nii umbes 5 sekundit, piisab kui üks kahest nupu kõrval olevast rohelisest indikaator tulest hakkab vilkuma
- vabastada reset nupp
- seade hakkab käivituma
- nii mõne minuti pärast on ta näha winbox peal üle nn mac põhise ühenduse
- saab sisse logida admin kasutaja ja tühja parooliga
- küsitakse, kas default konfi kasutada või kustutada
- kustutada
- seade reboodib
- seadista ip aadress nt ether5 seadmele
- seadistada parool
Wifi seadistamine
TODO
/ip firewall nat add chain=srcnat action=masquerade src-address=192.168.133.0/24 log=no log-prefix=""
Kasulikud lisamaterjalid
Capsman - üks vlan
Väited
- 5+ sekundi resetiga st hoides reset nuppu all kuni led hakkab peale vilkumist põlema ja siis vabastada toimub caps režiimis kliendiks minek
- vaikimisi saab caps režiimis klienti logida sisse üle ssh ja üle wifi winboxiga
CAP seadistamise tegevused
- TODO
Kasulikud lisamaterjalid
Capsman - üks vlan
Kasulikud lisamaterjalid
Port-mirror ja netflow lüüs
TODO
/interface bridge add name=bridge1 [admin@MikroTik] > /interface bridge port [admin@MikroTik] > add bridge=bridge1 interface=ether2 hw=yes [admin@MikroTik] > add bridge=bridge1 interface=ether3 hw=yes [admin@MikroTik] > /ip traffic-flow [admin@MikroTik] > set enable=yes [admin@MikroTik] > /ip traffic-flow target [admin@MikroTik] > add dst-address=192.168.10.189 port=2055 version=9 [admin@MikroTik] > /interface ethernet switch [admin@MikroTik] > set switch1 mirror-source=ether3 mirror-target=ether4
2025 kevad - kohtvõrgu tulemüür
Võrgujoonis
Olgu kasutusel selline võrgulahendus
internet
.....
...
.1
192.168.10.167 |
_____ |
| | |
|_____| |
| |
----|------------------|-----
|
|
__|__
| | ip: 192.168.10.77/24, gw: 192.168.10.1
| |
|_____|
192.168.134.1/24 |
| kohtvõrk - 192.168.134.77/24
----|-------------|----------------------------------------|---------
| |
| |
__|__ 192.168.134.26/24 - server __|__ 192.168.134.13/24 - töökohaarvuti
| | | |
|_____| |_____|
kus
- kohtvõrgust saab välja internetti (toimub src-nat)
- avalik aadressi port 22222 on suunatud 192.168.132.26 sisemises võrgus töötavale veebiserverile dst-nat reegliga
- port 22222 saab kasutada ainult ip aadressilt 192.168.10.167
Seest välja NAT reegel
NAT reeglid, seest välja NAT reegel
ning
Väljast sisse NAT reegel
ning
kus
- TODO
Forward reegelid
Esmalt nö olemasolevate ühendustega seotud paketid (tuntud linux paketifiltri established-related)
ning
Seejärel seest välja uute ühenduste lubamine
ning
Väljast sisse Forward reegel
Seejärel väljast sisse uute ühenduste lubamine
ning
Üldine takistav reegel
Seejärel igasuguste uute ühenduste takistamine
ning
Probleem
Kui mikrotik tulemüür on seadistatud ühe 'accept' universaalse (st interface'isid ei ole näidatud) reegli abil, siis tekib selline oht
internet
.....
...
.1
192.168.10.167 |
|
192.168.134.0/24 -> 192.168.10.77 |
_____ |
| | |
|_____| |
| |
----|------------------|-----
|
|
__|__
| | ip: 192.168.10.77/24, gw: 192.168.10.1
| |
|_____|
192.168.134.1/24 |
| kohtvõrk - 192.168.134.77/24
----|-------------|----------------------------------------|---------
| |
| |
__|__ 192.168.134.26/24 - server __|__ 192.168.134.13/24 - töökohaarvuti
| | | |
|_____| |_____|
kus
- internetist ei saa kohtvõrgu aadresside poole pöörduda kuna avalikus internetis ei ruudita kohtvõrgu privaatseid aadresse
- mikrotik välise liidesega samas võrgus olevas arvutis saab tekitada spetsiaalse ruuting reegli, mis saadab aadressile 192.168.134.0/24 paketid gw 192.168.10.77 peale
- kuna sisevõrgus on see kasutusel ja nende arvutite vaikelüüsi aadress on 192.168.134.1 siis toimub tavaline ruuting
- tulemusena saab mikrotik tulemüüri eest kontakti tulemüüri taga kohtvõrgus olevate seadmetega, mis on ilmselt mitte-soovitav olukord
Misc 2025
v. 6 -> v. 7 uuendus
- routeros (paketid)
- routerboard (routerboot)
Käsundamine
[admin@MikroTik] > /system ssh 192.168.134.6 user=imre
Võrgulahendus
Ülesandepüstitus
- kasutada on wifi printer
- kasutada on wifi printer kliendid
- on soov vaadelda liiklust klientide ja serveri vahel
- selleks tekitatakse printeri ja klientide vahel nö ruuting-hop mikrotik wifi seadme abil
kus
- joonisel ja edasisises on kasutatud mitte-realistlikku printeri porti 22, aga põhimõte jääb samaks relistliku pordi puhul
- mikrotik infra-network seade töötab wifi mõttes access-point režiimis
- mikrotik gw-printer töötab wifi mõttes station režiimis
Mikrotik võrguliideste nimekiri
kus
- ether2, 3, 4 ja 5 on kinnitatud bridge külge (sisemised liidesed, st sinna on ühendatud printer kaabliga)
- ether1 on nn wan ehk interneti liides (tavalise kasutusjuhu puhul)
- wlan1 ehk wifi raadio liides on iseseisev (antud juhul on ta nö internetipoolne liides)
Wifi töötamiseks on vajalik kirjeldada nn security-profile (selleks, et mikrotik seade teaks wifi parooli jms et wifi võrku ühenduda)
kus
- wpa2 psk väärtus on all pre-shared key lahtris
Security profiilide nimekiri paistab selline
kus
- vaikimisi on ainult 'default' sissekanne
Wifi liidese seadistused paistavad kokkuvõttes selliselt
kus
- wlan1 seade on Enabled olekus
- wlan1 seade on seostatud eelmises punktis kirjeldatud security-profile objektiga
- frequency on auto
- ssid väärtus nii nagu access point seda publitseerib
Seejärel tuleb seadistada wifi võrguliidesele ip aadress jms (aadressi ei anta dünaamiliselt dhcp kliendiks olemise abil nagu tavaliselt kuna)
IP -> Addresses
ning paistab selline pilt
kus
- täita aadress ja interface lahtrid
Lisaks tuleb seadistada vaikeruuting
IP -> Routes
ning paistab selline pilt
kus
- täita dst address ja gateway lahtrid
Ning dns
IP -> DNS
ning ntp
System -> ntp client
[admin@MikroTik] > /system/clock/print
time: 20:50:38
date: 2025-11-11
time-zone-autodetect: yes
time-zone-name: Europe/Tallinn
gmt-offset: +02:00
dst-active: no
Paketifilter
kus
- drop input on välja lülitatud selleks, et oleks võimalik wifi kaudu pöörduda seadme haldusliidese poole (webfig, winbox, ssh)
dst-nat teisendus
kus
- TODO
netflow
[admin@MikroTik] > /ip traffic-flow set enabled=yes interfaces=all cache-entries=4k active-flow-timeout=30m inactive-flow-timeout=15s
[admin@MikroTik] > /ip traffic-flow target add dst-address=192.168.10.129 port=9277 version=5
[admin@MikroTik] > /ip traffic-flow print
enabled: yes
interfaces: all
cache-entries: 4k
active-flow-timeout: 30m
inactive-flow-timeout: 15s
packet-sampling: no
sampling-interval: 0
sampling-space: 0
[admin@MikroTik] > /ip traffic-flow target print
Columns: SRC-ADDRESS, DST-ADDRESS, PORT, VERSION
# SRC-ADDRESS DST-ADDRESS PORT VERSION
0 0.0.0.0 192.168.10.129 9277 5
Raspberry Pi wifi klient
Kui käivitada MikroTik wifi 5 GHz režiimis paistab kinnitunud klient nt selliselt
imre@raspberrypi:~ $ iw dev wlan0 info Interface wlan0 ifindex 3 wdev 0x1 addr 2c:cf:67:1f:a5:dc ssid ssidvaartus type managed wiphy 0 channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz txpower 31.00 dBm
VRF (Virtual Routing and Forwarding)
Mikrotik - tööpõhimõte
töökohaarvuti (wireguard klient - 192.168.71.2)
-> mikrotik main (wireguard server - 192.168.71.1)
-> mikrotik vrf-1 (10.111.9.1)
-> switch-01 mgmt liides (10.111.9.21)
-> mikrotik vrf-2 (10.111.9.2)
-> switch-02 mgmt liides (10.111.9.22)
Mikrotik - ettevalmistamine
[admin@MikroTik] /ip/route> add dst-address=192.168.71.0/24 gateway=wg-remote@main routing-table=vrf-1
Mikrotik - misc
Mitmetele nö tavakäskudele saab lisada juurde parameetri 'vrf', nt
[admin@MikroTik] /ip/firewall/mangle> /tool ping address=10.111.9.189 vrf=vrf-1
SEQ HOST SIZE TTL TIME STATUS
0 10.111.9.189 56 64 891us
[admin@MikroTik] /ip/firewall/mangle> /system ssh 10.111.9.189 user=imre vrf=vrf-1
password:
Welcome back!
mõnedele aga ei saa
[admin@MikroTik] /ip/firewall/mangle> /ip/arp/print Flags: D - DYNAMIC; C - COMPLETE Columns: ADDRESS, MAC-ADDRESS, INTERFACE, VRF, STATUS # ADDRESS MAC-ADDRESS INTERFACE VRF STATUS ... 12 DC 192.168.10.196 BC:24:11:F9:54:86 ether5 main reachable 13 DC 192.168.10.194 BC:24:11:07:CB:7E ether5 main stale 14 DC 192.168.10.165 AE:A5:7A:71:4C:ED ether5 main stale 15 DC 192.168.10.167 3A:83:59:EA:A6:97 ether5 main stale 16 DC 10.111.9.189 C8:5B:76:72:54:D9 ether1 vrf-1 reachable 17 D 10.112.9.3 ether3 vrf-2 failed 18 D 10.111.9.1 ether1 vrf-1 failed
Netplan - Ubuntu
TODO
ENI - Debian
TODO
CLI
Tööpõhimõte
host: 192.168.111.198 -> enp6s19@vrf-moraal: 192.168.10.158 -> host: 192.168.10.210, .167, .254
Ettevalmistamine
root@pwrk-02:~# tail -n 1 /etc/iproute2/rt_tables 10 vrf-moraal
vrf lisamine süsteemi
root@pwrk-02:~# ip link add vrf-moraal type vrf table 10
root@pwrk-02:~# ip rule list
0: from all lookup local
1000: from all lookup [l3mdev-table]
32766: from all lookup main
32767: from all lookup default
root@pwrk-02:~# ifconfig vrf-moraal
vrf-moraal: flags=1152<NOARP,MASTER> mtu 65575
ether ee:5e:22:5a:a0:f0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@pwrk-02:~# ip link set vrf-moraal up
root@pwrk-02:~# ifconfig vrf-moraal
vrf-moraal: flags=1217<UP,RUNNING,NOARP,MASTER> mtu 65575
ether ee:5e:22:5a:a0:f0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Füüsilise võrguseadme kinnitamine vrf-moraal osakonna juurde
root@pwrk-02:~# ip link set enp6s19 master vrf-moraal
root@pwrk-02:~# ip link show dev enp6s19
3: enp6s19: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master vrf-moraal state DOWN mode DEFAULT group default qlen 1000
link/ether bc:24:11:20:17:c0 brd ff:ff:ff:ff:ff:ff
enp6s19 seadmele ip konfi lisamine
root@pwrk-02:~# ip addr add 192.168.10.158/24 dev enp6s19 root@pwrk-02:~# ip link set enp6s19 up root@pwrk-02:~# ip vrf exec vrf-moraal ping 192.168.10.167 PING 192.168.10.167 (192.168.10.167) 56(84) bytes of data. 64 bytes from 192.168.10.167: icmp_seq=1 ttl=64 time=0.313 ms 64 bytes from 192.168.10.167: icmp_seq=2 ttl=64 time=0.117 ms root@pwrk-02:~# ip vrf exec vrf-moraal ssh imre@192.168.10.210 imre@192.168.10.210's password:
Võrguseade vrf sees
root@pwrk-02:~# ip addr show vrf vrf-moraal
3: enp6s19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master vrf-moraal state UP group default qlen 1000
link/ether bc:24:11:20:17:c0 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.158/24 brd 192.168.10.255 scope global enp6s19
valid_lft forever preferred_lft forever
inet6 fe80::be24:11ff:fe20:17c0/64 scope link
valid_lft forever preferred_lft forever
Ruuting vrf peale main osakonnas
root@pwrk-02:~# ip route add 10.192.0.0/24 dev vrf-moraal
Ruuting vrf sees
root@pwrk-02:~# ip route show vrf vrf-moraal 192.168.10.0/24 dev enp6s19 proto kernel scope link src 192.168.10.158 root@pwrk-02:~# ip route add default via 192.168.10.254 dev enp6s19 table 10 root@pwrk-02:~# ip route replace default via 192.168.10.254 dev enp6s19 table 10 root@pwrk-02:~# ip route show vrf vrf-moraal default via 192.168.10.254 dev enp6s19 192.168.10.0/24 dev enp6s19 proto kernel scope link src 192.168.10.158
root@pwrk-02:~# ip route show vrf vrf-moraal default via 192.168.10.254 dev enp6s19 192.168.10.0/24 dev enp6s19 proto kernel scope link src 192.168.10.158
Kerneli seadistused, reply pakettide võrgust aktsepteerimiseks
root@pwrk-02:~# sysctl -w net.ipv4.udp_l3mdev_accept=1 net.ipv4.udp_l3mdev_accept = 1 root@pwrk-02:~# sysctl -w net.ipv4.tcp_l3mdev_accept=1 net.ipv4.tcp_l3mdev_accept = 1
Testimine
root@pwrk-02:~# ip route show table all root@pwrk-02:~# ip vrf exec vrf-moraal dig +short +tcp @10.192.0.53 mina.ee a root@pwrk-02:~# dig +short @10.192.0.53 auul.pri.ee a 80.235.106.149 root@pwrk-02:~# dig +tcp +short @10.192.0.53 auul.pri.ee a 80.235.106.149 root@pwrk-02:~# ip vrf show Name Table ----------------------- vrf-moraal 10 root@pwrk-02:~# dig +tcp +short @10.192.0.53 auul.pri.ee a 80.235.106.149 root@pwrk-02:~# ip neighbor show vrf vrf-moraal 192.168.10.210 dev enp6s19 lladdr 00:10:3a:79:22:22 STALE 192.168.10.167 dev enp6s19 lladdr 3a:83:59:ea:a6:97 STALE 192.168.10.254 dev enp6s19 lladdr 00:00:5e:00:01:03 REACHABLE
vrf osakonnas töötav veebiserver
root@pwrk-02:~# ip vrf exec vrf-moraal python3 -m http.server 8080 Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ... 192.168.10.156 - - [09/Mar/2026 21:18:48] "GET / HTTP/1.1" 200 - 192.168.10.156 - - [09/Mar/2026 21:18:50] "GET / HTTP/1.1" 200 - imre@moraal:~$ curl http://192.168.111.198:8080/ curl: (7) Failed to connect to 192.168.111.198 port 8080 after 0 ms: Couldn't connect to server imreoolberg@Imres-MacBook-Air ~ % curl http://192.168.10.158:8080/ <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Directory listing for /</title> ...
WireGuard
Tekitatakse wireguard saladused jms
[admin@MikroTik] /ip/firewall/mangle> /interface wireguard [admin@MikroTik] /interface/wireguard> print Flags: X - disabled; R - running [admin@MikroTik] /interface/wireguard> add listen-port=51820 name=wg-remote [admin@MikroTik] /interface/wireguard> print Flags: X - disabled; R - running 0 R name="wg-remote" mtu=1420 listen-port=51820 public-key="Q1e/oc3eRckL6UUmGvxwwtdhN7Hri5CySsNiDUnU7TU="
Lisatakse wireguard võrguliidesele wg-remote ip seadistus
[admin@MikroTik] /interface/wireguard> /ip address [admin@MikroTik] /ip/address> print Columns: ADDRESS, NETWORK, INTERFACE, VRF # ADDRESS NETWORK INTERFACE VRF 0 192.168.10.77/24 192.168.10.0 ether5 main 1 192.168.134.77/24 192.168.134.0 bridge1 main 2 10.112.9.3/24 10.112.9.0 ether3 vrf-2 3 10.111.9.1/24 10.111.9.0 ether1 vrf-1 [admin@MikroTik] /ip/address> add address=192.168.71.77/24 interface=wg-remote network=192.168.71.0 [admin@MikroTik] /ip/address> print Columns: ADDRESS, NETWORK, INTERFACE, VRF # ADDRESS NETWORK INTERFACE VRF 0 192.168.10.77/24 192.168.10.0 ether5 main 1 192.168.134.77/24 192.168.134.0 bridge1 main 2 10.112.9.3/24 10.112.9.0 ether3 vrf-2 3 10.111.9.1/24 10.111.9.0 ether1 vrf-1 4 192.168.71.77/24 192.168.71.0 wg-remote main
Peer partneri kirjeldamine
[admin@MikroTik] /ip/address> /interface wireguard peers [admin@MikroTik] /interface/wireguard/peers> print [admin@MikroTik] /interface/wireguard/peers> add allowed-address=192.168.71.2/32 interface=wg-remote public-key="OQu1uuI1SqQnCska0HSSSw1n5aJFP2K05m+DcjzBsVg=" [admin@MikroTik] /interface/wireguard/peers> print Columns: INTERFACE, PUBLIC-KEY, ENDPOINT-PORT, ALLOWED-ADDRESS # INTERFACE PUBLIC-KEY ENDPOINT-PORT ALLOWED-ADDRESS 0 wg-remote OQu1uuI1SqQnCska0HSSSw1n5aJFP2K05m+DcjzBsVg= 0 192.168.71.2/32
Mikrotik ruuter
Tööpõhimõte
Eesmärgiks on moodustada Mikrotik seadme abil kaugligipääsu lahendus nö tava-teenus-tulemüüri kõrvale häda olukorraks
kus
- joonisel ülemisel liinil on internet
- joonisel ülevalt teisel liinil paremal helerohelisega on kujutatud nö tavaline kaugligipääs eemalt sisevõrgu ressurssidele üle ipsec vpn; üle sama openbsd tulemüüri toimub ka teenus-liiklus (kohtvõrgu ja interneti vahel)
- joonisel ülevalt teisel liinil vasakul helepruuniga on kujutatud nö mikrotik-põhine kaugligipääs (millele on käesolev punkt keskendunud)
- joonisel allapoole jäävad sisevõrgu ressursid (switchid ja arvutid)
- switch haldusliidestele pääsetakse tavalisel juhul ligi tava-teenus-tulemüüri kaudu
- häda olukorras käivitatakse wireguard vpn kanal mikrotik seadmega
- üle wireguard ruuditakse igasugune liiklus remote asukoha sisevõrkudesse
- üle wireguard ruuditakse switchide haldusliideste liiklus, täpsemalt üle vrf-01 ja vrf-02 selleks, et switchidele ei tekiks kahte omavahelise kontakti kanalit, spanning tree nö väljakutset jms
- switchidest on füüsiline otseühendus mikrotik füüsiliste portidega
- 'Mikrotik ruuter' väljendab asjaolu, et seade on kasutusel ilma bridge seadistusteta
Käsundamine
Esmalt lähtestatakse seade factory configuration seisu, seejärel eemaldatakse factory configuration (nt peale ssh sisselogimist pressitakse 'r'). Seejärel nt winbox abil sisenedes öeldakse terminal aknas
/ip address add address=192.168.10.76/24 interface=ether1 /ip route add dst-address=0.0.0.0/0 gateway=192.168.10.254 /ip dns set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes /user set admin password="parool"
vlan liideste kirjeldamine
[admin@MikroTik] > /interface vlan [admin@MikroTik] /interface/vlan> add name=vlan506 vlan-id=506 interface=ether2 [admin@MikroTik] /interface/vlan> add name=vlan507 vlan-id=507 interface=ether2 [admin@MikroTik] /interface/vlan> add name=vlan509 vlan-id=509 interface=ether2 [admin@MikroTik] /interface/vlan> /ip address [admin@MikroTik] /ip/address> add address=10.0.6.76/24 interface=vlan506 [admin@MikroTik] /ip/address> add address=10.0.7.76/24 interface=vlan507 [admin@MikroTik] /ip/address> add address=10.0.9.76/24 interface=vlan509
Tekitatakse vrf seadistused
[admin@MikroTik] > /ip vrf [admin@MikroTik] /ip/vrf> add interfaces=ether3 name=vrf-01 [admin@MikroTik] /ip/vrf> add interfaces=ether4 name=vrf-02 [admin@MikroTik] /ip/vrf> /ip address [admin@MikroTik] /ip/address> add address=10.0.9.216/24 interface=ether3 [admin@MikroTik] /ip/address> add address=10.0.9.226/24 interface=ether4
Wireguard serveri tekitamine
[admin@MikroTik] > /interface wireguard [admin@MikroTik] /interface/wireguard> add listen-port=13231 mtu=1420 name=wg-01 [admin@MikroTik] /interface/wireguard> /ip address [admin@MikroTik] /ip/address> add address=192.168.72.76/24 interface=wg-01 [admin@MikroTik] /ip/address> /interface wireguard peers [admin@MikroTik] /interface/wireguard/peers> add allowed-address=192.168.72.2/32 interface=wg-01 public-key="ly32SABjBnCN4xshp+23LI+JJXwol1FqrAtlbi6/VA8=" comment="Remote Management Client"
vrf osakondadesse switchide haldusliikluse suunamine (ruutimine)
[admin@MikroTik] > /ip route [admin@MikroTik] /ip/route> add dst-address=10.0.9.21/32 gateway=ether3@vrf-01 routing-table=main [admin@MikroTik] /ip/route> add dst-address=10.0.9.22/32 gateway=ether4@vrf-02 routing-table=main
vrf osakondadest main peale tagasi-pakettide suunamine (ruutimine)
[admin@MikroTik] > /ip route [admin@MikroTik] /ip/route> add dst-address=192.168.72.0/24 gateway=wg-01@main routing-table=vrf-01 [admin@MikroTik] /ip/route> add dst-address=192.168.72.0/24 gateway=wg-01@main routing-table=vrf-02
nat teisendused vrf oskonnas, vastasel korral saadavad switchid vastuspaketid oma default gateway 10.0.9.1 peale
[admin@MikroTik] > /ip/firewall/nat [admin@MikroTik] /ip/firewall/nat> add chain=srcnat action=src-nat to-addresses=10.0.9.216 out-interface=ether3 dst-address=10.0.9.21/32 [admin@MikroTik] /ip/firewall/nat> add chain=srcnat action=src-nat to-addresses=10.0.9.226 out-interface=ether4 dst-address=10.0.9.22/32
Mõnes tekstis soovitatakse pöörata tähelepanu 'loose-tcp-tracking' väärtusele, et see oleks 'yes', paistab, et vaikimisi nii on
[admin@MikroTik] > /ip firewall connection tracking print
enabled: yes
active-ipv4: yes
active-ipv6: yes
tcp-syn-sent-timeout: 5s
tcp-syn-received-timeout: 5s
tcp-established-timeout: 1d
tcp-fin-wait-timeout: 10s
tcp-close-wait-timeout: 10s
tcp-last-ack-timeout: 10s
tcp-time-wait-timeout: 10s
tcp-close-timeout: 10s
tcp-max-retrans-timeout: 5m
tcp-unacked-timeout: 5m
loose-tcp-tracking: yes
liberal-tcp-tracking: no
udp-timeout: 10s
udp-stream-timeout: 3m
icmp-timeout: 10s
generic-timeout: 10m
max-entries: 94208
total-entries: 121
total-ip4-entries: 121
total-ip6-entries: 0
Märkused
- antud juhul ei ole üldse kasutusel tulemüüri reegleid, st kõik liiklus on lubatud - see ei ole kindlasti reaalseks kasutamiseks asjakohane
- kõigil mikrotik vrf'idel, st 'main', 'vrf-01' ja 'vrf-02' on kontakt 10.0.9.0/24 võrguga, eriti kui nt pingida mikrotik seadme enda seest (planeeritud kasutuse puhul sellist mikrotik juurest pakettide väljumise mitmekesisust ei toimu, vpn pealt pöördudes alati toimub 10.0.9.21 peale liikumine vrf-01 kaudu, ja 10.0.9.22 peale liikumine vrf-02 kaudu)
[admin@MikroTik] > /tool/ping 10.0.9.21 vrf=main [admin@MikroTik] > /tool/ping 10.0.9.21 vrf=vrf-01 [admin@MikroTik] > /tool/ping 10.0.9.21 vrf=vrf-02
mikrotik perspektiivist
[admin@MikroTik] > /ip arp print where address=10.0.9.21 Flags: D - DYNAMIC; C - COMPLETE Columns: ADDRESS, MAC-ADDRESS, INTERFACE, VRF, STATUS # ADDRESS MAC-ADDRESS INTERFACE VRF STATUS 5 DC 10.0.9.21 A6:BA:C6:4E:A7:C0 vlan10 main reachable 17 DC 10.0.9.21 A6:BA:C6:4E:A7:C0 ether4 vrf-02 reachable 18 DC 10.0.9.21 A6:BA:C6:4E:A7:C0 ether3 vrf-01 reachable
kus
- erinevatest vrf'idest paistab 10.0.9.21 seade ikka sama seadmena (mac A6:BA:C6:4E:A7:C0)
- 10.0.9.21 juurde jõutakse väljudes vrf-02 juurest läbidest switchi-02 (ja switchide vahelise interconnect kaabli)
- kõigist kolmest vrf'ist saab samaaegselt stabiilse ühenduse switchi haldusliidesega aadressil 10.0.9.21 st ei toimu ip konflikti vms)
10.0.9.21 seadme perspektiivist (väljundi esitus on illustratiivne kuna 10.0.9.21 ei ole antud näites arvuti)
# arp -an | egrep "10.0.9.76|10.0.9.216|10.0.9.226" ? (10.0.9.21.216) at 74:4d:28:84:05:11 [ether] on vlan10 ? (10.0.9.21.226) at 74:4d:28:84:05:12 [ether] on vlan10 ? (10.0.9.21.76) at 74:4d:28:84:05:10 [ether] on vlan10
kus
- 10.0.9.21 seadme jaoks paistavad kolm pöördumist erinevatel ip ja mac aadressidelt
- erinevatel mac aadressidelt selle tõttu, et mikrotik on kinnitatud kolme erineva füüsilise port abil, ja igale vastab oma füüsiline ethernet liides oma unikaalse füüsilise seadmele vastava mac aadressiga
Lets Encrypt kasutamine
TODO
[admin@MikroTik] > /certificate enable-ssl-certificate dns-name=mt.auul.pri.ee











