Skip to content

บล็อกโฆษณาบน MikroTik ด้วย AdList

สรุป
ฟีเจอร์ AdList ของ MikroTik (RouterOS v7.15+) ช่วยบล็อกโฆษณาที่ระดับ DNS ทั่วทั้งเครือข่าย บทความนี้อธิบายเหตุผล วิธีการเตรียมเราท์เตอร์ เพิ่มบล็อกลิสต์สาธารณะและกำหนดเอง ทดสอบการตั้งค่า การอนุญาตโดเมน และข้อจำกัด

ทำไมต้องใช้ AdList แทน Pi‑hole?

ฟีเจอร์ AdList คือบล็อกโฆษณาที่ทำงานบนพื้นฐาน DNS ของ MikroTik ต่างจากคอนเทนเนอร์ Pi‑hole, AdList รันได้เลยบน RouterOS โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มหรือติดตั้งคอนเทนเนอร์ เมื่อเปิดใช้งาน จะกรองคำขอไปยังเซิร์ฟเวอร์โฆษณาที่รู้จัก (ระเบียน A และ AAAA) โดยส่งกลับ 0.0.0.0 แทนที่อยู่ IP จริง

ข้อดีเหนือ Pi‑hole:

  • ติดตั้งง่าย. เพิ่มบล็อกลิสต์แล้วเริ่มทำงานทันที
  • ไม่ต้องใช้คอนเทนเนอร์. ไม่จำเป็นต้องเปิดการใช้งานคอนเทนเนอร์หรือดูแล Pi‑hole ภายนอก
  • DNS รวมในตัว. ใช้ตัวแก้ DNS ของ RouterOS โดยไม่ต้องเปลี่ยนการตั้งค่า DNS ของเราท์เตอร์
  • รองรับกว้าง. ใช้งานได้บน MikroTik ทุกเครื่องที่ใช้ RouterOS v7.15 ขึ้นไป

เนื่องจาก AdList แก้ไขคำตอบ DNS จึงสามารถบล็อกโฆษณาบนอุปกรณ์สมาร์ทโฟน ทีวี และ IoT ที่เคารพการตั้งค่า DNS เครือข่าย โปรดเข้าใจว่าการบล็อกนี้ไม่สามารถหยุดโฆษณาวิดีโอบน YouTube หรือโฆษณาในแอปที่คล้ายกันได้


เตรียมเราท์เตอร์ของคุณ

ก่อนเพิ่มบล็อกลิสต์ ให้รีเฟรชเราท์เตอร์เป็น RouterOS v7 รุ่นล่าสุด AdList ใช้ได้ใน v7.15 ขึ้นไป【263718328550380†L40-L41】 อัปเกรดได้ที่ System → Packages → Check for updates แล้วติดตั้งเวอร์ชันเสถียรล่าสุด

เพิ่มขนาดแคช DNS

AdList จะถูกเก็บในแคช DNS; แคชขนาดเล็กจะทำให้เกิดข้อผิดพลาด “max cache size reached” ใน IP → DNS ตั้งค่า Cache size ให้ใหญ่พอเก็บบล็อกลิสต์ของคุณ ตัวอย่างเช่น เราท์เตอร์ที่มี RAM 128 MB ใช้ลิสต์หนึ่งหรือสองชุด ควรตั้งเป็น 30–40 MB ทำผ่าน WinBox หรือ CLI ดังนี้:

Terminal window
/ip/dns set cache-size=40000

Title

ตรวจสอบให้เปิดใช้งาน Allow Remote Requests เพื่อให้เราท์เตอร์ตอบคำถาม DNS จาก LAN ได้

--- [to separe files]

เพิ่มอาดลิสต์สาธารณะ

คุณสามารถนำเข้าบล็อกลิสต์ยอดนิยม เช่น ไฟล์ hosts จาก StevenBlack ได้ ใน WinBox ไปที่ IP → DNS → Adlist แล้วคลิก + วาง URL ลิสต์ (เช่น https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts) ปิด SSL Verify เว้นแต่คุณได้นำเข้าหน่วยงานออกใบรับรองแล้ว หลังประมวลผล ลิสต์จะแสดงจำนวนแมตช์และชื่อรายการ

คำสั่ง CLI เทียบเท่า:

Terminal window
/ip/dns/adlist add \
url=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts \
ssl-verify=no

ดูจำนวนโดเมนที่โหลดและแมตช์ด้วยคำสั่ง:

Terminal window
/ip/dns/adlist/print

จะแสดง match-count (จำนวนคำขอบล็อก) และ name-count (จำนวนรายการในลิสต์)

Title

การอนุญาตและการส่งต่อ

บางครั้งคุณอาจต้องอนุญาตโดเมนเฉพาะที่อยู่ในบล็อกลิสต์ สร้างรายการส่งต่อแบบคงที่ (static forward) เพื่อข้าม AdList เช่น:

Terminal window
/ip/dns/static add name=example.com type=FWD

ส่งต่อคำขอของ example.com ไปยัง DNS เซิร์ฟเวอร์ถัดไป【702850675801765†L430-L435】 นอกจากนี้ยังกำหนด upstream resolver เช่น Quad9 หรือ Cloudflare ได้ โดยใช้คำสั่ง /ip dns forwarders add dns-servers=1.1.1.1,8.8.8.8 name=my-fwd แล้วตั้งค่า static entries เป็น forward-to=my-fwd

--- [to separe files]

สร้างและนำเข้าบล็อกลิสต์ของคุณเอง

เพื่อการควบคุมมากขึ้น สร้างไฟล์ข้อความที่บรรจุรายชื่อโดเมนที่ต้องการบล็อก แต่ละบรรทัดใช้รูปแบบ 0.0.0.0 domain เช่น:

0.0.0.0 adverts.com
0.0.0.0 click.adclick.com
0.0.0.0 malware-site.com
0.0.0.0 fraud.scam.com

อัปโหลดหรือสร้างไฟล์บน RouterOS โดยใช้คำสั่ง:

Terminal window
/file/add name=adbl.txt
/file/edit adbl.txt contents

ใส่รายชื่อโดเมนแล้วกด Ctrl‑O เพื่อบันทึก จากนั้นเพิ่มเข้าสู่ DNS adlists ของคุณ:

Terminal window
/ip/dns/adlist add file=adbl.txt

ตรวจสอบว่าไฟล์ถูกแปลงรายการแล้วโดยดู name-count ผ่านคำสั่ง /ip/dns/adlist/print

Title


ทดสอบและแก้ไขปัญหา

ตรวจสอบคำตอบ DNS

หลังตั้งค่า adlists ให้ล้างแคช DNS บนอุปกรณ์ลูกข่ายและทดสอบคำถาม DNS บน Windows ใช้คำสั่ง ipconfig /flushdns ตามด้วย nslookup someadserver.com การตอบกลับควรเป็น 0.0.0.0 หรือ 127.0.0.1 แทนที่อยู่ IP จริง

Title

ตรวจสอบจำนวนแมตช์และการใช้แคช

ติดตาม match-count เพื่อดูจำนวนคำขอบล็อกโฆษณา หากพบข้อผิดพลาด adlist read: max cache size reached ให้เพิ่มขนาดแคช DNS หรือลบลิสต์ใหญ่ๆ【702850675801765†L400-L405】 จำไว้ว่าไฟล์ถูกเก็บในหน่วยความจำภายใน ให้ตรวจสอบว่าเราท์เตอร์มีพื้นที่ว่างพอ


การบำรุงรักษาและข้อจำกัด

  • อัปเดตอัตโนมัติ. รายการอาดอัปเดตโดยอัตโนมัติ; RouterOS ตรวจสอบทุก 4 ชั่วโมง คุณสามารถรีโหลดด้วยคำสั่ง /ip/dns/adlist/reload ได้แต่ไม่จำเป็นเสมอไป
  • ใช้หน่วยความจำ. บล็อกลิสต์ขนาดใหญ่ใช้ RAM และพื้นที่เก็บข้อมูล หลีกเลี่ยงการเพิ่มลิสต์มากเกินกำลังเราท์เตอร์
  • บล็อกเฉพาะ DNS. AdList บล็อกที่ระดับ DNS เท่านั้น จึงไม่สามารถบล็อกโฆษณาจากโฮสต์เดียวกับวิดีโอ (เช่น YouTube) ต้องใช้ส่วนขยายเบราว์เซอร์หรือ Pi‑hole สำหรับโฆษณาในแอปหรือ YouTube
  • การตั้งค่าเครือข่าย. ตรวจสอบให้อุปกรณ์ทั้งหมดใช้ IP เราท์เตอร์เป็นเซิร์ฟเวอร์ DNS ลูกข่ายที่ใช้ DoH/DoT (DNS over HTTPS/TLS) อาจหลบเลี่ยงการบล็อกโฆษณา ควรใช้กฎไฟร์วอลล์บังคับให้ DNS ผ่านเราท์เตอร์เท่านั้น

เกี่ยวกับ MKController

หวังว่าข้อมูลข้างต้นจะช่วยให้คุณเข้าใจโลก Mikrotik และอินเทอร์เน็ตได้ดีขึ้น! 🚀
ไม่ว่าคุณจะปรับแต่งการตั้งค่าหรือจัดระบบเครือข่าย, MKController พร้อมช่วยให้ชีวิตคุณง่ายขึ้น

ด้วยการจัดการคลาวด์รวมศูนย์ อัปเดตความปลอดภัยอัตโนมัติ และแดชบอร์ดที่ทุกคนใช้ได้, เรามีทุกอย่างเพื่อยกระดับการทำงานของคุณ

👉 เริ่มทดลองใช้ฟรี 3 วันเลย ที่ mkcontroller.com — สัมผัสการควบคุมเครือข่ายที่แท้จริงง่ายเพียงปลายนิ้ว