Links
MikroTik
Mikrotik Download
MikroTik RouterOS Documentation
MikroTik Documentation Kategorien
MikroTik Tutorial (YouTube)
MikroTik Tutorial DMZ (YouTube)
Der Deutsche MikroTik Blog
Forum MikroTik
mikrotik-forum.de
Wiki Anleitung Inbetriebnahme
Wiki RouterOS software manual
Wiki MikroTik Console
Wiki Troubleshooting
Wiki Manual:Scripting
wirelessinfo.be
RouterOS basierte Systeme absichern
Tutorial: WLAN-Controller / WLAN-Roaming im Heimnetz
Default Einstellung | |
---|---|
IP-Adresse | 192.168.88.1 |
User | admin |
Passwort | kein Passwort vergeben |
ein mal Pipen - Bootloader startet das System
zwei mal Pipen
- Systemstart ist beendet
Ports eines Routers der belegt ist, wird in normaler Schrift dargestellt und Ports die nicht belegt sind werden in kusiver Schrift dargestellt.
in der WinBox kann eine Datei per Drag and Drop zum Host kopiert werden. Ansonsten per FTP, SSCP u.a.
ist der Router (Software) nicht lizenziert, ist Routing, ICMP, SSH nicht möglich.
- Lizenz Level anzeigen
/system license print
- Konfiguration sichern
WebFig | Files | Backup
- Gerät zurücksetzen
WebFig | System | Reset Configuration
Keep User Configuration - Benutzer Einstellungen verwerfen (angelegte Benutzer bleiben erhalten)
No Default Configuration - keine Defaultkonfiguration laden (ist nicht empfohlen)
Do Not Backup - vor dem Reset wird kein Backup angelegt
- Gerät macht einen Reset und die aktuelle Konfiguration wird verworfen (Gerät ist ohne Konfiguration)
/system reset-configuration skip-backup=yes no-defaults=yes
per Reset Taste
- Benutzerpasswort setzen für den User admin
WebFig | System | Users
/password old-password="" new-password="Geheim" confirm-new-password="Geheim"
- IP-Adresse setzen
WebFig | Quick Set | WISP AP
oder
WebFig | IP | Addresses
IP | DNS
IP | Routes
Enabled: aktivieren
Dst. Address: 0.0.0.0/0
Gateway: <IP des Gateways>
- System Updates einspielen
WebFig | System | Packages
Check For Updates
- VLAN Einstellungen
WebFig | Interfaces | VLAN
Add New
Enabled: aktivieren
Name: vlan1
VLAN ID: 1
Interface: bridge1
- Zugriff per SSH von einem zum anderen Mikrotik
/system ssh user=admin address=<IP-Adresse>
- in der WinBox unter /ip Neighbors
, dann rechte Maus auf einen anderen AP und MAC Telnet
wählen. Wenn der Zugriff über die IP-Adresse nicht mehr funtioniert, hat man jetzt Zugriff über die MAC Adresse und kann auch eine Bridge über Remote umbauen.
Befehle | Beschreibung |
---|---|
Navigation im System | |
/ | zur Root Ebene wechseln |
.. | eine Ebene höher |
: | Befehl aus dem Root auf der aktuellen Ebene ausführen |
:Befehl | Parameter zum angegebenen Befehl werden abgefragt |
TAB Taste | mögliche Befehle der aktuellen Ebene als Liste anzeigen |
doppelte TAB Taste | mögliche Befehle der aktuellen Ebene als Liste anzeigen |
? | mögliche Befehle der aktuellen Ebene mit Beschreibung anzeigen |
aktuelle Einstellungen anzeigen | |
print detail | Erweiterte Ausgabe |
print follow-only | letzte Zeile ausgeben, neu anfallende Daten danach fortlaufend |
print follow | komplett ausgeben, neu anfallende Daten danach fortlaufend |
export | Scriptexport der Konfiguration, Standardausgabe Bildschirm |
quit | aktuelles Terminal beenden/disconnect |
Hardware | |
/sys routerboard print | Serial Nummer des RouterBoards anzeigen |
System | |
/system resource print | System Infos anzeigen, CPU, Speicherbelegung u.a. |
/system resource monitor | aktuelle CPU und Speicherbelegung fortlaufend anzeigen |
/password | Passwort neu setzen |
/system reboot | Router neu starten |
/system shutdown | Router herunterfahren |
/system reset-configuration | Zurücksetzen |
/ip address export file=ip-adressen | IP-Adressen in Datei ausgeben |
/export | aktuelle Konfiguration ausgeben, Änderungen und Standard Einstellungen |
/export compact | aktuelle Konfiguration ausgeben, nur Änderungen |
/export show-sensitive file=config.rsc | Konfiguration als Script exportieren, Datei kann dann unter WebFig | Files gedownloaded werden (Passworte werden mit exportiert show-sensitive ) |
/import <file.rsc> | angegebenes Script ausführen |
Paketsystem | |
/system package print | installierte Pakete anzeigen |
/system package uninstall ppp; /system reboot; | Pakete deinstallieren und neu starten |
/system package update check-for-updates | System Upgrade Check |
/system package disable hotspot; /system reboot; | Paket deaktivieren und neu starten |
/system package unschedule ipv6 | Aktion abbrechen |
Backup / Restore | |
/system backup save name=<Backup File> | Backup anfertigen |
/file print | Backup Dateien anzeigen |
/system backup load name=<Backup File> | Restore einspielen, danach wird neu gestartet |
/export show-sensitive file=2016.01.01 | die Script Sicherung kann in ein anderes Gerät übernommen werden |
/system reset-configuration | Gerät zurücksetzen, auf Werkseinstellung |
/import 2016.01.01.rsc | Script in ein anderes Gerät einspielen |
Allgemeines | |
/ip service print | laufenden Dienste anzeigen |
/log print follow | komplettes LOG fortlaufend ausgeben |
/log print follow-only | letzte LOG Zeile ausgeben, danach alle neu auflaufenden |
/log print detail | Detailierte Ausgabe, farblich Übersichtlicher |
/system logging action set memory memory-lines=1 /system logging action set memory memory-lines=100 |
Mikrotik LOG History löschen |
Netzwerk | |
/ip route print | Route ausgeben |
/ip route add dst-address=192.168.17.0/30 gateway=192.168.88.254 | Route setzen |
/ip dns cache print follow | aktuellen DNS Cache fortlaufend anzeigen |
/ip dns cache flush | DNS Cache löschen |
/ip dns print | DNS Server des Routers ausgeben IPv4 und IPv6 |
/ip dns set server=<IP-DNS-Server> | DNS Server setzen |
/ip dns static add name=mt.domain.tld address=192.168.0.254 | Namen im DNS des Routers eintragen |
wol interface=ether1 mac=CC:2D:E0:XX:YY:ZZ | Wake-on-LAN |
Netzwerk IPv6 | |
/ipv6 address print | IPv6 Adressen anzeigen |
/ipv6 firewall | IPv6 Firewall Einstellungen anzeigen |
/ipv6 firewall connection print follow | IPv6 Firewall Verbindungen fortlaufend anzeigen |
/ipv6 nd print | Neighbor-Discovery Einstellungen anzeigen |
/ipv6 nd set [f] advertise-dns=yes | DNS Einstellungen per Router Advertisements mit übergeben |
/ipv6 nd prefix print | Neighbor-Discovery Prefix ausgeben |
/ipv6 neighbor print | Neighbor Cache anzeigen |
/ipv6 route print | aktuelle Route für IPv6 anzeigen |
Schnittstellen | |
/interface print | definierten Netzwerk Interfaces anzeigen |
/interface print detail | definierten Netzwerk Interfaces erweiterte Anzeige |
/ip address print | IP Adressen der Schnittstellen anzeigen |
/interface monitor-traffic interface=br1-lan,e1-wan | aktuelle Traffic der Schnittstellen anzeigen |
/interface vlan print detail | VLAN Einstellungen ausgeben |
Diagnose | |
:ping [:resolve ipv6.google.com] | IPv6 Adresse auflösen, dann Server anpingen |
/ping c=2 www.google.de | ping mit Counter, nur die angegebene Anzahl von pings ausführen |
:put [:resolve ipv6.google.com] | IP-Adresse auflösen und ausgeben |
/tool traceroute [:resolve ipv6.google.com] | |
Überwachung | |
/tool torch sw2-e09-gateway ip-protocol=any | Traffic Monitoring Tool - aktuelle Traffic aller Protokolle des angegebenen Interface ausgeben |
/tool torch sw2-e09-gateway port=http | Traffic des Port 80 anzeigen |
/tool torch ether1 ip-protocol=icmp | ICMP Traffic auf ether1 anzeigen |
/tool torch ether1 ip-protocol=any | |
/tool torch sw2-e10-local src-address=0.0.0.0/0 src-address6=::/0 | aktuelle IPv4 und IPv6 Verbindungen und Datenrate anzeigen |
/tool bandwidth-server set enabled=yes authenticate=yes | Bandbreiten-Test Server aktivieren |
/tool bandwidth-test protocol=udp user=admin password="" direction=both address=10.0.1.5 | Bandbreiten Test ausführen |
/tool sniffer set streaming-enabled=yes streaming-server=192.168.88.20 | Paket Sniffer konfigurieren |
/tool sniffer start | Mittschnitt starten |
/tool sniffer stop | Mittschnitt stoppen |
/tool sniffer save file-name=sniffer.cap | Datei speichern, kann dann mit Wireshark geöffnet werden |
/tool bandwidth-server print | Bandbreitentest, der Server ist per Default aktiv |
/tool bandwidth-test protocol=udp user=admin password="" direction=both address=192.168.88.1 | Bandbreitentest Client starten, zur Authentifizierung wird die Routeranmeldung benutzt |
/tool profile duration=20 | Übersicht uber die Auslastung des Boards, 20s wird die Auslastung im Beispiel überwacht |
Remote Login/Management | |
/system ssh user=admin address=<IP-Adresse> | Login auf ein anderes System, mit command kann man auch gleich einen Befehl ausführen |
/tool fetch mode=ftp upload=yes\ address=192.168.88.254 user=admin password="123456" \ src-path=ap1.rsc dst-path=ap1.rsc |
Datei zwischen zwei Geräten (Mikrotik/Mikrotik oder Mikrotik/PC) übertragen. Übertragung wird auf dem Mikrotik gestartet (mode=ftp http https tftp) |
- SSH Key erstellen und auf dem Router importieren, der Public Key muss ein DSA Key sein.
ssh-keygen -t dsa scp id_dsa.pub admin@192.168.1.1:
Key erstellen, Datei übertragen und Key Import unter System | Users | SSH Keys | Import SSH Keys. !! Wenn der SSH Key importiert für den Benutzer importiert wurde, kann man sich per SSH nur noch über das Zertifikat einloggen, ein Login per Kennwort ist dann nicht mehr möglich !!
MikroTik Paket Download, beim passenden Prozessor unter Extra packages die .zip Datei downloaden und die .npk zum nachinstallieren entpacken.
Die .npk Datei auf den Router laden, im WebFig | Files | Upload: Durchsuchen, Datei wird direkt auf der obersten Ebene abgelegt, danach den Router neu starten. Das Paket wird automatisch installiert.
/file print /system reboot /system package print
- Server starten
/tool bandwidth-server set enabled=yes authenticate=yes /tool bandwidth-server print
- Test durchführen
/tool bandwidth-test protocol=udp user=admin password="" direction=both address=10.0.1.5
Paket | Beschreibung |
---|---|
advanced-tools | eMail Client, pingers, netwatch, ip-scan, sms tool, wake-on-LAN |
calea | data gathering tool for specific use due to "Communications Assistance for Law Enforcement Act" in USA |
lcd | x86 - LCD panel support for serial/parallel port devices. Not needed for RouterBOARD LCD panels |
ntp | NetworkTimeProtocol Support NTP Client und NTP Server |
routing | dynamic routing protocols like RIP, BGP, OSPF and routing utilities like BFD, filters for routes |
security | IPSEC, SSH, Secure WinBox |
ups | APC SmartMode UPS Support |
wireless-cm2 | CAPsMAN v2 |
wireless-fp | Wireless, CAPsMAN v1 |
Tasten | Beschreibung |
---|---|
CTRL + C | Abbruch |
CTRL + D | Logout |
CTRL + V | Hotlock Mode - Befehle werden automatisch vervollständigt, am Promt wird ein Doppelter >> angezeigt |
CTRL + X | Safe Mode - wird durch <SAFE> am Prompt gekennzeichnet, Änderungen werden im Safe Mode ausgeführt aber nicht in der permanenten Speicher übernommen, nach beendigung des Safe Mode, werden diese dann erst gespeichert. |
CTRL + K | vom Prompt bis zum Ende der Zeile alles löschen |
CTRL + L oder F5 | Terminal zurücksetzen |
F6 | zwischen den Fenstern wechseln |
F1 oder ? | Hilfe zu den Befehlen |
TAB | Befehl vervollständigen, mögliche Befehle anzeigen |
WLAN | |
---|---|
/interface wireless set [ find default-name=wlan1 ] tx-power=-30 tx-power-mode=all-rates-fixed /caps-man channel set tx-power=-30
tx-power = integer [-30..30] (Standard: 30)
tx-power-mode = Wert: default, card-rates, all-rated-fixed, manual-table (Standard: default)
- Antennengewinn - je höher der Antennengewinn eingestellt wird, je geringer die Sendeleistung des Interface. frequency-mode=regulatory-domain muss gesetzt sein, sonst werden die Einstellungen nicht berücksichtigt.
/interface wireless set [ find default-name=wlan1 ] antenna-gain=30 frequency-mode=regulatory-domain
antenna-gain = dezimal [0..30] (Standard: 0)
frequency-mode = manual-txpower | regulatory-domain | superchannel (Standard: manual-txpower)
/ip settings print ip-forward: yes send-redirects: yes accept-source-route: no accept-redirects: no secure-redirects: yes rp-filter: no tcp-syncookies: no max-neighbor-entries: 8192 arp-timeout: 30s icmp-rate-limit: 10 icmp-rate-mask: 0x1818 route-cache: yes allow-fast-path: yes ipv4-fast-path-active: yes ipv4-fast-path-packets: 0 ipv4-fast-path-bytes: 0 ipv4-fasttrack-active: no ipv4-fasttrack-packets: 0 ipv4-fasttrack-bytes: 0
Software Download RouterOS
Manual:Upgrading_RouterOS
Es gibt drei verschiedene Firmwaren auf dem Gerät.
factory-firmware - Firmware Bootloader Backup
current-firmware - Firmware Bootloader
upgrade-firmware - aktualisierte Firmware
- Firmware auf einen Router kopieren, danach rebooten und die Firmware wird automatisch eingespielt.
scp routeros-mipsbe-6.33.3.npk admin@192.168.1.1:
/system reboot
- Geräte Software Paket auf Updates prüfen/installieren die upgrade-firmware wird installiert, aber der Bootloader bleibt auf der alten Version
WebFig | System | Packages | Check for Updates
/system package update check-for-updates /system package update install
- current-firmware (Bootloader) aktualisieren
WebFig | System | RouterBOARD
Upgrade
/system routerboard print # installierte Versionen anzeigen /system routerboard upgrade # current-firmware upgrade /system reboot
- factory-firmware (Backup Bootloader) aktualisieren
Routerboard Firmware Versionen anzeigen
/system routerboard print
Processor Architektur Type anzeigen
/system resource print ... architecture-name: arm
Wiki Protected bootloader ab v3.41 kann die Factory-Firmware auf v6.40 aktualisiert werden
aktuelle Firmware laden
/tool fetch url="https://www.mikrotik.com/download/share/NAME-DES-PAKETS.dpk" mode=https
FirmwareDatei .dpk die unter /file liegt, wird automatisch eingespielt beim Reboot
/system reboot
Routerboard Firmware Versionen anzeigen
/system routerboard print
- aktuelle Einstellungen anzeigen und RouterBoard Schutz deaktivieren, ab Version 6.33 ist die Funktion aktiviert.
/system routerboard settings print /system routerboard settings set protected-routerboot=disabled
Wenn protected-routerboot aktiv ist, NetzwerkBoot, Zugriff über SerialPort und RouterBoot Einstellungen ändern ist deaktiviert.
ab RouterOS 7.13 wurde Wi-Fi 5 Wave2 und neuere WiFi Interfaces integriert. Diese sind in den Paketen wifi-qcom-ac
(802.11ac Chipsets) und wifi-qcom
(802.11ax und neuere Chipsets). Denn Chipsatz des Board kann man wie folgt anzeigen lassen.
/system/resource/ print ... board-name: wAP ac ...
- WLAN einrichten
WebFig | Wireless | Security Profiles
Name: default
Mode: dynamic keys
Authentication Types: WPA2 PSK
WPA2 Pre-Shared Key: <WPA2 Key>
WebFig | Wireless | Interfaces Einstellungen setzen
Name: wlan
Mode: ap bridge
Frequency:
SSID: <SSID des WLANS>
Wireless Protocol: 802.11
Security Profile: default
Advanced Mode
Country: Germany
Antenna Gain: <den Gewinn durch die Antenne> (bei 2,4GHz max. 25, bei 5GHz max. 19 dBi einstellbar)
WebFig | Bridge | Bridge
Add New
Enabled: aktivieren
Name: bridge1
WebFig | Bridge | Ports
Add New
Enabled: aktivieren
Interface ethernet
Bridge bridge1
Add New
Enabled: aktivieren
Interface wlan
Bridge bridge1
Intranet Router 192.168.20.254 | e01-lan | br-wlan-lan 192.168.20.250 _____________|________________ | | 2.4GHz 5GHz | | WLAN Clients WLAN Clients
- Interface, IP-Adresse, DNS und Gateway konfigurieren
/interface bridge add name=br-wlan-lan /interface ethernet set [ find default-name=ether1 ] name=e01-lan /interface wireless set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-Ce country=germany disabled=no\ frequency=auto frequency-mode=regulatory-domain mode=ap-bridge name=2.4GHz ssid=MT-WLAN\ wireless-protocol=802.11 wps-mode=disabled set [ find default-name=wlan2 ] band=5ghz-a/n/ac channel-width=20/40/80mhz-Ceee country=germany disabled=no\ frequency=auto frequency-mode=regulatory-domain mode=ap-bridge name=5GHz ssid=MT-WLAN wireless-protocol=802.11\ wps-mode=disabled /interface wireless security-profiles set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys\ wpa2-pre-shared-key="WLAN-Secret" /interface bridge port add bridge=br-wlan-lan interface=e01-lan add bridge=br-wlan-lan interface=2.4GHz add bridge=br-wlan-lan interface=5GHz /ip address add address=192.168.20.250/24 interface=br-wlan-lan network=192.168.20.0 /ip dns set servers=192.168.20.254 /ip route add distance=1 gateway=192.168.20.254
GastWLAN Interface: 192.168.88.252/24
WebFig | Wireless | Security Profiles
Name: GastWLAN
Mode: dynamic keys
Authentication Types: WPA2 PSK
WPA2 Pre-Shared Key: <WPA2 Key>
WebFig | Wireless | Interfaces
Add New: VirtualAP
Name: wlan-gast
SSID: <SSID des WLANS>
Master Interface: wlan1-gateway
Security Profile: GastWLAN
WLAN Frequenzbereich wird vom Master Interface übernommen, man kann ihn nicht extra einstellen.
- per Script
/interface wireless add name=VirtualAP1 master-interface=wlan1-gateway ssid=GastWLAN enable VirtualAP1
WebFig | IP | Addresses
Address: <IP-WLAN-Gast-Interface> z.B. 192.168.88.252/24
Network: 192.168.88.0
Interface: wlan-gast
WebFig | IP | DHCP Server | DHCP
Name: DHCP-GastWLAN
Interface: wlan-gast
Lease Time: 08:00:00 (Lease auf 8 Stunden setzen)
Address Pool: <AdressPool wählen, der unter WebFig | IP | Pool definiert wurde
WebFig | IP | DHCP Server | Networks
Address: 192.168.88.0/24
Gateway: 192.168.88.252
Netmask: 24
DNS Servers: 192.168.88.252
Domain: domain.tld
WebFig | IP | Firewall
Chain: input
Protocol: udp
Dst. Port: 53
In. Interface: wlan-gast
Action: accept
Comment: DNS Gast-WLAN erlauben
WebFig | IP | Firewall
Chain: forward
Protocol: tcp
Dst. Port: 80,443
In. Interface: wlan-gast
Action: accept
Comment: WWW für Gast-WLAN erlauben
WebFig | IP | Firewall
Chain: forward
In. Interface: wlan-gast
Out. Interface: bridge-intranet
Action: drop
Comment: Verbindung WLAN-Gast zum Intranet blocken
Intranet Router 192.168.20.254 Gast 192.168.88.254 | e01-lan | br-Intranet-vlan1 192.168.20.250 br-Gast-vlan10 192.168.88.1 _____________|________________ | | 2.4GHz 5GHz | | Intranet VLAN1 Intranet VLAN1 Gast VLAN10 Gast VLAN10
/interface bridge add name=br-Gast-vlan10 add name=br-Intranet-vlan1 /interface ethernet set [ find default-name=ether1 ] name=e01-lan /interface vlan add interface=e01-lan name=vlan10-Gast vlan-id=10 /interface wireless security-profiles set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys \ wpa2-pre-shared-key="WLAN-Secret" add authentication-types=wpa2-psk eap-methods="" management-protection=allowed mode=dynamic-keys \ name=SP-Gast supplicant-identity="" wpa2-pre-shared-key="WLAN-Secret" add authentication-types=wpa2-psk eap-methods="" management-protection=allowed mode=dynamic-keys \ name=SP-Intranet supplicant-identity="" wpa2-pre-shared-key="WLAN-Secret" /interface wireless set [ find default-name=wlan1 ] antenna-gain=25 band=2ghz-b/g/n channel-width=20/40mhz-Ce \ country=germany disabled=no frequency=auto frequency-mode=regulatory-domain mode=ap-bridge \ name=2.4GHz security-profile=SP-Intranet ssid=Intranet wireless-protocol=802.11 wps-mode=\ disabled set [ find default-name=wlan2 ] antenna-gain=19 band=5ghz-a/n/ac channel-width=20/40/80mhz-Ceee \ country=germany disabled=no frequency=auto frequency-mode=regulatory-domain mode=ap-bridge \ name=5GHz security-profile=SP-Intranet ssid=Intranet wireless-protocol=802.11 wps-mode=\ disabled add disabled=no keepalive-frames=disabled master-interface=2.4GHz \ mode=ap-bridge multicast-buffering=disabled name=v2.4GHz-Gast security-profile=SP-Gast ssid=\ Gast vlan-id=10 wds-cost-range=0 wds-default-cost=0 wps-mode=disabled add disabled=no keepalive-frames=disabled master-interface=5GHz \ mode=ap-bridge multicast-buffering=disabled name=v5GHz-Gast security-profile=SP-Gast ssid=\ Gast vlan-id=10 wds-cost-range=0 wds-default-cost=0 wps-mode=disabled /ip pool add name="192.168.88.20 - 99" ranges=192.168.88.20-192.168.88.99 /ip dhcp-server add address-pool="192.168.88.20 - 99" disabled=no interface=br-Gast-vlan10 lease-time=1m name=\ 192.168.88.0 /interface bridge port add bridge=br-Intranet-vlan1 interface=e01-lan add bridge=br-Intranet-vlan1 interface=2.4GHz add bridge=br-Intranet-vlan1 interface=5GHz add bridge=br-Gast-vlan10 interface=v2.4GHz-Gast add bridge=br-Gast-vlan10 interface=v5GHz-Gast add bridge=br-Gast-vlan10 interface=vlan10-Gast /ip address add address=192.168.20.250/24 interface=br-Intranet-vlan1 network=192.168.20.0 add address=192.168.88.1/24 interface=br-Gast-vlan10 network=192.168.88.0 /ip dhcp-server network add address=192.168.88.0/24 dns-server=192.168.88.254 domain=local.zz gateway=192.168.88.254 \ netmask=24
CAPsMAN verwendet UDP Port 5246 für die Managementverbindung und UDP Port 5247 für Datenverbindung
Paket Wireless-FP aktivieren unter System | Packages, muss auf allen Geräten die als CAPsMAN laufen oder Verwaltet werden sollen aktiviert sein. Nach der Aktivierung den Router neu starten.
Auto Zertifikat auf dem Access Point Manager (WLAN Controller) einrichten
CAPsMAN | Interface | Manager
Enabled: aktivieren
Certificate: auto
CA Certificate: auto
- Einstellungen auf der Konsole prüfen
/caps-man manager export # /caps-man manager set ca-certificate=auto certificate=auto enabled=yes upgrade-policy=suggest-same-version
/caps-man manager print enabled: yes certificate: auto ca-certificate: auto package-path: upgrade-policy: suggest-same-version require-peer-certificate: no generated-certificate: CAPsMAN-6C3B6BXXYYZZ generated-ca-certificate: CAPsMAN-CA-6C3B6BXXYYZZ
/certificate print detail
Den AccessPoint auf Werkseinstellung zurücksetzen, dann nur die IP-Adresse konfigurieren.
Wireless | Interface | CAP
Enabled: aktivieren
Interface: wlan 1
Certificate: request
Discovery Interface: <ether 1> oder <br-lan> (LAN-Interface oder Bridge-LAN-Interface)
Lock To CAPsMAN: aktivieren
Bridge: none
Interface - gibt das Interface an, das von CAPsMAN gemanagt werden soll. Können auch mehrere Interfaces sein.
Certificate - request, Zertifiakt wird vom CAPsMAN übernommen
Discovery Interface - Schnittstelle über die der CAPsMAN erreichbar ist
Lock To CAPsMAN - wenn ein CAPsMAN gefunden wurde, wird nur noch dieser kontaktiert, kein anderer mehr.
/interface wireless cap set certificate=request discovery-interfaces=ether1 enabled=yes interfaces=\ wlan1,wlan2 lock-to-caps-man=yes /interface wireless cap print
Wenn der AccessPoint hinzugefügt wurde, wird auf dem CAPsMAN unter CAPsMAN | Interface neue Schnittstellen automatisch hinzugefügt. Für jeden AP und je Kanal eine Schnittstelle, beim DualAP sind es zwei, eine für 2,4GHz und eine für 5GHz.
!!! Wenn der AccessPoint, der an einem CAPsMAN gebunden wurde zurückgesetzt wird, lässt sich dieser nicht noch einmal an den gleichen CAPsMAN binden (der AccessPoint erscheint nicht mehr automatisch am CAPsMAN unter /caps-man interface
). Abhilfe schaft ein Revoke des Zertifikates des APs.
/certificate print
suchen nach Common Name z.B. CAP-64D154XXYYZZ dabei ist 64D154XXYYZZ die MAC Adresse des ether1 Interfaces. !!!
Nach dem Revoke des Zertifikates wird beim erneuten verbinden zum CAPsMAN ein neues Zertifikat für den AP erstellt.
Für eine weitere SSID auf dem Kanal, wird ein weiteres CAP Interface erstellt, mit dem ersten CAP als "Master Interface".
/caps-man interface export
CAPsMAN | Security Cfg.
Name: sec-Gast
Authentication Types: WPA2-PSK
Encryption: aes-ccm
Passphrase: xxx
/caps-man security export # /caps-man security add authentication-types=wpa2-psk encryption=aes-ccm name=sec-Gast passphrase="PSK-Gast" add authentication-types=wpa2-psk encryption=aes-ccm name=sec-Intranet passphrase="PSK-Intranet"
CAPsMAN | Channels
Download Liste: 2,4GHz Channels, 5GHz Channels
/caps-man channel export # /caps-man channel add band=2ghz-b/g/n control-channel-width=20mhz extension-channel=Ce frequency=2437 name=2.4GHzC6 add band=5ghz-a/n/ac control-channel-width=20mhz extension-channel=eeCe frequency=5220 name=5GHzC44
2.4GHz | 5GHz |
---|---|
channel-width=20/40mhz-Ce frequency=2412 oder 2437 channel-width=20/40mhz-eC frequency=2462 |
channel-width=20/40/80mhz-Ceee frequency=5180 channel-width=20/40/80mhz-eCee frequency=5200 channel-width=20/40/80mhz-eeCe frequency=5220 channel-width=20/40/80mhz-eeeC frequency=5240 |
CAPsMAN | Datapaths
/caps-man datapath add client-to-client-forwarding=no local-forwarding=no name=Datapath
client-to-client-forwarding=yes/no - Verbindunge zwischen den WLAN Clients zulassen ja/nein
local-forwarding=yes/no - Netzwerkverbindung über den CAPsMAN leiten, oder über den AP lokal weiterleiten
CAPsMAN | Configurations
/caps-man configuration export # /caps-man configuration add channel=2.4GHzC6 country=germany datapath=Datapath mode=ap name=cfg.Intranet.2.4GHz\ security=sec-Intranet ssid=Intranet.2.4GHz add channel=2.4GHzC6 country=germany datapath=Datapath name=cfg.Gast.2.4GHz\ security=sec-Gast ssid=Gast add channel=5GHzC44 country=germany datapath=Datapath name=cfg.Gast.5GHz\ security=sec-Gast ssid=Gast add channel=5GHzC44 country=germany datapath=Datapath mode=ap name=cfg.Intranet.5GHz\ security=sec-Intranet ssid=Intranet.5GHz
Bevor das CAPsMAN Management auf dem APs aktiviert werden kann, muss die Provisionierung eingerichtet werden. Dabei darf unter CAPsMAN | Interfaces keine Einträge vorhanden sein, sonst werden die Provisionierten Interfaces nicht erstellt. Des weiteren werden die Interfaces deaktiv erstellt, sodas die neuen AccessPoint Interfaces erst vom Admin aktiviert werden müssen. Das bringt mehr Sicherheit, da nicht jeder einen AP ins Netz bringen kann. Eintrag action=create-disabled
CAPsMAN | Provisioning
/caps-man provisioning export # /caps-man provisioning add action=create-disabled comment="2,4GHz Interface" hw-supported-modes=gn\ master-configuration=cfg.Intranet.2.4GHz name-format=prefix-identity name-prefix=cap\ slave-configurations=cfg.Gast.2.4GHz add action=create-disabled comment="5GHz Interface" hw-supported-modes=an,ac\ master-configuration=cfg.Intranet.5GHz name-format=prefix-identity name-prefix=cap\ slave-configurations=cfg.Gast.5GHz
CAPsMAN | Access List
- alle Clients die nicht die Signalstärke haben werden gekickt, im Beispiel ab -86
/caps-man access-list add action=accept interface=all signal-range=-85..120 add action=reject interface=all signal-range=-120..-86
signal-range = Min..Max (Default: -120..120)
allow-signal-out-of-range = Zeit, wie lange der WLan Client den gesetzten Wert unterschreiten darf. Im Beispiel bis zu 10Sekunden kann der Client eine Erreichbarkeit unter -75dbm haben.
/caps-man access-list add action=accept signal-range=-75..120 allow-signal-out-of-range=00:00:10 add action=reject
/caps-man manager print /caps-man remote-cap print /caps-man provisioning print /caps-man registration-table print
WLAN Mode | Beschreibung |
---|---|
station | (Default) Die Verbindung des Netzes hinter der "WLAN-Station" erfolgt über Routing (L2 Bridge ist nicht möglich). Das Netz dahinter ist also ein anderes, wie das eigentliche WLAN Netz wo die "WLAN-Station" eingebucht ist.
z.B. WLAN-Netz - 192.168.1.0/24 WLAN-Station Netz - 192.168.2.0/24 |
station-bridge | L2 Bridge Modus, aber nur in Verbindung zu einem anderen RouterOS AP |
station-pseudobridge | wie station Mode mit limitierten L2 Bridge Support |
station-pseudobridge-clone | wie station-pseudobridge Mode, alle Verbindungen werden hinter einer zu definierenden MAC Adresse zusammengefasst. Der Parameter station-bridge-clone-mac muss unter Advanced gesetzt werden. |
station-wds | nur in Verbindung mit RouterOS APs |
Beispielkonfig für eine WLAN-Bridge
/interface bridge add name=bridge1 /interface wireless set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-eC \ country=germany frequency=auto frequency-mode=regulatory-domain name=\ 2.4GHz ssid=iNet wireless-protocol=802.11 set [ find default-name=wlan2 ] band=5ghz-a/n channel-width=20/40mhz-Ce \ country=germany disabled=no frequency=auto frequency-mode=\ regulatory-domain mode=station-pseudobridge name=5GHz ssid=iNet \ wireless-protocol=802.11 /interface list add name=WAN add name=LAN /interface wireless security-profiles set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" \ group-ciphers=tkip,aes-ccm mode=dynamic-keys supplicant-identity=MikroTik \ unicast-ciphers=tkip,aes-ccm wpa2-pre-shared-key=iNet&3000 /interface bridge port add bridge=bridge1 interface=ether1 add bridge=bridge1 interface=2.4GHz add bridge=bridge1 interface=5GHz /interface list member add interface=5GHz list=WAN add list=LAN add interface=bridge1 list=LAN /ip dhcp-client add dhcp-options=hostname,clientid disabled=no interface=bridge1 /system identity set name="MikroTik Client"
- Roaming, alle Clients die nicht die Signalstärke haben, können sich nicht verbinden oder werden getrennt.
/interface wireless access-list add authentication=no forwarding=no signal-range=-120..-86 add signal-range=-85..120
Mit dieser Einstellung, kann die Sendeleistung des APs herauf/verringert werden. Default Wert für tx-power
ist 17dBm, gültige Werte sind von -30 bis 40 dBm.
/interface wireless set [ find default-name=wlan1 ] tx-power=0 tx-power-mode=all-rates-fixed /interface wireless set [ find default-name=wlan2 ] tx-power=0 tx-power-mode=all-rates-fixed
- auf Standard Einstellungen setzen
/interface wireless set [ find default-name=wlan1 ] tx-power-mode=default /interface wireless set [ find default-name=wlan2 ] tx-power-mode=default
- wAP ist mit wlan1 in einem LTE MobilHotSpot vom Telefon eingebucht und stellt den Zugang für ein LAN bereit.
# # wAP als Router ueber WLAN1 im MobilHotSpot eingebucht # /interface wireless set [ find default-name=wlan1 ] band=2ghz-b/g/n country=germany disabled=no \ frequency-mode=regulatory-domain ssid=Mira wireless-protocol=802.11 set [ find default-name=wlan2 ] ssid=Mira /interface wireless security-profiles set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" mode=\ dynamic-keys supplicant-identity=MikroTik wpa2-pre-shared-key=\ 1 - mein Key - 1 /ip address add address=192.168.20.253/24 interface=ether1 network=192.168.20.0 /ip dhcp-client add dhcp-options=hostname,clientid disabled=no interface=wlan1 /ip dns set allow-remote-requests=yes /ip firewall filter add action=accept chain=forward connection-state=established,related,new \ disabled=yes protocol=icmp /ip firewall nat add action=masquerade chain=srcnat log=yes log-prefix="- NAT -" \ out-interface=wlan1 src-address=192.168.20.0/24 /system clock set time-zone-name=Europe/Berlin
Konfigurierte Netzwerk Interface
Internet | e1-wan | Router | e2-lan | LAN Client - LAN Client - LAN Client
Das LAN Interface ist in einer Bridge br1-lan eingebunden, kommen weitere LAN Schnittstellen dazu, werden diese auch der Bridge zugeordnet.
WebFig | IP | Firewall | NAT Hinzufügen
General
Chain: srcnat
OutInterface: e1-wan
Action
Action: masquerade
/ip firewall nat add chain=srcnat out-interface=e1-wan action=masquerade
/ip firewall nat print Flags: X - disabled, I - invalid, D - dynamic 0 chain=srcnat action=masquerade out-interface=e1-wan log=no log-prefix=""
- Switch Ports aktivieren
WebFig | Switch
Name: switch1
Switch All Ports: aktivieren
- Master Port des Switches definieren
WebFig | Interface | Interface
ether1
Name: sw1-e1-master
Master Port: none
ether2
Name: sw1-e2
Master Port: sw1-e1-master
ether3
Name: sw1-e3
Master Port: sw1-e1-master
ether4
Name: sw1-e4
Master Port: sw1-e1-master
ether5
Name: sw1-e5
Master Port: sw1-e1-master
- Master Port des Switches in die LAN Bridge integrieren
WebFig | Bridge | Ports
Hinzufügen
Interface: sw1-e1-master
Bridge: br1-lan
der Port wird automatisch enabled (unter Role in der Portübersicht), wenn der Switch benutzt wird.
Konfigurierte Netzwerk Interface
Internet 192.168.178.1 | sw2-e09-gateway 192.168.178.254 | sw1-e01 - sw1-e05,sw2-e06 - sw2-e07- Firewall - Router - Firewall - sw2-e08-dmz br1-lan sw2-e10 | 192.168.88.1 192.168.2.254 192.168.90.1 _____________|________________ | | | | | | | LAN Client - LAN Client - LAN Client Router Admin Port DMZ Network Server
/interface export
# /interface bridge add comment="default: Bridge LAN Interface" name=br1-lan /interface ethernet set [ find default-name=ether1 ] comment="Switch1 Master LAN Interface" name=sw1-e01-master set [ find default-name=ether2 ] master-port=sw1-e01-master name=sw1-e02 set [ find default-name=ether3 ] master-port=sw1-e01-master name=sw1-e03 set [ find default-name=ether4 ] master-port=sw1-e01-master name=sw1-e04 set [ find default-name=ether5 ] master-port=sw1-e01-master name=sw1-e05 set [ find default-name=ether6 ] comment="Switch2 Master LAN Interface" name=sw2-e06-master set [ find default-name=ether7 ] master-port=sw2-e06-master name=sw2-e07 set [ find default-name=ether8 ] comment="DMZ Interface" name=sw2-e08-dmz set [ find default-name=ether9 ] comment="Gateway Interface" name=sw2-e09-gateway set [ find default-name=ether10 ] comment="Konfigurations Interface" name=sw2-e10 /interface wireless set [ find default-name=wlan1 ] antenna-gain=10 band=2ghz-b/g/n channel-width=20/40mhz-Ce country=germany\ disabled=no distance=indoors frequency=auto mode=ap-bridge wireless-protocol=802.11 wps-mode=disabled /interface wireless security-profiles set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" mode=dynamic-keys\ wpa2-pre-shared-key="WLAN-Secret" /interface bridge port add bridge=br1-lan comment=defconf interface=sw1-e01-master add bridge=br1-lan comment=defconf interface=sw2-e06-master add bridge=br1-lan comment=defconf interface=sfp1 add bridge=br1-lan comment=defconf interface=wlan1
Intranet - 192.168.88.1, vlan1
Gast Netz - 192.168.89.1, vlan10
DMZ-Netz - 192.168.90.1
Der AccessPoint mit Gast und Intranet hängt an Port sw1-e05 des Routers, dem sind auch die VLAN IDs zugeordnet.
Der Gigabit SwitchPort
sw1-e01 ist das MasterInterface für die Ports sw1-e02 - sw1-e04. Das MasterInterface ist dann auch der Bridge br-Intranet-vlan1 zugeordnet, damit sind die Ports sw1-e02 - sw1-e04 auch automatisch mit in der Bridge.
Der Port sw1-e05 darf micht mit in die Bridge, sonst werden die VLANs Interface gebridgt.
/interface bridge add comment="Bridge Gast" name=br-Gast-vlan10 add comment="Bridge Intranet" name=br-Intranet-vlan1 /interface ethernet set [ find default-name=ether1 ] comment="Switch1 GBit Master LAN Interface" name=sw1-e01-master set [ find default-name=ether2 ] master-port=sw1-e01-master name=sw1-e02 set [ find default-name=ether3 ] master-port=sw1-e01-master name=sw1-e03 set [ find default-name=ether4 ] master-port=sw1-e01-master name=sw1-e04 set [ find default-name=ether5 ] name=sw1-e05 set [ find default-name=ether6 ] comment="Switch2 Master LAN Interface" name=sw2-e06-master set [ find default-name=ether7 ] master-port=sw2-e06-master name=sw2-e07 set [ find default-name=ether8 ] comment="DMZ Interface" name=sw2-e08-dmz set [ find default-name=ether9 ] comment="Gateway Interface" name=sw2-e09-gateway set [ find default-name=ether10 ] comment="Konfigurations Interface" name=sw2-e10 /interface vlan add interface=sw1-e05 name=vlan1-Intranet vlan-id=1 add interface=sw1-e05 name=vlan10-Gast vlan-id=10 /interface ethernet set [ find default-name=sfp1 ] master-port=sw1-e01-master /interface ethernet switch port set 1 default-vlan-id=0 vlan-header=always-strip vlan-mode=check /interface bridge port add bridge=br-Gast-vlan10 interface=vlan10-Gast add bridge=br-Gast-vlan10 interface=v2.4GHz-Gast add bridge=br-Intranet-vlan1 interface=2.4GHz add bridge=br-Intranet-vlan1 interface=vlan1-Intranet add bridge=br-Intranet-vlan1 interface=sw1-e01-master /ip address add address=192.168.88.1/24 interface=br-Intranet-vlan1 network=192.168.88.0 add address=192.168.2.254/24 interface=sw2-e10 network=192.168.2.0 add address=192.168.90.1/24 interface=sw2-e08-dmz network=192.168.90.0 add address=192.168.89.1/24 interface=br-Gast-vlan10 network=192.168.89.0
/ip address add address=192.168.88.1/24 interface=br1-lan network=192.168.88.0 add address=192.168.2.254/24 interface=sw2-e10 network=192.168.2.0 add address=192.168.90.1 interface=sw2-e08-dmz network=192.168.90.1
WebFig | IP | DNS
Allow Remote Requests: aktivieren
DNS Anfragen an den Router werden zum angegebenen DNS weitergeleitet.
/ip dns set allow-remote-requests=yes cache-max-ttl=1d servers=192.168.88.1 /ip dns static add address=192.168.88.1 name=router add address=127.0.0.1 regexp=".*\\doubleclick.net" add address=::1 regexp=".*\\doubleclick.net"
add address=192.168.88.1 - registriert den Name des Routers
add address=127.0.0.1 regexp ... - richtet ein DNS Filter ein, die angegebene Domain wird auf localhost weitergeleitet, Doomain wird für die internen Clients nicht mehr aufgelöst.
Darauf achten, das die DNS Abfrage in der Firewall auch erlaubt ist.
/ip firewall filter
...
add action=accept chain=input comment="DNS zum Router erlauben von LAN und DMZ" \ dst-port=53 in-interface=!sw2-e09-gateway protocol=udp add action=drop chain=input comment="alles was zum Router geht verwerfen" \ log=yes log-prefix="drop - Input zum Router -"
Im Beispiel ist DNS von allen Ports, außer dem Gateway erlaubt, Danach wird der Traffic zum Router verworfen.
als erstes wird der Pool definiert, erste und letzte IP-Adresse des DHCP Bereichs. Danach folgt das Interface auf dem der DHCP Server laufen soll und die DHCP Optionen, DNS-Server, Gateway und Domain.
/ip pool add name=dhcp-intern ranges=192.168.88.20-192.168.88.99 /ip dhcp-server add address-pool=dhcp-intern disabled=no interface=br1-lan name=dhcp-intern /ip dhcp-server lease
add address=192.168.88.20 mac-address=B8:88:E3:XX:YY:ZZ server=dhcp-intern /ip dhcp-server network add address=192.168.88.0/24 comment="default: intern" dns-server=192.168.88.1 domain=domain.tld\ gateway=192.168.88.1
/ip dhcp-server lease - gibt eine Reservierung an, Client bekommt immer die gleiche IP-Adresse zugewiesen.
- Beispiel, wenn die IP-Adresse vom Provider per DHCP zugeteilt wird. z.B. hinter ein Kabel-Modem
/ip dhcp-client add dhcp-options=hostname,clientid disabled=no interface=sw2-e09-gateway
- NTP Client des Routers konfigurieren (DNS Namen werden automatisch aufgelöst, in der Einstellung ist dann nur die IP des NTP Servers hinterlegt)
/system ntp client export /system ntp client set enabled=yes primary-ntp=[:resolve ntps1-0.cs.tu-berlin.de] set secondary-ntp=[:resolve de.pool.ntp.org] server-dns-names=de.pool.ntp.org /system clock set time-zone-name=Europe/Berlin /system clock print
als erstes wird die aktuelle Konfiguration ausgegeben, danach wird die Einstellung gesetzt und die aktuelle Uhrzeit anzeigen.
- DynDNS Script für Selfhost
/system script add comment="Selfhost Update Script" name=selfhost owner=admin policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\ "##############Script Settings##################\r\ \n:local DYNIPUser \"111111\"\r\ \n:local DYNIPPass \"222222\"\r\ \n:local WANInter \"sw2-e09-gateway\"\r\ \n:local DYNIPDomain \"dyndns.selfhost.eu\"\r\ \n###############################################\r\ \n\r\ \n:local IpCurrent [/ip address get [find interface=\$WANInter] address];\r\ \n:for i from=( [:len \$IpCurrent] - 1) to=0 do={\r\ \n :if ( [:pick \$IpCurrent \$i] = \"/\") do={\r\ \n :local NewIP [:pick \$IpCurrent 0 \$i];\r\ \n :if ([:resolve \$DYNIPDomain] != \$NewIP) do={\r\ \n /tool fetch mode=https url=\"http://carol.selfhost.de/update\?username=\$DYNIPUser&pa\ ssword=\$DYNIPPass&myip=\$NewIP\" keep-result=no\r\ \n :log info \"Selfhost Update: \$DYNIPDomain - \$NewIP\"\r\ \n }\r\ \n }\r\ \n}"
im Scheduler den Script ausführen
/system scheduler add name=Selfhost interval=00:01 on-event="/system script run selfhost\r\n"
- String für ein Update mit No-IP
/tool fetch mode=https user=$DYNIPUser password=$DYNIPPass \ url="https://dynupdate.no-ip.com/nic/update?hostname=$DYNIPDomain&myip=$NewIP" keep-result=no
Interface/VLAN
Basic VLAN switching
Konfigurationsmenü | Beschreibung |
---|---|
walled-garden | freigegebene Server/Domain mit Einschränkungen, auf die ohne Anmeldung zugegriffen werden kann. z.B. nur bestimmte Pfade einer Domain die freigegeben werden können. Angaben von regular expression sind möglich |
walled-garden ip | komplette freigegebene Server/IPs auf die ohne Anmeldung zugegriffen werden kann. DomainNamen (dst-host) werden auf ihre IP aufgelöst und als Regel unter walled-garden eingetragen |
- HotSpot Setup ausführen
/ip hotspot setup
- Limit für Hotspot festlegen (1Mbits Up- und 5Mbits-Download)
/ip hotspot user profile add name=uprof-Limit-1M rate-limit=1M/5M transparent-proxy=yes
- User mit max.1GB Datenübertragung anlegen (limit-bytes-total=1073741824)
/ip hotspot user add limit-bytes-total=1073741824 name=1GBUser profile=uprof-Limit-1M
- Traffic Counter für den 1GBUser um 00:00 zurücksetzen
/system scheduler add name="Traffic Counter reset" on-event="/ip hotspot user reset-counters 1GBUser" \ policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=00:00:00
- freigegebene Webseiten/Einstellungen prüfen und anzeigen
/ip hotspot walled-garden print detail /ip hotspot walled-garden ip print detail /ip firewall filter print dynamic /ip firewall nat print dynamic
- komplette Konfiguration
/ip hotspot add address-pool="192.168.89.20 - 99" disabled=no idle-timeout=none interface=br-Gast-vlan10 name=hspot-Gast-vlan10 /ip hotspot profile set [ find default=yes ] http-cookie-lifetime=1d login-by=cookie,http-chap,https,http-pap,trial /ip hotspot user profile add name=uprof-Limit-2U5D rate-limit=2M/5M transparent-proxy=yes add name=uprof-Iimit-1U5D rate-limit=1M/5M transparent-proxy=yes /ip hotspot user add name=admin add limit-bytes-total=1073741824 name=1GBUser profile=uprof-Iimit-1U5D /ip hotspot walled-garden add comment="place hotspot rules here" disabled=yes add comment="nur die Seite http://www.su4me.de/index.html" dst-host=www.su4me.de path=/index.html /ip hotspot walled-garden ip add action=accept comment=smtp-relay.gmail.com disabled=no !dst-address dst-host=smtp-relay.gmail.com !dst-port\ protocol=tcp !src-address add action=accept comment=smtp.gmail.com disabled=no !dst-address dst-host=smtp.gmail.com !dst-port\ protocol=tcp !src-address add action=accept comment=aspmx.l.google.com disabled=no !dst-address dst-host=aspmx.l.google.com dst-port=443\ protocol=tcp !src-address add action=accept comment=smtp-relay.gmail.com disabled=no !dst-address dst-host=smtp-relay.gmail.com dst-port=443\ protocol=tcp !src-address add action=accept comment=smtp.gmail.com disabled=no !dst-address dst-host=smtp.gmail.com dst-port=443\ protocol=tcp !src-address add action=accept comment=aspmx.l.google.com disabled=no !dst-address dst-host=aspmx.l.google.com !dst-port\ protocol=tcp !src-address add action=accept comment="Port 80" disabled=yes !dst-address dst-port=80 protocol=tcp !src-address add action=accept comment="Port 433" disabled=yes !dst-address dst-port=443 protocol=tcp !src-address add action=accept comment="Domain www.su4me.de" disabled=yes !dst-address dst-host=www.su4me.de !dst-port\ !protocol !src-address
Securing your MikroTik Router / Firewall
MikroTik Wiki: Basic universal firewall script
Basic MikroTik Firewall Rev 4.0 (Free Version)
- IP-Adressen mit zu vielen Verbindungen (über 100) für eine Stunde auf die BlockList setzen.
/ip firewall filter add chain=input protocol=tcp connection-limit=100,32 \ action=add-src-to-address-list address-list=blocked-addr address-list-timeout=1d
ICMP zum Router und vom Netzwerk sind zugelassen, HTTP, HTTPS und SSH sind erlaubt.
/ip firewall export # /ip firewall address-list add address=0.0.0.0/8 comment="Self-Identification [RFC 3330]" list=bogons add address=10.0.0.0/8 comment=\ "Private[RFC 1918] - CLASS A # Check if you need this subnet before enable it" disabled=yes \ list=bogons add address=127.0.0.0/8 comment="Loopback [RFC 3330]" list=bogons add address=169.254.0.0/16 comment="Link Local [RFC 3330]" list=bogons add address=172.16.0.0/12 comment=\ "Private[RFC 1918] - CLASS B # Check if you need this subnet before enable it" disabled=yes \ list=bogons add address=192.168.0.0/16 comment=\ "Private[RFC 1918] - CLASS C # Check if you need this subnet before enable it" disabled=yes \ list=bogons add address=192.0.2.0/24 comment="Reserved - IANA - TestNet1" list=bogons add address=192.88.99.0/24 comment="6to4 Relay Anycast [RFC 3068]" list=bogons add address=198.18.0.0/15 comment="NIDB Testing" list=bogons add address=198.51.100.0/24 comment="Reserved - IANA - TestNet2" list=bogons add address=203.0.113.0/24 comment="Reserved - IANA - TestNet3" list=bogons add address=224.0.0.0/4 comment=\ "MC, Class D, IANA # Check if you need this subnet before enable it" disabled=yes list=bogons # /ip firewall filter add action=accept chain=input comment="default: bestehende Verbindungen vom Router erlauben"\ connection-state=established,related add action=drop chain=input comment="default: defekte Pakete verwerfen" connection-state=invalid log=yes\ log-prefix="- IPv4 drop - defekte Pakete -" add action=accept chain=input comment="Verbindungen vom Konfigurations Interface sw2-e10 immer erlauben"\ in-interface=sw2-e10 add action=accept chain=input comment="default: ICMP zum Router mit Limit erlauben" in-interface=sw2-e09-gateway\ limit=1/2m,1:packet log=yes protocol=icmp add action=accept chain=input comment="ICMP zum Router vom LAN und DMZ erlauben" in-interface=!sw2-e09-gateway\ protocol=icmp add action=accept chain=input comment="alles vom LAN zum Router zulassen" disabled=yes in-interface=br1-lan add action=accept chain=input comment="DNS zum Router erlauben von LAN und DMZ" dst-port=53\ in-interface=!sw2-e09-gateway protocol=udp add action=drop chain=input comment="alles was zum Router geht verwerfen" log=yes log-prefix="- IPv4 drop -" # add action=accept chain=forward comment="ausgehende Verbindungen von der DMZ ins Internet"\ in-interface=sw2-e08-dmz out-interface=sw2-e09-gateway add action=accept chain=forward comment="default: bestehende Verbindungen vom internen Netz erlauben"\ connection-state=established,related add action=drop chain=forward comment="default: defekte Pakete verwerfen" connection-state=invalid log=yes\ log-prefix="- IPv4 drop - defekte Pakete -" add action=accept chain=forward comment="ICMP vom internen Netz erlauben" in-interface=br1-lan protocol=icmp add action=accept chain=forward comment="Verbindungen vom internen Netz zum Internet und zur DMZ zulassen"\ in-interface=br1-lan add action=accept chain=forward comment="SSH in der DMZ erlauben" dst-address=192.168.90.10 dst-port=22,8023\ out-interface=sw2-e08-dmz protocol=tcp add action=accept chain=forward in-interface=sw2-e08-dmz out-interface=sw2-e10 add action=fasttrack-connection chain=forward comment="default: fasttrack" connection-state=established,related add action=drop chain=forward comment="default: drop all from WAN not DSTNATed" connection-nat-state=!dstnat\ connection-state=new in-interface=sw2-e09-gateway log=yes log-prefix="- IPv4 drop - WAN not DSTNAT -" add action=drop chain=forward comment="Rest verwerfen" log=yes log-prefix="- IPv4 drop -" # /ip firewall nat add action=masquerade chain=srcnat comment="default: NAT masquerade" log-prefix="- NAT -"\ out-interface=sw2-e09-gateway src-address=192.168.88.0/24 add action=dst-nat chain=dstnat comment="proxy dns" disabled=yes dst-port=53 log=yes\ protocol=tcp to-addresses=192.168.88.1 to-ports=53 add action=dst-nat chain=dstnat disabled=yes dst-port=53 log=yes protocol=udp to-addresses=192.168.88.1 to-ports=53
- Kommunikation zum Router (WAN Port) konfigurieren
Pakete die zu einer bestehenden Verbindung gehören und Antwort-Pakete die zu einer neuen Verbindung, die vom Router aufgebaut wurde zulassen. Ausgehende Verbindungen vom Router aus, sind ohne Einschränkungen möglich. Eingehende neue Verbindungen zum Router werden verworfen (drop Regel).
WebFig | IP | Firewall | Filter Rules Hinzufügen
Chain: input
Connection State: established, related
Action
Action: accept
Verbindung von Bridge Interface (im Bridge Interface sind alle LAN Interface enthalten) zum Router zulassen.
Chain: input
In-Interface: br1-lan
Action
Action: accept
alles was sonst noch beim Router ankommt, erst loggen dann verwerfen.
Chain: input
Action
Action: log
Chain: input
Action
Action: drop
/ip firewall export # /ip firewall filter add chain=input connection-state=established,related add chain=input in-interface=br1-lan add action=log chain=input add action=drop chain=input
- Kommunikation zum LAN hinter dem Router (LAN Port) konfigurieren
bestehende und neue Verbindungen aus dem LAN zulassen, Pakete die nicht das LAN (im Beispiel 192.168.25.0/24) haben und als ZielPort
SSH, HTTP, HTTPS von der LAN-Bridge (br1-lan) kommen zulassen. Alles andere wird geloggt und dann verworfen (drop).
WebFig | IP | Firewall | Filter Rules
Hinzufügen
Chain: forward
Connection State: established related
Action
Action: accept
Chain: forward
Dst. Adressess: ! 192.168.25.0/24
Protocol: 6 (tcp)
Dst. Port: 22,80,443
In. Interface: br1-lan
Action
Action: accept
Chain: forward
Action
Action: log
Chain: forward
Action
Action: drop
/ip firewall export # /ip firewall filter add chain=forward connection-state=established,related add chain=forward comment="Diverse Internet Ports fuer lokale Clients erlauben" dst-address=\ !192.168.25.0/24 dst-port=80,443,22 in-interface=br1-lan protocol=tcp add action=log chain=forward add action=drop chain=forward
- Dienste durch Blacklist vor BrutalForce schützen, bei mehrmaligen Verbindungsversuchen, wird der Host 1Woche gesperrt. Die Regel muss vor der letzten DROP Regel in die Firewall.
/ip firewall address-list add address=192.168.88.0/24 list=localnet
SSH
/ip firewall filter add action=drop chain=forward comment="gesperrte SSH IPs blockieren" disabled=no src-address-list=ssh_blacklist add action=jump chain=forward\ comment="nach 4 neuen SSH Verbindungen innerhalb einer Minute IP fuer 1 Woche auf die Blocklist"\ connection-state=new disabled=no dst-port=22 jump-target="log and add to SSH addr-list" protocol=tcp\ src-address-list=ssh_stage3 add action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m chain=forward\ connection-state=new disabled=no dst-port=22 protocol=tcp src-address-list=ssh_stage2 add action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m chain=forward\ connection-state=new disabled=no dst-port=22 protocol=tcp src-address-list=ssh_stage1 add action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m chain=forward\ connection-state=new disabled=no dst-port=22 protocol=tcp src-address-list=!localnet add action=log chain="log and add to SSH addr-list" log=yes log-prefix="- IP zur SSH Blacklist -" add action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=1w\ chain="log and add to SSH addr-list" disabled=no
RDP
/ip firewall filter add action=drop chain=forward comment="gesperrte RDP IPs blockieren" disabled=no src-address-list=rdp_blacklist add action=jump chain=forward\ comment="nach 6 neuen RDP Verbindungen innerhalb einer Minute IP fuer 1 Woche auf die Blocklist"\ connection-state=new disabled=no dst-port=3389 jump-target="log and add to RDP addr-list" protocol=tcp\ src-address-list=rdp_stage5 add action=add-src-to-address-list address-list=rdp_stage5 address-list-timeout=1m chain=forward\ connection-state=new disabled=no dst-port=3389 protocol=tcp src-address-list=rdp_stage4 add action=add-src-to-address-list address-list=rdp_stage4 address-list-timeout=1m chain=forward\ connection-state=new disabled=no dst-port=3389 protocol=tcp src-address-list=rdp_stage3 add action=add-src-to-address-list address-list=rdp_stage3 address-list-timeout=1m chain=forward\ connection-state=new disabled=no dst-port=3389 protocol=tcp src-address-list=rdp_stage2 add action=add-src-to-address-list address-list=rdp_stage2 address-list-timeout=1m chain=forward\ connection-state=new disabled=no dst-port=3389 protocol=tcp src-address-list=rdp_stage1 add action=add-src-to-address-list address-list=rdp_stage1 address-list-timeout=1m chain=forward\ connection-state=new disabled=no dst-port=3389 protocol=tcp src-address-list=!localnet add action=log chain="log and add to RDP addr-list" log=yes log-prefix="- IP zur RDP Blacklist -" add action=add-src-to-address-list address-list=rdp_blacklist address-list-timeout=1w\ chain="log and add to RDP addr-list" disabled=no
FTP und POP3
/ip firewall filter add action=drop chain=forward comment="gesperrte POP3 IPs blockieren" disabled=no src-address-list=pop3_blacklist add action=drop chain=forward comment="gesperrte FTP IPs blockieren" disabled=no src-address-list=ftp_blacklist add action=accept chain=forward comment="4 falsche POP3 Anmeldungen pro Minute erlauben"\ content="-ERR Authentication failed" disabled=no dst-address-list=!localnet dst-limit=1/1m,4,dst-address/1m\ protocol=tcp src-port=110 add action=accept chain=forward comment="4 falsche FTP Anmeldungen pro Minute erlauben"\ content="530 Login incorrect" disabled=no dst-address-list=!localnet dst-limit=1/1m,4,dst-address/1m protocol=tcp\ src-port=21 add action=jump chain=forward comment="nach der 5. falschen POP3 Anmeldung fuer 1 Woche auf die Blocklist"\ content="-ERR Authentication failed" disabled=no dst-address-list=!localnet\ jump-target="log and add to POP3 addr-list" protocol=tcp src-port=110 add action=jump chain=forward comment="nach der 5. falschen FTP Anmeldung fuer 1 Woche auf die Blocklist"\ content="530 Login incorrect" disabled=no dst-address-list=!localnet jump-target="log and add to FTP addr-list"\ protocol=tcp src-port=21 add action=log chain="log and add to FTP addr-list" log=yes log-prefix="- IP zur FTP Blacklist -" add action=add-dst-to-address-list address-list=ftp_blacklist address-list-timeout=1w chain="log and add to FTP addr-list" disabled=no add action=log chain="log and add to POP3 addr-list" log=yes log-prefix="- IP zur POP3 Blacklist -" add action=add-dst-to-address-list address-list=pop3_blacklist address-list-timeout=1w\ chain="log and add to POP3 addr-list" disabled=no
WebFig | PPP | Interface | L2TP Server
IPsec VPN Einwahl Mikrotik Router
WebFig | IP | IPSec | Peers
Wiki MicroTik OpenVPN
Wiki MicroTik Manual:Interface/OVPN
OpenVPN Server unter MikroTik RouterOS
OpenVPN /30 Netz Paare
OpenVPN PoolScript
OpenVPN IPv6
!!! MikroTik Router können nur TCP OpenVPN kein UDP !!!
/certificate import file-name=ca.crt /certificate import file-name=client.crt /certificate import file-name=client.key
/certificate print Flags: K - private-key, D - dsa, L - crl, C - smart-card-key, A - authority, I - issued, R - revoked, E - expired, T - trusted # NAME COMMON-NAME SUBJECT-ALT-NAME FINGERPRINT 0 T ca.crt_0 CA xxx 1 K T client.crt_0 Client xxx
Für die client.crt hat der Zertifikatsspeicher den Private-Key (K) und das Zertifikat (T)
WebFig | IP | Pool | Pools
OpenVPN Configuring client-specific rules and access policies.
- die Datei OpenVPN PoolScript laden und per SSH oder Telnet auf den Router einwählen.
In ein Terminal wechseln und den Inhalt der Datei reinkopieren.
/ip pool add name=ovpn64 ranges=192.168.17.253-192.168.17.254 add name=ovpn63 next-pool=ovpn64 ranges=192.168.17.249-192.168.17.250 ... add name=ovpn2 next-pool=ovpn3 ranges=192.168.17.5-192.168.17.6 add name=ovpn1 next-pool=ovpn2 ranges=192.168.17.1-192.168.17.2
WebFig | PPP | Profiles
Hinzufügen
Name: openvpn-pool
Local Address: ovpn1
Remote Address: ovpn1
/ppp profile add name=openvpn-pool local-address=ovpn1 remote-address=ovpn1 dns-server=192.168.88.1
WebFig | PPP | Interface | OVPN Server
Enable: aktivieren
Port: 443
Mode: IP (Route) oder Ethernet (Bridge)
Max. MTU: 1300
Default Profile: OpenVPN-Pool
Certificate: <OpenVPN Server Zertifikat wählen>
Require Client Certifikat: aktivieren (Client muss ein Zertifikat haben)
Auth.: sha1
Cipher: aes 256
/interface ovpn-server server
set auth=sha1 certificate=<Zertifikat> cipher=aes256 default-profile=openvpn enabled=yes max-mtu=1300\ port=443 require-client-certificate=yes
WebFig | PPP | Secrets
Name: ovpnuser
Passwort: ovpnpass
Service: ovpn
Profile:
openvpn-pool
/ppp secret add name=ovpnuser password=ovpnpass profile=openvpn-pool service=ovpn
Windows Client -> Mikrotik OpenVPN Server
- Konfigurationsdatei des Windows Clients
remote <IP-Adresse> 443 ca ca.crt cert client1.crt key client1.key # Anpassung fuer Windows mssfix dhcp-renew proto tcp-client dev tun # Anpassung OpenVPN 2.4 # Server Zertifikat prüfen remote-cert-tls server # Passwort nicht im Speicher halten auth-nocache nobind persist-key auth SHA1 cipher AES-256-CBC verb 3 # Anpassung für Mikrotik tls-client pull auth-user-pass tun-mtu 1300 route 192.168.88.0 255.255.255.0
Mikrotik OpenVPN Client -> Windows OpenVPN Server
- Konfigurationsdatei des OpenVPN Windows Servers
port 443 proto tcp dev tun # Anpassung ab Win2008/Win7 # route-method exe route-delay 2 ca ca.crt cert server.crt key server.key dh dh4096.pem # IPv4 Server server 192.168.17.0 255.255.255.0 ifconfig-pool-persist ipp.txt persist-tun auth SHA1 cipher AES-256-CBC keepalive 10 120 status openvpn-status.log verb 3 # Anpassung Mikrotik Client tun-mtu 1300 auth-user-pass-verify "auth.bat" via-env script-security 3
- Konfiguration Mikrotik OpenVPN Client
WebFig | PPP | Secrets
Name: ovpnuser
Passwort: ovpnpass
Service: ovpn
Profile:
openvpn-pool
/ppp profile add name=openvpn-pool local-address=ovpn1 remote-address=ovpn1
WebFig | Interfaces | OVPN Client
General
Name: OpenVPN-Client
Max MTU:
1300
Dial Out
Connect-To: <Remote-IP>
Port: 443
Mode: IP
Profile: openvpn
Certificate: client.crt_0
Auth: sha1
Cipher:
aes256
/interface ovpn-client add certificate=client.crt_0 cipher=aes256 connect-to=<Remote-IP> disabled=yes max-mtu=1300\ name=OpenVPN-Client port=443 profile=openvpn-pool user=<VPN-User> password=<Passwort>
im Beispiel wird die IPv6 Adresse per DHCPv6 vom Provider über ein Kabel Modem bezogen. Der Prefix Pool wird dabei automatisch angelegt, darf nicht von Hand erstellt werden.
/ipv6 dhcp-client add add-default-route=yes interface=sw2-e09-gateway pool-name=kabel.ipv6 pool-prefix-length=56 \ request=address,prefix
IPv6 für den Router aus dem Prefix-Pool generieren. Die IPv6 Adresse des Routers, kann erst nach dem beziehen der IPv6 vom Provider (IPv6 des Gateway Interface) konfiguriert werden, da sonst der Präfix-Pool noch nicht erstellt wurde (Dynamischer Präfix).
/ipv6 address add eui-64=yes from-pool=kabel.ipv6 interface=br1-lan
IPv6 für das LAN per DHCPv6 Server bereitstellen
/ipv6 dhcp-server add address-pool=kabel.ipv6 interface=br1-lan lease-time=8h name=DHCPv6
- Firewall minimal Konfiguration
/ipv6 firewall filter add chain=input comment="Pakete fuer bestehende Verbindungen zum Router zulassen"\ connection-state=established,related add action=accept chain=input comment="DNS zum Router erlauben von LAN und DMZ" dst-port=53\ in-interface=!sw2-e09-gateway protocol=udp add action=accept chain=input comment="DHCPv6-Client am Gateway" dst-port=546 in-interface=sw2-e09-gateway log=yes\ protocol=udp add action=accept chain=input comment="DHCPv6-Server am LAN Interface" dst-port=547 in-interface=!sw2-e09-gateway\ protocol=udp add action=accept chain=input comment="ICMPv6 vom LAN" in-interface=br1-lan protocol=icmpv6 add action=accept chain=input comment="alle Verbindungen zum Router vom LAN zulassen" in-interface=br1-lan add action=accept chain=input comment="ICMPv6 mit Limit ueber Gateway" limit=2/1m,2:packet protocol=icmpv6 add action=drop chain=input comment="alles was zum Router geht verwerfen" log=yes log-prefix="- IPv6 drop -" add action=accept chain=forward comment="default: bestehende Verbindungen vom internen Netz erlauben"\ connection-state=established,related add action=accept chain=forward comment="alles vom LAN ins Internet zulassen" in-interface=br1-lan add action=drop chain=forward log=yes log-prefix="- IPv6 drop -"
- Pakete mithilfe der Firewall markieren
neue SSH Verbindung (DST. Port: 22) markieren mit ssh_con und die Pakete der SSH Verbindung mit ssh_pkt markieren.
WebFig | IP | Firewall | Mangle
Hinzufügen
Chain: prerouting
Protocol: 6 (tcp)
Dst. Port: 22
Action
Action: mark-connection
New Connection Mark: ssh_con
Hinzufügen
Chain: prerouting
Connection Mark: ssh_con
Dst. Port: 22
Action
Action: mark-packet
New Packet Mark: ssh_pkt
/ip firewall export # /ip firewall mangle add action=mark-connection chain=prerouting dst-port=22 new-connection-mark=ssh_con protocol=tcp add action=mark-packet chain=prerouting connection-mark=ssh_con new-packet-mark=ssh_pkt
- Queue definieren, die die markierten Pakete behandelt
Pakete ohne
Markierung erhalten die Priorität 8 und werden vom default Queue Type abgearbeitet, die Pakete mit Markierung laufen mit Prio 2.
WebFig | Queues | Simple Queues
Hinzufügen
General
Name: wan-default
Max Limit: 1M
Advanced
Packet Marks: no-mark
Priority: 8 | 8
Queue Type: default | default
Hinzufügen
General
Name: wan-hi
Max Limit: 1M
Advanced
Packet Marks: ssh_pkt
Priority: 2 | 2
Queue Type: default-small | default-small
/queue export # /queue simple add max-limit=1M/0 name=wan-default packet-marks=no-mark queue=default/default target=e1-wan add max-limit=1M/0 name=wan-hi packet-marks=ssh_pkt priority=2/2 target=e1-wan
- Template für die CA erstellen
/certificate add common-name=MikroTik-CA name=ca-tpl key-size=4096 days-valid=3650 organization=Local.zz
- Zertifikat der CA signieren
/certificate sign ca-tpl name=MikroTik-CA
- Template für die Hosts erstellen
/certificate add common-name=router name=router-tpl key-size=4096 days-valid=730 subject-alt-name=IP:192.168.2.254 /certificate add common-name=server name=server-tpl key-size=4096 days-valid=730 /certificate add common-name=client1 name=client1-tpl key-size=4096 days-valid=730
- Zertifikate mit der CA signieren
/certificate sign router-tpl ca=MikroTik-CA name=router /certificate sign server-tpl ca=MikroTik-CA name=server /certificate sign client1-tpl ca=MikroTik-CA name=client1
- wenn beim Zertifikat nicht das T-Flag gesetzt ist, kann es nicht verwendet werden
/certificate set MikroTik-CA trusted=yes /certificate set router trusted=yes
- Zertifikat exportieren
/certificate export-certificate MikroTik-CA /certificate export-certificate router export-passphrase=xxxxxxxx
- Zertifikat anzeigen
/certificate print Flags: K - private-key, D - dsa, L - crl, C - smart-card-key, A - authority, I - issued, R - revoked, E - expired, T - trusted # NAME COMMON-NAME SUBJECT-ALT-NAME FINGERPRINT 0 K A T MikroTik-CA MikroTik-CA 03be2... 1 K A T router router IP:192.168.2.254 e8e16...
/certificate print detail
WebFig | Tools | Email
Server:
Port:
Start TLS:
From:
User:
Passwort:
WebFig | System | Scheduler
Hinzufügen
Name: Export
Interval: 2D 00:00:00
On Event:
/export file=export /tool e-mail send to="user@domain.tld" from="user@domain.tld"\ subject="$[/system identity get name]" body="$[/system clock get date] configuration file" file=export.rsc
- Neighbor Discovery für das Gateway zum Internet abstellen, es werden keine Pakete auf UDP Port 5678 die WinBox zum auffinden der Geräte nutzt mehr empfangen.
/ip neighbor discovery
set sw2-e09-gateway discover=no
/ip firewall service-port disable sip