Przejdź do treści
Secret Knock

Pukanie portami MikroTik z iPhone’a, iPada i Maca

RouterOS nie ma demona pukań, ale jego zapora może realizować pukanie za pomocą list adresów: każdy pasujący pakiet umieszcza adres źródłowy na liście, a ostatnia lista otwiera Winbox lub SSH. Secret Knock wysyła oba rodzaje pukań MikroTik — portami i rozmiarami pingów.

Pukanie portami

Trzy próby połączenia wykonane w odpowiedniej kolejności przenoszą adres między listami; tylko adres na ostatniej liście może uzyskać dostęp do Winbox (8291). Umieść te reguły przed każdą regułą odrzucającą ruch przychodzący.

/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

Pukanie rozmiarami pingów

RouterOS może również dopasowywać rozmiar żądań echo ICMP. packet-size obejmuje cały pakiet IPv4: 20 bajtów nagłówka IP, 8 bajtów nagłówka ICMP oraz dane pingu, więc 100 bajtów danych daje pakiet o rozmiarze 128 bajtów. W edytorze pingów Secret Knock podajesz rozmiar danych; aplikacja pokazuje wynikowe rozmiary pakietów ICMP, IPv4 i IPv6 oraz ostrzega powyżej 1280 bajtów, gdy pakiety mogą zostać pofragmentowane.

/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

Dodaj drzwi w aplikacji

  1. 1Nowe drzwi › Zacznij od szablonu › MikroTik — sekwencja portów lub MikroTik — rozmiary pingów. Oba szablony ustawiają Winbox (8291) jako port do sprawdzenia.
  2. 2Wprowadź porty albo rozmiary danych i liczbę pingów.
  3. 3Zapukaj, poczekaj na Uchylone drzwi, a następnie otwórz Winbox.

Wszystkie przykłady na GitHubie → Każda konfiguracja z tej strony, gotowa do skopiowania: github.com/mobilcomm/secretknock-examples (domena publiczna).

Pytania

Dlaczego moje pukanie do MikroTik nie otwiera drzwi?

Sprawdź kolejność reguł (reguły pukań muszą znajdować się przed regułą odrzucania), limity czasu list adresów oraz czy router widzi adres, z którego pukasz — Secret Knock pokazuje go na ekranie głównym.

Przewodniki dotyczące Twojej konfiguracji