Domácí Mikrotik

12.11.2014

Dnes bych chtěl začínajícím uživatelům Mikrotiku jako domácího routeru zdokumentovat jeden z možných postupů, jak se z defaultního nastavení dostat k domácímu routeru s více bezpečnostními zónami bez dalších featur.

Hardware a OS

V našem případě se bude jednat o celkem levný hw, konkrétně Mikrotik RouterBOARD RB951G-2HnD.

Procesor:

Atheros AR9344 600MHz 1 core

RAM:

128MB

Síť:

5x 1Gbps Ethernet

1x 2,4GHz 802.11b/g/n 1W Wifi (anténa je zde zabudovaná) s funkcí AP

možnost připojeni dongle do USB pro LTE

Napájení:

DC 8-30V

PoE 8-30V na eth1

maximální příkon 7W

OS:

RouterBoard (doporučuji upgrade na v tuto chvíli aktuální verzi 6.21.1 a firmware na 3.19)

Podpora IPv6, firewalling, IPSECu, apod. je u Mikrotiku samozřejmostí.

Počáteční nastavení

eth1 - určeno pro WAN

eth2-eth5 využito jako switch s master portem eth2

Wifi bridge se switchovanými porty s nastavenou IP adresou 192.168.88.1

Na WAN interface nastaven DHCP klient, firewalling s omezením přístupu na tento interface a do switchované sítě.

Je také nastaven masquerading do WAN interface.

Popis situace pro konečné nastavení

  • WAN port (outside interface eth1) připojen k providerovi a bude konfigurováno via DHCP.
  • Ethernet porty nebudou sloužit jako switch, ale bude mezi nimi routováno.
  • Ethernet porty budou využity následovně: eth2 - inside (vnitřní klienti), eth3 - dmz (různé NAS, server, apod.), eth4 - neighbour (případné připojení s někým dalším), eth5 - mgmt (přístup pro management).
  • Wifi rozhraní wifi1 nastavíme pomocí webového rozhraní.
  • Z inside a management rozhraní bude možné provádět správu Mikrotiku.
  • Všechny rozhraní budou mít masquerading do WAN (outside) interface.
  • Na rozhraních inside a neighbour a Wifi bude nastaven DHCP server.
  • Do dmz interface bude nastaven port forwarding na ssh port na server 10.0.2.33.
  • Ze zařízení na inside rozhraní bude povolena komunikace na zařízení na dmz rozhraní.

Postup nastavení

Veškeré základní nastavení provádíme pomocí ssh na adresu bridge - viz výše. Port pro připojení může být kterýkoliv kromě prvního. Počáteční credentials pro správu jsou admin/(prázdné heslo).

Po přihlášení se dozvíme, jak se pohybovat v shellu Mikrotiku (není používán jeden ze standardních linuxových shellů):

  MMM      MMM       KKK                          TTTTTTTTTTT      KKK
  MMMM    MMMM       KKK                          TTTTTTTTTTT      KKK
  MMM MMMM MMM  III  KKK  KKK  RRRRRR     OOOOOO      TTT     III  KKK  KKK
  MMM  MM  MMM  III  KKKKK     RRR  RRR  OOO  OOO     TTT     III  KKKKK
  MMM      MMM  III  KKK KKK   RRRRRR    OOO  OOO     TTT     III  KKK KKK
  MMM      MMM  III  KKK  KKK  RRR  RRR   OOOOOO      TTT     III  KKK  KKK

  MikroTik RouterOS 6.21.1 (c) 1999-2014       http://www.mikrotik.com/

[?]             Gives the list of available commands
command [?]     Gives help on the command and list of arguments

[Tab]           Completes the command/word. If the input is ambiguous,
                a second [Tab] gives possible options

/               Move up to base level
..              Move up one level
/command        Use command at the base level

Pozn.: verze dodávaná při prodeji se bude nejspíše lišit od této, kde jsme již po upgrade.

Izolace ethernet portů

/interface ethernet
set ether2-master-local master-port=none
set ether3-slave-local master-port=none
set ether4-slave-local master-port=none
set ether5-slave-local master-port=none

Přejmenování ethernet portů

set ether2-master-local name=inside
set ether3-slave-local name=dmz
set ether4-slave-local name=neighbour
set ether5-slave-local name=mgmt
set ether1-gateway name=outside

Nastavení IP adresy pro mgmt interface

/ip address
add address=10.0.11.1/24 interface=mgmt
add address=10.0.1.1/24 interface=neighbour
add address=10.0.2.1/24 interface=dmz
add address=10.0.0.1/24 interface=inside

V tuto chvíli je vhodné se připojit do eth5 (mgmt) na IP adresu 10.0.11.1 a pokračovat v konfiguraci.

Nastavení DHCP klienta pro outside interface

/ip dhcp-client
remove 0
add interface=outside add-default-route=yes use-peer-dns=yes
enable 0

Odstranění bridge

/interface bridge
remove 0

Nastavení DHCP serveru pro inside a neighbour

/ip pool
remove 0
add name=dhcp-pool-inside ranges=10.0.0.20-10.0.0.250
add name=dhcp-pool-neighbour ranges=10.0.1.20-10.0.1.250      
/ip dhcp-server network
remove 0
add address=10.0.0.0/24 comment=inside dns-server=8.8.8.8 gateway=10.0.0.1
add address=10.0.1.0/24 comment=neighbour dns-server=8.8.8.8 gateway=10.0.1.1
/ip dhcp-server
remove 0
add interface=inside lease-time=24h address-pool=dhcp-pool-inside authoritative=yes disabled=no name=dhcp-inside
add interface=neighbour  lease-time=24h address-pool=dhcp-pool-neighbour  authoritative=yes disabled=no name=dhcp-neighbour

Jako IP adresy nameserverů samozřejmě nastavte správné adresy.

Nastavení času

/system clock
set date=sep/18/2011
set time=00:10:00
set time-zone-name=Europe/Prague

Nastavení NTP synchronizace

/system ntp client
set enabled=yes primary-ntp=195.113.144.238 secondary-ntp=195.113.144.201 mode=unicast

Nastavení hostname

/system identity set name=FW

Zákaz Wifi

/interface wireless
disable 0

Nastavení firewallu

/ip firewall
/ip firewall filter
add chain=input action=accept protocol=icmp
add chain=input action=accept connection-state=established
add chain=input action=accept connection-state=related
add chain=input action=drop connection-state=invalid
add chain=input action=accept in-interface=inside
add chain=input action=accept in-interface=mgmt
add chain=input action=drop
add chain=forward action=accept connection-state=established
add chain=forward action=accept connection-state=related
add chain=forward action=drop connection-state=invalid
add chain=forward action=accept in-interface=dmz out-interface=outside
add chain=forward action=accept in-interface=neighbour out-interface=outside
add chain=forward action=accept in-interface=inside out-interface=outside
add chain=forward action=accept in-interface=inside out-interface=dmz
add chain=forward action=accept protocol=tcp dst-address=10.0.2.33 in-interface=outside dst-port=22
add chain=forward action=drop

Nastavení překladu adres

/ip firewall nat
add chain=srcnat action=masquerade to-addresses=0.0.0.0 out-interface=outside
add chain=dstnat action=dst-nat to-addresses=10.0.2.33 to-ports=22 protocol=tcp in-interface=outside dst-port=22

Konfigurace Wifi

Linkovou vrstvu Wifi rozhraní (tedy parametry vlastního rádia a autentizace) jsem nastavil pomoci webového rozhraní, protože to celou záležitost urychlí a usnadní. Toto popisovat nejspíše nemusím, nicméně pro jistotu uvedu shell ekvivalent tohoto nastavení. Doporučuji zohlednit lokální podmínky zejména u nastavení rádia.

/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-psk eap-methods=passthrough group-ciphers=tkip,aes-ccm group-key-update=5m interim-update=0s \
    management-protection=allowed management-protection-key=xxxxxxxxx mode=dynamic-keys name=default radius-eap-accounting=yes radius-mac-accounting=yes \
    radius-mac-authentication=no radius-mac-caching=disabled radius-mac-format=XX:XX:XX:XX:XX:XX radius-mac-mode=as-username static-algo-0=none \
    static-algo-1=none static-algo-2=none static-algo-3=none static-key-0="" static-key-1="" static-key-2="" static-key-3="" static-sta-private-algo=none \
    static-sta-private-key="" static-transmit-key=key-0 supplicant-identity=MikroTik tls-certificate=none tls-mode=no-certificates unicast-ciphers=\
    tkip,aes-ccm wpa-pre-shared-key="" wpa2-pre-shared-key=xxxxxxxxx
/interface wireless
set 0 adaptive-noise-immunity=none allow-sharedkey=no antenna-gain=0 area="" arp=enabled band=2ghz-b/g/n basic-rates-a/g=6Mbps basic-rates-b=1Mbps \
    bridge-mode=disabled channel-width=20/40mhz-ht-above compression=no country=no_country_set default-ap-tx-limit=0 default-authentication=yes \
    default-client-tx-limit=0 default-forwarding=yes dfs-mode=none disable-running-check=no disabled=no disconnect-timeout=3s distance=indoors \
    frame-lifetime=0 frequency=2412 frequency-mode=manual-txpower frequency-offset=0 hide-ssid=no ht-ampdu-priorities=0 ht-amsdu-limit=8192 \
    ht-amsdu-threshold=8192 ht-basic-mcs=mcs-0,mcs-1,mcs-2,mcs-3,mcs-4,mcs-5,mcs-6,mcs-7 ht-guard-interval=any ht-rxchains=0,1 ht-supported-mcs="mcs-0,mcs-1\
    ,mcs-2,mcs-3,mcs-4,mcs-5,mcs-6,mcs-7,mcs-8,mcs-9,mcs-10,mcs-11,mcs-12,mcs-13,mcs-14,mcs-15,mcs-16,mcs-17,mcs-18,mcs-19,mcs-20,mcs-21,mcs-22,mcs-23" \
    ht-txchains=0,1 hw-fragmentation-threshold=disabled hw-protection-mode=none hw-protection-threshold=0 hw-retries=7 l2mtu=2290 mac-address=\
    D4:CA:6D:A8:A2:93 max-station-count=2007 mode=ap-bridge mtu=1500 multicast-helper=default name=wlan1 noise-floor-threshold=default nv2-cell-radius=30 \
    nv2-noise-floor-offset=default nv2-preshared-key="" nv2-qos=default nv2-queue-count=2 nv2-security=disabled on-fail-retry-time=100ms \
    periodic-calibration=default periodic-calibration-interval=60 preamble-mode=both proprietary-extensions=post-2.9.25 radio-name=D4CA6DA8A293 \
    rate-selection=advanced rate-set=default scan-list=default security-profile=default ssid=ahimsa station-bridge-clone-mac=00:00:00:00:00:00 \
    supported-rates-a/g=6Mbps,9Mbps,12Mbps,18Mbps,24Mbps,36Mbps,48Mbps,54Mbps supported-rates-b=1Mbps,2Mbps,5.5Mbps,11Mbps tdma-period-size=2 \
    tx-power-mode=default update-stats-interval=disabled wds-cost-range=50-150 wds-default-bridge=none wds-default-cost=100 wds-ignore-ssid=no wds-mode=\
    disabled wireless-protocol=802.11 wmm-support=disabled
/interface wireless manual-tx-power-table
set wlan1 manual-tx-powers="1Mbps:17,2Mbps:17,5.5Mbps:17,11Mbps:17,6Mbps:17,9Mbps:17,12Mbps:17,18Mbps:17,24Mbps:17,36Mbps:17,48Mbps:17,54Mbps:17,HT20-0:17,H\
    T20-1:17,HT20-2:17,HT20-3:17,HT20-4:17,HT20-5:17,HT20-6:17,HT20-7:17,HT40-0:17,HT40-1:17,HT40-2:17,HT40-3:17,HT40-4:17,HT40-5:17,HT40-6:17,HT40-7:17"
/interface wireless nstreme
set wlan1 disable-csma=no enable-nstreme=no enable-polling=no framer-limit=3200 framer-policy=none
/interface wireless align
set active-mode=yes audio-max=-20 audio-min=-100 audio-monitor=00:00:00:00:00:00 filter-mac=00:00:00:00:00:00 frame-size=300 frames-per-second=25 \
    receive-all=no ssid-all=no
/interface wireless sniffer
set channel-time=200ms file-limit=10 file-name="" memory-limit=10 multiple-channels=no only-headers=no receive-errors=no streaming-enabled=no \
    streaming-max-rate=0 streaming-server=0.0.0.0
/interface wireless snooper
set channel-time=200ms multiple-channels=yes receive-errors=no

Konfigurace IP adres pro Wifi

/ip address
add address=10.0.5.1/24 interface=wlan1

Konfigurace DHCP serveru pro Wifi

/ip pool
add name=dhcp-pool-wlan1 ranges=10.0.5.20-10.0.5.250
add address=10.0.5.0/24 comment=wlan1 dns-server=8.8.8.8 gateway=10.0.5.1
/ip dhcp-server
add interface=wlan1 lease-time=24h address-pool=dhcp-pool-wlan1  authoritative=yes disabled=no name=dhcp-wlan1

Konfigurace firewallu pro wifi

/ip firewall filter
add chain=forward action=accept in-interface=wlan1 out-interface=outside
add chain=forward action=accept in-interface=wlan1 out-interface=dmz

Zákaz některých mgmt služeb běžících na Mikrotiku

/ip service disable <cislo>
/ip service print
--snip
 0 X telnet                                23
 1 X ftp                                   21
 2 X www                                   80
 3   ssh                                   22
 4 X www-ssl                              443                                                                         none                                   
 5 X api                                 8728
 6 X winbox                              8291
--snip

Druhý příkaz v předchozím výpisu je pouze výpis nastavení. Pro vlastní nastavení samozřejmě použijte příkaz první a jako <cislo> použijte číslo řádku služby, kterou chcete zakázat - podle situace.

Nastavení hesla administrátora

/user edit admin password

a zadejte heslo.

  • obsah/it_obecne/mikrotik.txt
  • Last modified: 2018/10/17 18:57
  • by profors