Salt la conținut
Secret Knock

Port knocking MikroTik de pe iPhone, iPad și Mac

RouterOS nu are un daemon de knocking, însă firewallul său poate gestiona o bătaie prin liste de adrese: fiecare pachet corespunzător adaugă sursa într-o listă, iar ultima listă deschide Winbox sau SSH. Secret Knock trimite ambele tipuri de bătaie MikroTik — porturi și dimensiuni de ping.

Bateți folosind porturi

Trei încercări de conectare, în ordine, mută adresa din listă în listă; numai o adresă din lista finală poate ajunge la Winbox (8291). Puneți aceste reguli înaintea oricărei reguli care respinge traficul de intrare.

/ip firewall filter
add chain=input protocol=tcp dst-port=4311 action=add-src-to-address-list \
    address-list=knock-1 address-list-timeout=10s comment="knock 1"
add chain=input protocol=tcp dst-port=5822 src-address-list=knock-1 \
    action=add-src-to-address-list address-list=knock-2 address-list-timeout=10s comment="knock 2"
add chain=input protocol=udp dst-port=6133 src-address-list=knock-2 \
    action=add-src-to-address-list address-list=knocked address-list-timeout=1h comment="knock 3"
add chain=input protocol=tcp dst-port=8291 src-address-list=knocked action=accept comment="Winbox after the knock"
add chain=input protocol=tcp dst-port=8291 action=drop comment="Winbox for everyone else"
Terminal RouterOS

Bateți folosind dimensiuni de ping

RouterOS poate corela și dimensiunea cererilor ICMP echo. packet-size reprezintă întregul pachet IPv4: 20 de octeți pentru antetul IP, 8 octeți pentru antetul ICMP și datele ping, astfel încât 100 de octeți de date ajung la 128. În editorul de ping din Secret Knock introduceți dimensiunea datelor; acesta afișează dimensiunile rezultate pentru pachetele ICMP, IPv4 și IPv6 și avertizează peste 1280 de octeți, când pachetele pot fi fragmentate.

/ip firewall filter
add chain=input protocol=icmp packet-size=128 action=add-src-to-address-list \
    address-list=ping-1 address-list-timeout=10s comment="ping 100 bytes of data"
add chain=input protocol=icmp packet-size=308 src-address-list=ping-1 \
    action=add-src-to-address-list address-list=knocked address-list-timeout=1h comment="ping 280 bytes of data"
add chain=input protocol=tcp dst-port=8291 src-address-list=knocked action=accept
add chain=input protocol=tcp dst-port=8291 action=drop
Terminal RouterOS

Adăugați ușa în aplicație

  1. 1Ușă nouă › Începe de la un șablon › MikroTik — secvență de porturi sau MikroTik — dimensiuni ping. Ambele șabloane setează Winbox (8291) ca port de verificat.
  2. 2Introduceți porturile sau dimensiunile datelor și numărul de pinguri.
  3. 3Bateți, așteptați Ușă întredeschisă, apoi deschideți Winbox.

Toate exemplele pe GitHub → Fiecare configurație de pe această pagină, gata de copiat: github.com/mobilcomm/secretknock-examples (domeniu public).

Întrebări

De ce bătaia mea MikroTik nu deschide portul?

Verificați ordinea regulilor (regulile pentru bătaie trebuie să fie înaintea regulii de respingere), expirările address-list și dacă routerul vede adresa de la care bateți — Secret Knock o afișează pe ecranul principal.

Ghiduri pentru configurarea ta