Network
สมัยผมทำร้านเน็ต SiamCafe นี่นะ ปัญหาปวดหัวอย่างนึงคือโฆษณา! ลูกค้าบ่นอุบ บางทีก็ malware แฝงมาอีก Pi-hole เนี่ยแหละคือพระเอกที่ช่วยชีวิตผมไว้เยอะมาก แถมตอนนี้ที่บ้านก็ใช้เองด้วย สะดวกสบายขึ้นเยอะเลย
Pi-hole คืออะไร? มันคือ ad blocker ระดับ network ที่ทำงานโดยการ block domain ที่ใช้ส่งโฆษณา ทำให้โฆษณาไม่แสดงบนอุปกรณ์ใดๆ ที่เชื่อมต่อกับ network ของเรา ไม่ว่าจะเป็นคอมพิวเตอร์ มือถือ แท็บเล็ต หรือแม้แต่ Smart TV
สำคัญมากๆ! ลองคิดดูนะ ปกติเราติด AdBlocker ใน browser แค่เครื่องเดียว แต่ Pi-hole ทำงานระดับ router เลย คืออุปกรณ์ทุกอย่างในบ้านที่ต่อเน็ตผ่าน router ตัวนั้น จะได้รับการ block โฆษณาหมด! ไม่ต้องลง AdBlocker ในทุกเครื่องให้วุ่นวาย แถมยังช่วยประหยัด bandwidth ด้วย เพราะไม่ต้องโหลดโฆษณาให้เปลืองเน็ต
สมัยก่อนตอนทำร้านเน็ต ผมต้องคอยลง AdBlocker ให้ลูกค้าแต่ละเครื่อง ปวดหัวมาก! พอมี Pi-hole ชีวิตง่ายขึ้นเยอะ แถมลูกค้าก็ชอบด้วย เพราะเล่นเกม เล่นเน็ตได้ลื่นขึ้น
ก่อนจะลงมือทำ มาเตรียมตัวกันก่อนนะ ไม่ยากๆ
Pi-hole ไม่ต้องการสเปคเครื่องสูงอะไรเลย จริงๆ Raspberry Pi รุ่นเก่าๆ ก็ยังไหว แต่ถ้าอยากให้ลื่นๆ แนะนำตามนี้:
ถ้าไม่มี Raspberry Pi จะใช้ Virtual Machine (VM) บนคอมพิวเตอร์ หรือ Cloud Server ก็ได้ แต่ Raspberry Pi มันเล็ก ประหยัดไฟ เปิดทิ้งไว้ 24 ชั่วโมงก็สบายๆ
สิ่งที่ต้องมีคือ OS สำหรับ Raspberry Pi (หรือ VM) ผมแนะนำ Raspberry Pi OS (เดิมชื่อ Raspbian) นะ ใช้งานง่าย Community ใหญ่
SSH Client นี่สำคัญนะ เพราะเราจะเข้าไป config Pi-hole ผ่าน command line ซะส่วนใหญ่
เอาล่ะ มาเริ่มลงมือกันเลย! ผมจะสอนแบบละเอียดๆ เลยนะ
อันดับแรก ต้องลง Raspberry Pi OS บน SD card ก่อน ไปโหลด image ได้ที่ Raspberry Pi website แล้วใช้โปรแกรมอย่าง Raspberry Pi Imager หรือ Etcher ในการ flash image ลง SD card
พอ flash เสร็จแล้ว เสียบ SD card เข้า Raspberry Pi แล้ว boot เครื่องขึ้นมา
หลังจาก Raspberry Pi boot เสร็จแล้ว เราจะ SSH เข้าไป config ค่าต่างๆ ถ้ายังไม่ได้เปิด SSH ตอน flash image ก็ต้องต่อจอ ต่อ keyboard เข้าไปเปิด SSH ก่อน
เปิด Terminal (macOS/Linux) หรือ Putty (Windows) แล้วพิมพ์:
ssh pi@raspberrypi.local
Default password คือ raspberry เปลี่ยน password ทันทีที่ login เข้าไปได้แล้วนะ!
หลังจาก SSH เข้าไปได้แล้ว ก็สั่งติดตั้ง Pi-hole ได้เลย! พิมพ์คำสั่งนี้:
curl -sSL https://install.pi-hole.net | bash
มันจะเริ่ม download และติดตั้ง Pi-hole แบบอัตโนมัติ ระหว่างติดตั้งจะมีให้เลือก config ค่าต่างๆ เช่น เลือก DNS server (แนะนำ Google หรือ Cloudflare) และตั้ง password สำหรับ Pi-hole web interface
อ่านรายละเอียดแต่ละขั้นตอนให้ดีๆ นะ ถ้าไม่แน่ใจก็เลือก default ไปก่อนได้
หลังจากติดตั้ง Pi-hole เสร็จแล้ว ขั้นตอนสุดท้ายคือการ config router ให้ใช้ Pi-hole เป็น DNS server นี่แหละสำคัญที่สุด! ไม่งั้น Pi-hole ก็จะไม่ทำงาน
วิธีการ config จะแตกต่างกันไปตามยี่ห้อและรุ่นของ router แต่หลักการคือ ให้ไปที่หน้า config ของ router แล้วเปลี่ยน DNS server เป็น IP address ของ Raspberry Pi ของเรา
เช่น ถ้า Raspberry Pi ของเรามี IP address เป็น 192.168.1.10 ก็ให้ใส่ 192.168.1.10 เป็น DNS server ใน router ทั้ง Primary DNS และ Secondary DNS
หลังจาก config router เสร็จแล้ว ให้ restart อุปกรณ์ต่างๆ ใน network (คอมพิวเตอร์ มือถือ) เพื่อให้ได้รับ DNS server ใหม่
แค่นี้ก็เรียบร้อย! ลองเข้าเว็บที่มีโฆษณาดูสิ โฆษณาน่าจะหายไปแล้ว
หลังจากติดตั้ง Pi-hole เสร็จแล้ว เราสามารถเข้าไปตรวจสอบและจัดการ Pi-hole ผ่าน web interface ได้ โดยพิมพ์ IP address ของ Raspberry Pi ใน browser แล้วตามด้วย /admin
เช่น ถ้า Raspberry Pi ของเรามี IP address เป็น 192.168.1.10 ก็ให้พิมพ์ 192.168.1.10/admin ใน browser
ใน web interface เราสามารถดูสถิติการ block โฆษณา เพิ่ม/ลบ whitelist/blacklist และ config ค่าต่างๆ ของ Pi-hole ได้
ลองเข้าไปสำรวจดูนะ มีอะไรให้เล่นเยอะแยะเลย
ดูวิดีโอเพิ่มเติมเกี่ยวกับPi-hole DNS Ad Blocker ติดตั้ง:
| คุณสมบัติ | Pi-hole | AdBlocker ใน Browser |
|---|---|---|
| ขอบเขตการทำงาน | ทั้ง Network | เฉพาะ Browser ที่ติดตั้ง |
| การติดตั้ง | ต้องมี Hardware/VM | ติดตั้งง่ายใน Browser |
| ผลกระทบต่อ Performance | น้อยมาก | อาจมีผลบ้าง |
| การจัดการ | รวมศูนย์ที่ Pi-hole | ต้องจัดการแยกแต่ละ Browser |
| เหมาะสำหรับ | บ้าน/ออฟฟิศ ที่มีอุปกรณ์หลายชิ้น | ผู้ใช้ทั่วไป ที่ต้องการ block โฆษณาใน Browser |
เห็นมั้ยว่า Pi-hole มันเจ๋งกว่า AdBlocker ใน Browser ตรงที่มันทำงานทั้ง network! SiamCafe Blog มีบทความดีๆ อีกเยอะ ลองเข้าไปอ่านดูนะ
A: ไม่ 100% นะครับ บางทีโฆษณาก็ยังเล็ดลอดมาได้บ้าง เพราะโฆษณาบางตัวมันฉลาด ใช้ domain name ที่ไม่เหมือนชาวบ้านเค้า แต่โดยรวมแล้ว Pi-hole ก็ block โฆษณาได้เยอะมากๆ
A: ไม่ช้าลงครับ ตรงกันข้าม Pi-hole จะช่วยให้เว็บโหลดเร็วขึ้นด้วยซ้ำ เพราะไม่ต้องโหลดโฆษณาให้เปลือง bandwidth
A: ได้แน่นอนครับ! Pi-hole มี web interface ให้เราเพิ่ม whitelist/blacklist ได้ตามใจชอบ ถ้าเจอเว็บไหนที่ Pi-hole block ผิด ก็เพิ่ม whitelist เข้าไปได้เลย
หวังว่าบทความนี้จะเป็นประโยชน์กับทุกคนนะครับ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลย SiamCafe Blog ยินดีตอบทุกคำถาม
เหมือนดูแลเครื่องลูกในร้านเน็ตนั่นแหละ ต้องอัพเดทโปรแกรมอยู่เสมอ Pi-hole ก็เหมือนกัน อัพเดทบ่อยๆ จะได้แพทช์ความปลอดภัย และฟีเจอร์ใหม่ๆ
pihole -up
คำสั่งเดียวจบ ง่ายกว่าลง Windows ใหม่เยอะ!
เคยไหม? ทำอะไรผิดพลาด แล้วอยากย้อนกลับไปจุดเดิม? Pi-hole ก็เหมือนกัน Backup configuration ไว้บ้าง จะได้ไม่เสียเวลาเซ็ตใหม่หมด
pihole -t
Backup เสร็จ เก็บไฟล์ไว้ดีๆ นะ
บางทีเว็บที่เราอยากเข้า มันโดน Pi-hole บล็อคซะงั้น ต้อง Whitelist กันไป แต่ต้องระวัง อย่า Whitelist มั่วซั่ว เดี๋ยวโฆษณาบาน
ค่อยๆ เพิ่มทีละโดเมน แล้วทดสอบดูว่าเว็บกลับมาใช้งานได้ปกติไหม
เช็คดูบ้างว่า Pi-hole ทำงานหนักไปหรือเปล่า CPU usage สูงเกินไปไหม กิน Memory เยอะไปไหม จะได้วางแผนอัพเกรด Hardware ได้ทัน
ใช้คำสั่ง top หรือ htop ดูได้เลย
Pi-hole ไม่ได้บล็อคทุกอย่างบนโลกใบนี้ บางโฆษณาฝังมากับคอนเทนต์เลย (พวก Native Ads) หรือบางที List ที่เราใช้มันยังไม่ครอบคลุม
ลองเพิ่ม Blocklist อื่นๆ ดู หรือ Whitelist เฉพาะส่วนที่จำเป็น
โดยปกติไม่น่าจะช้าลงนะ เพราะมัน Cache DNS ไว้ด้วยซ้ำ แต่ถ้า Blocklist เยอะมากๆ อาจจะมีผลบ้าง
ลอง Monitor Performance ดูอย่างที่บอกข้างบน
ได้สิ! Pi-hole ทำงานที่ระดับ DNS จะใช้ VPN อะไรก็ไม่มีปัญหา iCafeForex ยังเคยลองเลย!
แค่ตั้งค่า DNS Server ใน VPN Client ให้ชี้มาที่ Pi-hole ก็เรียบร้อย
Pi-hole ช่วยบล็อคโดเมนที่เกี่ยวข้องกับ Malware ได้บ้าง แต่ไม่ใช่ Antivirus นะ อย่าเข้าใจผิด
ควรใช้ Antivirus ควบคู่ไปด้วยเสมอ
Pi-hole เป็นเครื่องมือที่ช่วยบล็อคโฆษณาได้ดี แถมยัง Open Source อีกด้วย ติดตั้งง่าย ใช้งานสะดวก แต่ก็ต้องดูแลรักษาเหมือนเครื่อง Server ทั่วไป
ลองเอาไปใช้ดู แล้วจะติดใจ! ใครอยากอ่านเรื่อง IT สนุกๆ ตามไปที่ SiamCafe Blog ได้เลย!