ข้ามไปยังเนื้อหา
Secret Knock

การเคาะพอร์ต MikroTik จาก iPhone, iPad และ Mac

RouterOS ไม่มี knock daemon แต่ไฟร์วอลล์สามารถจัดลำดับการเคาะผ่าน address lists ได้: แต่ละแพ็กเก็ตที่ตรงเงื่อนไขจะเพิ่มต้นทางลงในรายการ และรายการสุดท้ายจะเปิด 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 ได้ด้วย packet-size คือขนาดของแพ็กเก็ต IPv4 ทั้งหมด: ส่วนหัว IP 20 ไบต์ ส่วนหัว ICMP 8 ไบต์ และข้อมูล ping ดังนั้นข้อมูลขนาด 100 ไบต์จึงมาถึงเป็น 128 ไบต์ ในตัวแก้ไข ping ของ Secret Knock คุณป้อนขนาดข้อมูล แล้วแอปจะแสดงขนาดแพ็กเก็ต 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

เพิ่มประตูในแอป

  1. 1ประตูใหม่ › เริ่มจากเทมเพลต › ลำดับพอร์ต MikroTik หรือขนาด ping MikroTik ทั้งสองแบบตั้งค่า Winbox (8291) เป็นพอร์ตที่จะตรวจสอบ
  2. 2ป้อนพอร์ตของคุณ หรือขนาดข้อมูลและจำนวนครั้งของ ping
  3. 3เคาะ รอให้ประตูแง้มอยู่ แล้วเปิด Winbox

ตัวอย่างทั้งหมดบน GitHub → การกำหนดค่าทุกรายการในหน้านี้ พร้อมให้คัดลอก: github.com/mobilcomm/secretknock-examples (สาธารณสมบัติ)

คำถาม

เหตุใดการเคาะ MikroTik ของฉันจึงไม่เปิด?

ตรวจสอบลำดับของกฎ (กฎสำหรับการเคาะต้องมาก่อนกฎที่ทิ้งแพ็กเก็ต) ระยะหมดเวลาของ address-list และตรวจสอบว่าเราเตอร์เห็นที่อยู่ต้นทางที่คุณใช้เคาะ — Secret Knock จะแสดงที่อยู่นั้นบนหน้าจอหลัก

คู่มือสำหรับการตั้งค่าของคุณ