MikroTik RouterOS

Allikas: Imre kasutab arvutit
Redaktsioon seisuga 13. märts 2023, kell 01:50 kasutajalt Imre (arutelu | kaastöö) (Uus lehekülg: '===Sissejuhatus=== MikroTik http://www.mikrotik.com/ ... Käesolev tekst on koostatud tuginedes peamiselt 'hAP ac' seadme kasutusele. ===Tööpõhimõte=== Osutub, et tavalist...')
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

MikroTik http://www.mikrotik.com/ ... Käesolev tekst on koostatud tuginedes peamiselt 'hAP ac' seadme kasutusele.

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

TODO

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

Fail:Mikrotik-1.gif

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

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

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

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

Kasulikud lisamaterjalid