Bạn mệt mỏi vì bị làm phiền bởi quảng cáo mỗi khi duyệt web hoặc sử dụng ứng dụng di động? Vậy thì, có một giải pháp tuyệt vời gọi là Pi-hole, về cơ bản nó hoạt động như một trình lọc quảng cáo. bộ lọc DNS thông minhĐiều tuyệt vời nhất là bạn không cần phải cài đặt bất cứ thứ gì trên từng thiết bị trong nhà; hệ thống hoạt động từ lõi mạng của bạn, chặn và ngăn chặn nội dung không mong muốn trước khi nó đến màn hình của bạn.
Để thiết lập hệ thống này, lựa chọn thông minh nhất hiện nay là sử dụng Docker. Bằng cách đặt Pi-hole vào trong một container, bạn tránh được việc làm rối hệ điều hành máy tính, giúp việc cập nhật trở nên cực kỳ dễ dàng và bạn có thể... Tận dụng tối đa phần cứngCho dù đó là Raspberry Pi, một máy chủ cũ, hay thậm chí là một máy ảo trên Ubuntu hoặc Debian, các dịch vụ đều hoạt động mà không gây xung đột với nhau.
Điều kiện tiên quyết và chuẩn bị địa điểm
Trước khi đi sâu vào vấn đề, điều đáng biết là Pi-hole cực kỳ nhẹ. Để chạy nó một cách trơn tru, bạn chỉ cần một vài lệnh đơn giản. 512 MB RAM và dung lượng lưu trữ từ 2 đến 4 GB. Trên ổ đĩa. Về hệ điều hành, nó hoạt động rất tốt với các bản phân phối sử dụng systemd hoặc sysvinit, chẳng hạn như Debian, Ubuntu, Fedora hoặc Raspberry Pi OS.
Điểm mấu chốt là mạng. Để hệ thống hoạt động ổn định, Pi-hole cần một mạng lưới. địa chỉ IP tĩnhNếu bạn không muốn làm phức tạp mọi thứ bằng cách cấu hình máy chủ thủ công, bạn có thể dành riêng một địa chỉ IP trên bộ định tuyến của mình để nó luôn gán cùng một địa chỉ cho máy tính chứa container.
Triển khai Pi-hole bằng Docker
Cách dễ nhất để bắt đầu là thông qua một tập tin. docker-compose.ymlPhương pháp này cho phép bạn định nghĩa toàn bộ cấu hình cùng một lúc. Điều cần thiết là phải ánh xạ các volume (chẳng hạn như /etc/pihole và /etc-dnsmasq.d) vào các thư mục cục bộ trên máy chủ của bạn để nếu bạn cập nhật ảnh container, Đừng để mất hết cài đặt của bạn. cũng không phải danh sách đen của bạn.
Trong file cấu hình, bạn cần chú ý đến các cổng. Cổng 53 là trung tâm của DNS và phải được để trống. Nếu bạn thấy container không khởi động được, rất có thể là do systemd-resolved hoặc dnsmasq đang chiếm dụng cổng đó trên máy chủ. Trong những trường hợp đó, bạn cần vô hiệu hóa dịch vụ gây xung đột hoặc cấu hình cầu nối để chuyển hướng lưu lượng truy cập.
Nếu bạn quyết định sử dụng Pi-hole như một máy chủ DHCP, hãy nhớ rằng bạn phải thêm khả năng này. QUẢN TRỊ MẠNG Trong phần cap_add của compose, tốt nhất nên sử dụng chế độ mạng máy chủ (network_mode: host) để tránh các sự cố kết nối.
Thiết lập ban đầu và quản lý quyền truy cập
Sau khi bạn thực thi lệnh docker-compose up -dHệ thống sẽ hoạt động. Để truy cập bảng điều khiển, hãy kết nối với địa chỉ IP của máy chủ thông qua cổng bạn đã chỉ định (mặc định là 80, nhưng bạn có thể thay đổi thành 8080 hoặc 89 để tránh xung đột với các máy chủ web khác). Nếu bạn chưa thiết lập mật khẩu trong biến môi trường... Mật khẩu webHệ thống sẽ tạo ra một mã ngẫu nhiên mà bạn có thể tìm thấy bằng cách kiểm tra nhật ký với lệnh. docker logs pihole | grep random.
Để tăng cường bảo mật, tốt nhất là nên thay đổi mật khẩu đó càng sớm càng tốt. Bạn có thể truy cập vào thiết bị đầu cuối container bằng cách sử dụng docker exec -it pihole /bin/bash và chạy lệnh pihole -a -p Đặt mật khẩu sao cho bạn dễ nhớ nhưng người khác khó nhớ.
Lọc dữ liệu đầu vào và tối ưu hóa DNS
Để Pi-hole biết cần truy vấn máy chủ DNS nào khi không nhận dạng được địa chỉ, bạn cần cấu hình máy chủ DNS thượng nguồn. Một lựa chọn rất hiệu quả là... Quad9Bằng cách chọn các máy chủ đã lọc (chẳng hạn như 9.9.9.9) trong tab cài đặt DNS, bạn có thể thêm một lớp bảo mật và quyền riêng tư bổ sung cho hoạt động duyệt web của mình.
Cốt lõi của Pi-hole chính là danh sách chặn (blocklist). Nếu bạn muốn bắt đầu với một cấu hình vững chắc, bạn có thể thêm danh sách này. StevenBlackMỗi khi bạn chỉnh sửa danh sách, cho dù bằng cách xóa các mục bằng SQLite3 hay thêm URL mới, điều cần thiết là phải vào Công cụ và chạy công cụ đó. Cập nhật trọng lực để cơ sở dữ liệu được làm mới và các thay đổi có hiệu lực.
Mẹo nâng cao: Tên miền cục bộ và quản lý
Nếu bạn có nhiều dịch vụ tại nhà, bạn có thể tạo tên miền cục bộ Để tránh phải nhớ địa chỉ IP. Để làm điều này, hãy tạo một tệp có tên là local.list Trên phân vùng Pi-hole đã được gắn kết, hãy xác định định dạng IP và tên miền. Sau đó, tạo một tệp cấu hình cho dnsmasq tham chiếu đến danh sách đó và khởi động lại container.
Để quản lý hệ thống mà không cần truy cập vào trang web, có rất nhiều lệnh hữu ích mà bạn có thể chạy từ máy chủ. Ví dụ, để thêm một tên miền vào danh sách đen, hãy sử dụng lệnh sau: pihole -b mydomain.com Hoặc để tạm thời vô hiệu hóa tính năng lọc trong 10 phút, bạn có thể sử dụng... Pihole vô hiệu hóa 10mĐiều này rất hữu ích khi một trang web hợp pháp bị chặn nhầm.
Việc kiểm soát quảng cáo tại nhà hoàn toàn khả thi bằng cách kết hợp phần cứng khiêm tốn với tính linh hoạt của Docker, đảm bảo cổng 53 được thông suốt và cấu hình đúng cách các volume để lưu trữ dữ liệu. Sau khi bạn đã điều chỉnh DNS trên bộ định tuyến và tối ưu hóa danh sách Gravity, bạn sẽ tận hưởng một mạng lưới sạch hơn và nhanh hơn nhiều trên tất cả các thiết bị của mình.
