Tag Archives: Mikrotik

MikroTik – copy DHCP leases to ARP script

Poniższy skrypt kopiuje wpisy DHCP leases (powiącania IP – MAC) do tablicy ARP.

#Define interface that clients are connected to. In my case bridge1
:local interface bridge1;

#Deleting old ARP entries
#Adding information to log
:log info ("Deleting old ARP entries");
:foreach arpId in=[/ip arp find] do={
	/ip arp remove $arpId;	
}

#Adding new ARP entries
:foreach leaseId in=[/ip dhcp-server lease find] do={

	#OPTIONAL - copy DHCP Lease comment to leaseComment variable
	#:local leaseComment  [/ip dhcp-server lease get $leaseId comment];
	
	#copy DHCP Lease IP address to leaseMAC variable 
	:local leaseIP [/ip dhcp-server lease get $leaseId address];
	
	#copy DHCP Lease MAC address to leaseMAC variable 
	:local leaseMAC  [/ip dhcp-server lease get $leaseId mac-address];	
	
	#Adding new ARP entries
	/ip arp add address=$leaseIP mac-address=$leaseMAC interface=$interface disabled=no published=no;
	
	#Adding information to log
	:log info ("Adding new ARP entry");
}

MikroTik – configuration backup problem ( mikrotik error creating backup file: could not read configuration files )

W RouterOS od wersji 6.42.x występuje problem ze utworzeniem pliku konfiguracyjnego (backupu ustawień). W logu pojawia się komunikat:

mikrotik error creating backup file: could not read configuration files

Rozwiązaniem problemu jest ponowne wygenerowanie klucza SSH i restart routera.

/ip ssh regenerate-host-key
/system reboot

Zródło:
https://forum.mikrotik.com/viewtopic.php?t=133621

MikroTik – konfiguracja serwera VPN (L2TP + IPSec)

W artykule opisana jest konfiguracja serwera VPN w systemie MikroTik RouterOS. Oto konfiguracja routera:

Konfiguracja interfejsów sieciowych:
interfejs WAN: ether2wan – pppoe-out1
interfejs LAN: ether3lan – 192.168.5.1/24

Dane dostępowe dla klienta VPN:

IPsec secret: hasloIPSec
PPP user: PPPuser
PPP secret password: hasloPPP
pula adresów IP przeznaczonych dla klientów L2TP:  192.168.2.10-192.168.2.20 (pula o nazwie vpn-clients)

Konfigurację można przeprowadzić w ośmiu krokach:

  1. Odblokowanie portów w zaporze, aby router zezwalał na przychodzące połączenia klientów poprzez tunel:
    /ip firewall filter
    add action=accept chain=input dst-port=500 protocol=udp
    add action=accept chain=input dst-port=1701 protocol=udp
    add action=accept chain=input dst-port=4500 protocol=udp
    add action=accept chain=input protocol=ipsec-esp
    add action=accept chain=input protocol=ipsec-ah
  2. Konfiguracji puli adresów IP dla klientów VPN o nazwie vpn-clients:
    /ip pool
    add name=vpn-clients ranges=192.168.2.10-192.168.2.20
  3. Utworzenie profilu klienta PPP o nazwie L2TPClients:
    /ppp profile
    add change-tcp-mss=yes dns-server=192.168.5.1,194.204.159.1 local-address=192.168.5.1 name=L2TPClients remote-address=vpn-clients
  4. Włączenie serwera L2TP
    /interface l2tp-server server
    set authentication=mschap2 default-profile=L2TPClients enabled=yes ipsec-secret=hasloIPSec use-ipsec=yes
    set max-mtu=1450
    set max-mtu=1450
  5. Konfiguracja IPSec:
    /ip ipsec proposal
    set [ find default=yes ] enc-algorithms=aes-256-cbc,3des pfs-group=none
  6. Konfiguracja istniejącego – predefiniowanego profilu IPSec „default”
    /ip ipsec peer profile
    set name="default" hash-algorithm=sha1 enc-algorithm=aes-128,3des dh-group=modp2048,modp1024 lifetime=1d
    proposal-check=obey nat-traversal=yes dpd-interval=2m dpd-maximum-failures=5
  7. Utworzenie konta PPP
    /ppp secret
    add name=PPPuser password=hasloPPP profile=L2TPClients service=l2tp
  8. Konfiguracja NATu tak, aby klient VPN miał połączenie z siecią Internet wykorzystując adres IP routera – serwera VPN.
    /ip firewall nat
    add action=masquerade chain=srcnat comment=\
    "maskarada dla klientow VPN L2TP IPSec" out-interface=pppoe-out1 \
    src-address=192.168.2.0/24

Połączenie klienckie VPN L2TP+IPSec można skonfigurować m.in. we wbudowanym kliencie systemu Windows 7/10 lub używając darmowego klienta firmy DrayTek: https://www.draytek.com/products/smart-vpn-client/

Źródło:
http://mikrotikacademy.pl/mikrotik-vpn-l2tpipsec-ms-windows-step-by-step/
https://www.youtube.com/watch?v=j37Tm1wdvzM

MikroTik – blokowanie stron WWW

Do tej pory aby zablokować stronę WWW należało posługiwać się regułami L7 (wyrażeniami regularnymi Regexp), lub Web Proxy. Niestety, używając tych funkcji RouterOS, blokowanie wielu stron WWW mogło spowodować nadmierne obciążenie CPU.
Poczynając od wersji RouterOS 6.36,  istnieje możliwość używania nazw DNS w address-list. Daje to ogromne możliwości firewalla – budowanie dynamicznych list IP. Blokowanie stron używając Dynamic Lists nie powoduje już dużego obciążenia CPU.

Poniżej przedstawiony jest przykład blokowania strony chomikuj.pl wszystkim komputerom w sieci oprócz komputera o adresie IP: 192.168.5.107:

miktorik - blokowanie stron, ustawienia firewalla

Na powyższym zrzucie ekranu widać, że MikroTik rozwiązał nazwę DNS chomikuj.pl i umieścił dynamiczne wpisy IP w Address Lists.  W tym przypadku strona chomikuj.pl dostępna jest pod dwoma adresami IP.

MikroTik – logowanie ruchu w sieci, monitorowanie łącza i samego urządzenia

Aby logować nawiązywane połączenia w sieci należy logować wszystkie połączenia TCP z flagą SYN oraz FIN.

W tym celu w terminalu należy wpisać poniższe komendy:

ip firewall filter add chain=forward action=log tcp-flags=syn protocol=tcp log=yes log-prefix="all-connections"
ip firewall filter add chain=forward action=log tcp-flags=fin protocol=tcp log=yes log-prefix="all-connections"
system logging add action=remote prefix=all-connections topics=firewall

Bardzo dobrym programem dla systemu Windows zapisującym logi z MT jest Kiwi Syslog Server ( https://www.kiwisyslog.com/downloads ). Dla większości użytkowników wersja darmowa – ograniczona jest wystarczająca.

Innym b. dobrym i całkowicie darmowym syslogiem jest Visual Syslog Server for Windows (https://sourceforge.net/projects/syslogserverwindows/)

Kolejnym świetnym programem służącym do zliczania ruchu w sieci jest Attix Traffic Monitor 1.0.3 do ściągnięcia ze strony: https://forum.mikrotik.com/viewtopic.php?t=77193 lub http://www.mikrotik.com/download/TrafficCounter.zip .

Na stronie: https://lifeisrouting.blogspot.com/2016/06/mikrotik-kiwi-syslog-configuration.html

przedstawiona jest konfiguracja logowania ruchu przez WebProxy.

 

Poniżej wymienione są inne programy do monitorowania łącza oraz samego urządzenia (obciążenie CPU, RAM itp…)
https://www.youtube.com/watch?v=84keY6KOw2I – Mikrotik WebProxy logs
http://www.itlearnweb.com/2016/01/how-to-save-mikrotik-logs-to-remote_56.html – log connections
https://www.youtube.com/results?search_query=mikrotik+kiwi+syslog+server
https://lifeisrouting.blogspot.com/2016/06/mikrotik-kiwi-syslog-configuration.html
https://trzepak.pl/viewtopic.php?f=26&t=49897&start=25
https://kazuko.pl/
https://www.paessler.com/
https://www.librenms.org
https://www.icinga.com/

 

 

 

 

MikroTik – dhcp server problem

Od wersji RouterOS 6.38 występuje problem z serwerem DHCP. Mianowicie, serwer przestaje odpowiadać na zapytania i nie przydziela adresów:

20:19:22 dhcp,warning DHCP offering lease 192.168.5.60 for 08:00:0F:8F:C0:0E without success

W przypadku RB951Ui-2HnD serwer DHCP przydzielał adresy IP tylko komputerom połączonym drogą radiową (na interfejsie wlan1). Komputery podpięte do routera przez Ethernet nie otrzymywały adresów IP, mimo że interfejs wlan1 oraz Ethernet były skonfigurowane w trybie bridge.

Doraźnym rozwiązaniem jest restart serwera DHCP. Jednak problem powraca po długiej nieaktywności serwera DHCP (np po weekendzie).

Rozwiązaniem problemu jest wyłączenie protokołu RTSP na interfejsie bridge oraz włączenie go ponownie.

Problem opisany jest na oficjalnym forum MikroTika: https://forum.mikrotik.com/viewtopic.php?t=116963

Mikrotik – automatyczne odnawianie publicznego adresu IP

W przypadku dynamicznego adresu IP (np. Neostrada) bardzo przydatna jest funkcja automatycznego odnawiania adresu IP o określonej porze (np. o 5.00 rano), gdy użytkownicy jeszcze nie korzystają z sieci. Bardzo niemiła jest bowiem sytuacja jeśli zmienia się adres IP w ciągu dnia pracy, np. podczas sesji bankowej itp.

/interface pppoe-client set [find name="pppoe-out1"] disabled=yes
/interface pppoe-client set [find name="pppoe-out1"] disabled=no
/log info message="PPPoE reconnect"

Ustawienie Schedulera:

/system scheduler add name=”WANdisconnect” on-event=nazwaPowyzszegoSkryptu start-date=jan/01/1970 start-time=00:05:00 interval=1d comment=”” disabled=no