แม้จะมี Ad-blocker หลายตัวที่บล็อกโฆษณาบนแล็ปท็อปหรือคอมพิวเตอร์ได้ แต่สิ่งเหล่านั้นมักไม่ทำงานบนอุปกรณ์อื่น เช่น โทรศัพท์มือถือและแท็บเล็ต บทความนี้จะแสดงวิธีเปลี่ยน Raspberry Pi ให้เป็น Ad Blocker ทั่วเครือข่ายด้วย Pi-Hole เมื่อเสร็จแล้ว คุณจะบล็อกโฆษณาได้ทั่วทุกอุปกรณ์ที่เชื่อมต่อกับเครือข่าย: แล็ปท็อป คอมพิวเตอร์ โทรศัพท์ แท็บเล็ต และอื่นๆ
หมายเหตุ: หากต้องการเริ่มต้น สามารถอ่านบทความเกี่ยวกับ Pi-Hole คืออะไรและมีประโยชน์อย่างไรได้ก่อน
สิ่งที่ต้องเตรียม
เพื่อทำบทช่วยสอนนี้ คุณต้องมี:
- Raspberry Pi ที่รัน Raspbian หากยังไม่มี Raspbian ให้ดาวน์โหลดเวอร์ชันล่าสุดและเขียนลงการ์ด SD ด้วย Etcher
- สายไฟที่เข้ากับ Raspberry Pi ของคุณ
- คีย์บอร์ดภายนอกและวิธีต่อกับ Raspberry Pi
- สาย HDMI หรือ micro HDMI ขึ้นอยู่กับรุ่น Raspberry Pi
- หน้าจอภายนอก
- สาย Ethernet หรือการเชื่อมต่อ Wi-Fi
เมื่อเตรียมอุปกรณ์ครบแล้ว คุณก็พร้อมสร้าง Ad-blocker ทั่วเครือข่ายได้แล้ว
ติดตั้ง Pi-Hole บน Raspberry Pi
หากยังไม่ได้ทำ ให้ต่อคีย์บอร์ด หน้าจอ และอุปกรณ์ต่อพ่วงอื่นๆ เข้ากับ Raspberry Pi แล้วเสียบไฟ
ทันทีที่ Raspberry Pi บูทเสร็จ พร้อมดาวน์โหลดสคริปต์ติดตั้ง Pi-Hole ให้เปิด Terminal (โดยคลิกไอคอน Terminal ในแถบเครื่องมือ Raspbian) แล้วพิมพ์คำสั่งต่อไปนี้:
curl -sSL https://install.pi-hole.net | bash
กด Enter Raspbian จะดาวน์โหลดสคริปต์และเริ่มกำหนดค่าอุปกรณ์ให้ใช้ Pi-Hole
ไม่กี่วินาที หน้าจอตั้งค่า Pi-Hole จะเปิดขึ้นอัตโนมัติ
กด Enter ต่อเนื่องเพื่อผ่านหน้าจอแนะนำจนถึงขั้นถามว่า Pi-Hole ควรทำงานผ่าน Wi-Fi (wlan0) หรือ Ethernet (eth0)
ใช้ปุ่มลูกศรเลือก wlan0 หรือ eth0 (บทช่วยสอนนี้ใช้ Wi-Fi) แล้วกด Enter
เลือก DNS Provider: Google, Cloudflare, OpenDNS
คุณต้องเลือก Upstream DNS Provider ซึ่งจะตอบคำขอสำหรับโดเมนที่ไม่ใช่โฆษณา
Pi-Hole รองรับ DNS Provider ต่อไปนี้ แต่คุณสามารถใส่เองได้โดยเลือก "custom"
- Google (ECS)
- OpenDNS (ECS)
- Level3
- Comodo
- DNS.WATCH
- Quad9 (filtered, DNSSEC)
- Quad9 (unfiltered, DNSSEC)
- Quad9 (filtered + ECS)
- Cloudflare
บทช่วยสอนนี้ใช้ Google แต่คุณเลือกได้ตามชอบ
Pi-Hole ควรใช้ Blacklist ไหน?
ระบุรายการที่ Pi-Hole ควรใช้เพื่อระบุและบล็อกเนื้อหาที่ไม่พึงประสงค์
หากไม่มีเหตุผลเฉพาะที่ต้องเปลี่ยน แนะนำให้ใช้ค่าเริ่มต้น
Internet Protocols: IPv4 หรือ IPv6 (หรือทั้งคู่)?
เลือก IPv4 หรือ IPv6 ก็ได้ แต่หากต้องการบล็อกโฆษณาให้มากที่สุด ควรเลือกทั้ง IPv4 และ IPv6
กำหนดค่า Static IP Address
ใช้การตั้งค่าเครือข่ายปัจจุบันเป็น Static Address ของ Pi-Hole หากยินยอมกับข้อมูลที่แสดง ให้เลือก "Yes" แล้วกด Enter
อ่านข้อจำกัดความรับผิดชอบอย่างละเอียด หากยอมรับ ให้เลือก "OK"
ติดตาม Pi-Hole ด้วย Web Admin Interface
จะถูกถามว่าต้องการติดตั้ง Web Admin Interface ของ Pi-Hole หรือไม่ Interface นี้ให้ข้อมูลเชิงลึกเกี่ยวกับการทำงานของ Pi-Hole ในเครือข่าย แนะนำให้ติดตั้งเมื่อถูกถาม
หากติดตั้ง Web Admin Interface ควรติดตั้ง "lighttpd web server" เมื่อถูกถามด้วย
การบันทึกข้อมูล (Logging) ของ Pi-Hole
คุณสามารถปิดการบันทึกข้อมูลของ Pi-Hole ได้ แต่แนะนำให้เปิดไว้ เพราะให้ข้อมูลที่มีประโยชน์
จะถูกถามให้เลือก Privacy Mode สำหรับ FTL ซึ่งคือระดับข้อมูลที่จะรวมอยู่ในสถิติ Pi-Hole เลือกได้จาก:
- Show everything - แสดงทุกอย่าง
- Hide domains - แสดงและเก็บโดเมนทั้งหมดเป็นแบบซ่อน
- Hide domains and clients - แสดงและเก็บโดเมนแบบซ่อน และไคลเอนต์เป็น 0.0.0.0
- Anonymous mode - ซ่อนรายละเอียดทั้งหมดยกเว้นสถิติที่ไม่ระบุตัวตนมากที่สุด
- Disabled statistics - ปิดการประมวลผลสถิติทั้งหมด รวมถึงตัวนับคำขอ
เข้าสู่ระบบบัญชี Pi-Hole
กล่องโต้ตอบตั้งค่าจะแสดงที่อยู่ของ Web Admin Interface และรหัสผ่านสำหรับเข้าสู่ระบบ โปรดจดข้อมูลนี้ไว้!
หากเข้า URL ที่ให้มา คุณจะเจอ Web Interface มาตรฐานของ Pi-Hole และล็อกอินด้วยรหัสผ่านได้
Web Admin Interface แบ่งเป็นส่วนต่อไปนี้:
- Query log - แสดงคำขอล่าสุดที่ส่งไปยัง DNS Server
- Whitelist - ระบุโดเมนที่ Pi-Hole ควรไม่บล็อก
- Blacklist - หากยังมีโฆษณาผ่านมา ให้เพิ่มโดเมนที่รับผิดชอบเข้า Blacklist ด้วยตนเอง
- Disable - ปิดการทำงานของ Pi-Hole ชั่วคราวหรือถาวร เพื่อดูโฆษณากลับมาได้
- Update lists - อัปเดตรายการบล็อกโฆษณาเป็นเวอร์ชันล่าสุดด้วยตนเอง
- Query adlists - ตรวจสอบว่า URL เฉพาะอยู่ในรายการบล็อกของ Pi-Hole หรือไม่
- Tail pihole.log - ตรวจสอบไฟล์ log เพื่อดูว่า Pi-Hole ประมวลผลคำขออย่างไร
- Settings - เปลี่ยนการตั้งค่า Pi-Hole ได้หลายอย่าง รวมถึง Upstream DNS Provider
นี่เป็นเพียงภาพรวมสั้นๆ ของ Web Admin Interface ควรใช้เวลาสำรวจรายละเอียดเพิ่มเติม!
แก้ปัญหา: Could not resolve host
ระหว่างตั้งค่า Pi-Hole อาจเจอข้อผิดพลาดใน Terminal:
"Could not resolve host
FTL Engine not installed."
หากเจอข้อความนี้ ให้รันคำสั่ง Terminal ต่อไปนี้:
sudo nano /etc/resolv.conf
จะเปิดไฟล์ resolv.conf ใน Nano Editor คุณต้องเพิ่ม IP Address ของ DNS Provider ที่เลือกเข้าไปใน resolv.conf เช่น บทช่วยสอนนี้ใช้ Google ดังนั้นค้นหา Google จะได้ "8.8.8.8" ควรเพิ่มเข้าไป:
nameserver 8.8.8.8
บันทึกการเปลี่ยนแปลงด้วย Ctrl + O แล้วกด Y เมื่อถูกถาม
ปิด resolv.conf ด้วย Ctrl + X
รัน Setup Dialog ของ Pi-Hole ใหม่ด้วยคำสั่ง:
curl -sSL https://install.pi-hole.net | bash
ตอนนี้ควรทำ Setup Dialog เสร็จโดยไม่มีข้อผิดพลาดแล้ว
อัปเดต Router: สร้าง Ad-Blocker ทั่วเครือข่าย
พร้อมที่จะอัปเดตอุปกรณ์หรือ Router ให้ใช้ Pi-Hole หากต้องการบล็อกโฆษณาบนอุปกรณ์ทุกเครื่องในเครือข่าย ต้องเปลี่ยน DNS Settings ของ Router ให้ชี้ไปที่ Raspberry Pi
ขั้นตอนการเปลี่ยน DNS Settings ของ Router แตกต่างกันไปตามรุ่น แต่ภาพรวมคือ:
- เข้า Admin Page ของ Router
- ล็อกอินด้วย Username/Password หากไม่รู้ อาจเป็นค่าเริ่มต้นของผู้ผลิต หาได้จากเว็บไซต์ผู้ผลิตหรือคู่มือ
- หาแท็บ/เมนู/ส่วนที่มีคำว่า "DNS server" หรือ "DHCP server" อาจซ่อนอยู่ใน "Advanced setup"
- อัปเดต Primary DNS Server ของ Router เป็น IP Address ของ Raspberry Pi หากไม่รู้ IP ให้เปิด Terminal ของ Raspbian และรันคำสั่ง
hostname -I
สำหรับคำแนะนำเฉพาะรุ่น Router ให้ดูที่เว็บผู้ผลิตหรือคู่มือที่มาด้วย
วิธีบล็อกโฆษณาออนไลน์บนอุปกรณ์เฉพาะ
คุณยังสามารถเปลี่ยน DNS Settings สำหรับอุปกรณ์และระบบปฏิบัติการเฉพาะได้
1. Windows
เพื่ออัปเดต DNS Settings บน Windows:
- เปิด "Control Panel"
- ไปที่ "Network and Internet -> Network and Sharing Center -> Change adapter settings"
- เลือก Connection ที่ต้องการตั้งค่า
- คลิกขวา "Local Area Connection -> Properties"
- เลือกแท็บ "Networking"
- เลือก "TCP/IPv4" หรือ "TCP/IPv6"
- ไปที่ "Properties -> Advanced -> DNS" แล้วคลิก "OK"
- เลือก "Use the following DNS server addresses"
- แทนที่ Address ในส่วนนี้ด้วย IP Address ของ Raspberry Pi
Windows PC ของคุณพร้อมใช้ Pi-Hole Ad-blocker แล้ว
2. Linux
หากคุณใช้ Linux ต้อง:
- ไปที่ "System -> Preferences -> Network Connections"
- เลือก Connection ที่ต้องการ แล้วคลิก "Edit"
- เลือกแท็บ "IPv4 Settings" หรือ "IPv6 Settings"
- ในฟิลด์ "DNS servers" ใส่ IP Address ของ Raspberry Pi
- บันทึกโดยคลิก "Apply"
ทางเลือกอื่น: แก้ไขไฟล์ "/etc/resolv.conf"
3. macOS
เพื่ออัปเดต DNS Settings บน macOS:
- เลือกโลโก้ "Apple" ในแถบเครื่องมือ
- ไปที่ "System Preferences -> Network"
- เลือก Connection ที่ต้องการแก้ไข
- คลิก "Advanced ..."
- เลือกแท็บ "DNS"
- คลิกไอคอน "+" เล็กๆ และใส่ IP Address ของ Raspberry Pi
- บันทึกโดยคลิก "Apply -> OK"
Pi-Hole จะตรวจสอบคำขอทั้งหมดกับ Blacklist และบล็อกโฆษณาให้มากที่สุด
4. iPhone
หากคุณมี iPhone หรือ iPad:
- เปิดแอป "Settings"
- เลือก "Wi-Fi" และแตะที่เครือข่ายบ้านในรายการ
- เลือกฟิลด์ "DNS"
- ลบ DNS Server เดิมทั้งหมดและแทนที่ด้วย IP Address ของ Raspberry Pi
5. Android
เพื่อบล็อกโฆษณาบน Android:
- เปิดแอป "Settings"
- เลือก "Wi-Fi"
- กดค้างที่เครือข่าย Wi-Fi ที่ต้องการอัปเดต
- เลือก "Modify network -> Advanced options"
- แตะ "DHCP" แล้วเลือก "Static"
- ใน "DNS 1" ใส่ IP Address ของ Raspberry Pi
- แตะ "Save"
ขณะใช้ Raspberry Pi เป็น Ad-blocker ยังสามารถใช้เป็น Wi-Fi Access Point หรือ Personal Web Server ได้อีก ดูเพิ่มเติมได้จากบทความอื่นๆ