Mikrotik

Z Net47 2.0
(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(Konfiguracja Mikrotik)
(Konfiguracja Mikrotik)
 
Linia 11: Linia 11:
  
 
===Skrypt===
 
===Skrypt===
'''Komunikaty działają dla stron wyłącznie wykorzystujących protokół HTTP.'''
+
'''Komunikaty działają wyłącznie dla stron wykorzystujących protokół HTTP.'''
  
 
Proponowana wersja minimalna. Każdy z operatorów powinien sobie ją rozbudować i do konfigurować do potrzeb własnej sieci.
 
Proponowana wersja minimalna. Każdy z operatorów powinien sobie ją rozbudować i do konfigurować do potrzeb własnej sieci.

Aktualna wersja na dzień 16:46, 3 lis 2020

Skrypt do konfiguracji urządzeń Mikrotik.

Spis treści

[edytuj] Instalacja modułu

Jeżeli moduł nie został jeszcze zainstalowany należy go zainstalować według instrukcji znajdującej się TUTAJ

[edytuj] Konfiguracja Mikrotik

[edytuj] INFORMACJA

Moduł MIKROTIK działa poprawnie od wersji RouterOS 6.x, poniżej tej wersji mogą występować problemy z odczytem informacji.

Dla obsługi poprzez wykonywanie poleceń CoA działa prawidłowo od wersji: RouterOS 6.37

[edytuj] Skrypt

Komunikaty działają wyłącznie dla stron wykorzystujących protokół HTTP.

Proponowana wersja minimalna. Każdy z operatorów powinien sobie ją rozbudować i do konfigurować do potrzeb własnej sieci.

GDZIE:

  • adres 1.1.1.1 to adres strony z komunikatem
  • redirect-to=nasza.strona/notification — należy zamienić na własną stronę z komunikatem
/ip firewall filter
add action=jump chain=forward jump-target=ppp
add action=add-src-to-address-list address-list=przekierowanie address-list-timeout=30s chain=przypominajka dst-address=!1.1.1.1
add action=accept chain=forward comment="Akceptujemy ruch dnsa" dst-port=53 protocol=udp src-address-list=przekierowanie
add action=accept chain=forward comment="Akceptujemy ruch o strony z komunikatem i do panelu usera" dst-address=1.1.1.1 src-address-list=przekierowanie
add action=drop chain=forward comment="Blokujemy ruch komputer\F3w z komunikatami" dst-address=!1.1.1.1 src-address-list=przekierowanie

/ip firewall nat
add action=redirect chain=dstnat comment="Przekierowanie na komunikat" dst-port=80 protocol=tcp src-address-list=przekierowanie to-ports=58080
add action=redirect chain=dstnat comment="Przekierowanie na komunikat" dst-port=443 protocol=tcp src-address-list=przekierowanie to-ports=58080

/ip proxy
set cache-path=web-proxy1 enabled=yes max-cache-size=none max-client-connections=900 max-server-connections=900 port=58080 src-address=12.345.678.912
/ip proxy access
add dst-address=1.1.1.1 dst-port=80
add dst-address=1.1.1.1 dst-port=443
add action=deny comment="Przekierowujemy ruch na adres url" dst-port=80 redirect-to=nasza.strona/notification src-address=0.0.0.0/0
/ip proxy direct
add action=deny src-address=0.0.0.0/0

Zalecane jest żeby dokonać zabezpieczenia proxy. Mamy na to dwie metody:

  1. możemy globalnie firewall i blokować ruch od strony internetu i dopuścić tylko wybrane klasy
  2. albo możemy w samym proxy
/ip proxy access
add dst-address=1.1.1.1 dst-port=80
#####tutaj też można dodać wyjątki dla stron które klient może otworzyć np do banków ############
#####nadal proponuję kontrolować src żeby nie zrobiono ataku na te wyjątki przez nasz serwer##########
add dst-address=1.1.1.1 dst-port=443
add action=deny comment="Przekierowujemy ruch na adres url" dst-port=80 redirect-to=nasza.strona/notification src-address=0.0.0.0/0

określając src adresy jakie mogą z niego korzystać, w przypadku ataku na proxy zabije nam stronę z komunikatem. Jest jeszcze jeden problem z mikrotikiem. Przy przekierowaniu portu 80 czy 443 mikrotik nie rozróżnia czy to ruch http czy inny i przekierowuje wszystko. Jest duże ryzyko, że klient może ustawić np torrent na docelowy port 80 i będzie tysiące pakietów wysyłać do strony z komunikatem. Mamy dwie metody rozwiązania problemu:

  1. albo filtrujemy w L7 i przekierowujemy tylko http https
  2. albo ustawiamy limit pakietów w przekierowaniu resztę blokujemy.

[edytuj] Utworzenie konta

Na Mikrotiku należy utworzyć konto o takiej nazwie jaka podana jest w zmiennej konfiguracyjnej: MIKROTIK_Login (zmienną można znaleźć w: System->Ustawienia systemu->Zmienne systemowe->Mikrotik). Domyślnie jest to:

net47

Jeżeli utworzymy konto z inną nazwą niż podana w zmiennej MIKROTIK_Login to musimy także podać tą nazwę w tej zmiennej w systemie i wykonać restart modułu mikrotika:

systemctl restart net47mikrotikd

[edytuj] Przypisanie klucza DSA do konta

Do utworzonego konta należy przypisać publiczny klucz DSA. Zawartość klucza znajduje się w zmiennej: DSA_public (zmienną można znaleźć w: System->Ustawienia systemu->Zmienne systemowe->Klucze). Plik z kluczem należy wgrać na urządzenie i przypisać do loginu. System komunikuje się z Mikrotikiem przy użyciu komunikacji SSH.

[edytuj] Sprawdzenie poprawności konfiguracji

Po wykonaniu powyższych kroków można sprawdzić czy konfiguracja jest poprawna i czy system loguję się na Mikrotika bez podawania hasła. W tym celu należy wykonać z poziomu systemu net47 z konsoli komendy:

Przejście na użytkownika net47:

su -l net47

Połączenie z mikrotikiem:

ssh  -i /etc/pki/tls/private/devices.key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=error -o PasswordAuthentication=no -o ConnectTimeout=2 -p3022 net47@IP_MIKROTIKA

Podajemy odpowiedni port, login oraz adres IP Mikrotika.

[edytuj] Automatyczne generowanie backupów

[edytuj] Utworzenie skryptu

Należy utworzyć skrypt CRONTAB w podanej lokalizacji /home/net47/cron-script/MikrotikAutoBackup.sh

Zawartość skryptu MikrotikAutoBackup.sh:

#!/bin/bash

/bin/su -l postgres -c "psql -d net47 -c \"SELECT network.getmikrotikautobackup();\" ";

[edytuj] Dodanie wpisu do Crontab

Wartości czasowe podajemy według własnego uznania z jaką częstotliwością chcemy mieć backupy.

0	19	*	*	*	/home/net47/cron-script/MikrotikAutoBackup.sh > /dev/null 2>&1

[edytuj] Zapis backupu do pliku i/lub bazy

W celu uruchomienia automatycznego generowania backupów z urządzeń Mikrotik należy odpowiednio ustawić zmienne systemowe: MIKROTIK_Backup_Sciezka, MIKROTIK_Backup_Typ, MIKROTIK_Backup_Zapis.

[edytuj] Zapis backupu na serwerze FTP

W celu uruchomienia automatycznego generowania backupów z urządzeń Mikrotik należy odpowiednio ustawić zmienne systemowe: FTP_Backup, FTP_Backup_Dir, FTP_Backup_Login, FTP_Backup_Pass, FTP_Backup_IP, FTP_Backup_Port.

[edytuj] Kontrola Pasma

Opis kontroli pasma dla urządzeń można znaleźć TUTAJ.

Osobiste
Przestrzenie nazw
Warianty
Działania
Nawigacja
Konfiguracja Systemu
Szablony
API
PostgreSQL
Narzędzia
MENU