Mikrotik
(→Skrypt) |
(→Konfiguracja Mikrotik) |
||
(Nie pokazano 1 wersji utworzonej przez jednego użytkownika) | |||
Linia 11: | Linia 11: | ||
===Skrypt=== | ===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. | Proponowana wersja minimalna. Każdy z operatorów powinien sobie ją rozbudować i do konfigurować do potrzeb własnej sieci. | ||
Aktualna wersja na dzień 15: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:
- możemy globalnie firewall i blokować ruch od strony internetu i dopuścić tylko wybrane klasy
- 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:
- albo filtrujemy w L7 i przekierowujemy tylko http https
- 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.