跳至內容
Secret Knock

從 iPhone、iPad 和 Mac 對 MikroTik 進行連接埠敲門

RouterOS 沒有敲門常駐程序,但其防火牆可透過位址清單分階段處理敲門:每個符合條件的封包都會將來源加入清單,最後一個清單會開放 Winbox 或 SSH。Secret Knock 可傳送兩種 MikroTik 敲門方式:連接埠和 ping 大小。

使用連接埠敲門

依序進行三次連線嘗試,會將位址從一個清單移至另一個清單;只有位於最終清單中的位址可連線至 Winbox (8291)。請將這些規則放在任何捨棄輸入流量的規則之前。

/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"
RouterOS 終端機

使用 ping 大小敲門

RouterOS 也可比對 ICMP echo requests 的大小。packet-size 是完整的 IPv4 封包:20 位元組的 IP 標頭、8 位元組的 ICMP 標頭及 ping 資料,因此 100 位元組的資料會以 128 位元組抵達。在 Secret Knock 的 ping 編輯器中,您輸入的是資料大小;它會顯示產生的 ICMP、IPv4 和 IPv6 封包大小,並在超過 1280 位元組時發出警告,因為封包可能會被分段。

/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
RouterOS 終端機

在 app 中新增門

  1. 1新增門 › 從範本開始 › MikroTik — 連接埠順序或 MikroTik — ping 大小。兩者皆將 Winbox (8291) 設為要檢查的連接埠。
  2. 2輸入您的連接埠,或 ping 的資料大小和次數。
  3. 3敲門,等待顯示「門微開」,然後開啟 Winbox。

GitHub 上的所有範例 → 本頁的每項設定皆可直接複製:github.com/mobilcomm/secretknock-examples(公眾領域)。

問題

為什麼我的 MikroTik 敲門無法開啟?

請檢查規則順序(敲門規則必須位於捨棄規則之前)、address-list 逾時時間,以及路由器是否看得到您敲門時使用的位址——Secret Knock 會在主畫面顯示該位址。

適用於您設定的指南