Như các bạn đã biết sản phẩm Orange Pi RV2 là một sản phẩm sử dụng chip RISC-V mới nhất của Orange Pi, bo mạch này nổi bật với hiệu năng mạnh mẽ trong một thiết bị tiết kiệm chi phí và điện năng. Bo mạch này sử dụng SoC KY-X1 tám nhân, hỗ trợ mở rộng RVA22 và vector, NPU lên tới 2TOPS và có các phiên bản 4GB RAM và 8GB RAM tùy theo lựa chọn. Tuy nhiên 2 cổng LAN Gigabit, các bạn vẫn có thể sử dụng bo mạch Orange Pi RV2 thành máy chủ Adguard Home / PiHole lọc quảng cáo tại nhà mà không cần cài OpenWRT mất đi khả năng xử lý AI hoặc đồ họa của bo mạch.
Nếu như cài OpenWRT, một hệ điều hành chuyên dụng cho điều hướng mạng thì việc cấu hình các cổng LAN thành cổng mạng internet và cổng mạng local, rồi cài Adguard Home lọc quảng cáo trở nên rất đơn giản. Tuy nhiên, lúc đó bạn sẽ chỉ sử dụng Orange Pi RV2 trên OpenWRT và không thể sử dụng các tính năng NPU khác của bo mạch. Vì thế bài viết này của tôi sẽ hướng dẫn các bạn cài điều hướng mạng (routing và forwarding internet) ngay trên hệ điều hành Ubuntu 24.04 của hãng (Noble Numbat).
Để cài dặt hệ đièu hành Ubuntu 24.04 trên Orange Pi RV2, các bạn xem tại bài viết trước
Bạn có thể cài hệ đièu hành Ubuntu 24.04 trên thẻ nhớ, eMMC, hay trên ổ M2 SSD cũng được. Sau đây là cách cài đặt, chú ý là bạn sẽ phải cắm màn hình và bàn phím thao tác ở trên Orange Pi RV2 do có thể có 1 số công đoạn ngắt mạng kết nối, do đó nếu SSH qua cổng mạng có thể bị cắt đứt và không thao tác tiếp được.
Hướng Dẫn Cài Đặt Router với Orange Pi RV2 và Pi-hole hoặc AdGuard Home
1. Tổng Quan
Tài liệu này hướng dẫn bạn cách cấu hình Orange Pi SBC làm router trên Ubuntu 24.04 ARM64, với khả năng lọc quảng cáo trên internet bằng Pi-hole hoặc AdGuard Home. Cấu hình bao gồm việc thiết lập hai cổng Ethernet cho kết nối WAN và LAN, và tùy chọn sử dụng giao diện WiFi để kết nối internet.
2. Yêu Cầu Phần Mềm
- Hệ Điều Hành: Ubuntu 24.04 ARM64
- Phần Mềm Chính:
- Pi-hole hoặc AdGuard Home để lọc quảng cáo
- dnsmasq cho DHCP
- iptables để định tuyến và NAT
3. Các Bước Cài Đặt
3.1 Cấu Hình Mạng
1. Chỉnh Sửa Tệp /etc/network/interfaces
để Thiết Lập WAN (eth0) và LAN (eth1)
Để cấu hình các giao diện mạng, bạn cần chỉnh sửa tệp /etc/network/interfaces
. Tệp này điều khiển các cài đặt mạng cho hệ thống của bạn.
Các Bước:
- Mở tệp cấu hình:
sudo nano /etc/network/interfaces
- Thêm cấu hình sau:
# Giao diện cho WAN (Internet)
auto eth0
iface eth0 inet dhcp
# Giao diện cho LAN (Mạng nội bộ)
auto eth1
iface eth1 inet static
address 192.168.68.1
netmask 255.255.255.0
- eth0 được cấu hình để nhận địa chỉ IP tự động qua DHCP từ modem hoặc router upstream.
- eth1 được cấu hình với địa chỉ IP tĩnh (192.168.68.1) và subnet mask (255.255.255.0), sẽ phục vụ như gateway cho các thiết bị trong mạng nội bộ.
- Chú ý là tên của giao diện mạng có thể sẽ khác nhau, ví dụ có thể là end0, end1 hoặc lan0 và lan1. Bạn đánh lệnh ip a để kiểm tra xem 2 giao diện mạng của bạn tên gì.
- Lưu và thoát khỏi trình chỉnh sửa (trong nano, nhấn
Ctrl + X
, sau đóY
, vàEnter
).
2. Bật IP Forwarding và Cấu Hình NAT với iptables
IP forwarding cho phép Orange Pi định tuyến gói tin giữa các giao diện mạng khác nhau. NAT (Network Address Translation) cho phép nhiều thiết bị trên LAN chia sẻ một địa chỉ IP công cộng.
Các Bước:
- Bật IP forwarding tạm thời:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
- Làm cho thay đổi này vĩnh viễn bằng cách chỉnh sửa tệp cấu hình sysctl:
sudo nano /etc/sysctl.conf
- Tìm dòng
#net.ipv4.ip_forward=1
và bỏ dấu#
để kích hoạt:
net.ipv4.ip_forward=1
- Tìm dòng
- Áp dụng thay đổi:
sudo sysctl -p
- Cấu Hình NAT với iptables:
- Thiết lập quy tắc NAT để cho phép lưu lượng từ LAN (eth1) được chuyển tiếp ra WAN (eth0):
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- Cho phép chuyển tiếp giữa các giao diện:
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
- Lưu các quy tắc iptables để đảm bảo chúng tồn tại sau khi khởi động lại:
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
3. Cấu Hình dnsmasq cho DHCP trên Giao Diện LAN
dnsmasq
là một máy chủ DHCP và DNS nhẹ, có thể được sử dụng để cấp địa chỉ IP cho các thiết bị trong mạng nội bộ.
Các Bước:
- Cài đặt dnsmasq (nếu chưa được cài):
sudo apt-get install dnsmasq
- Chỉnh sửa tệp cấu hình dnsmasq:
sudo nano /etc/dnsmasq.conf
- Thêm cấu hình sau:
# Lắng nghe trên giao diện LAN
interface=eth1
# Dải DHCP và thời gian cho thuê
dhcp-range=192.168.68.10,192.168.68.100,255.255.255.0,24h
# Máy chủ DNS (AdGuard Home hoặc Pi-hole)
dhcp-option=6,192.168.68.1
- interface=eth1: Chỉ định rằng dnsmasq sẽ lắng nghe các yêu cầu DHCP trên giao diện LAN.
- dhcp-range: Xác định dải địa chỉ IP mà dnsmasq có thể cấp phát cho các thiết bị trên LAN.
- dhcp-option: Chỉ định máy chủ DNS mà các khách hàng nên sử dụng (trong trường hợp này là IP của Orange Pi).
- Lưu và thoát khỏi trình chỉnh sửa. (trong nano, nhấn
Ctrl + X
, sau đóY
, vàEnter
) - Khởi động lại dnsmasq để áp dụng các thay đổi:
sudo systemctl restart dnsmasq
3.2 Chuyển quản lý mạng
Để chuyển từ việc sử dụng Network Manager hoặc systemd-networkd sang sử dụng tệp /etc/network/interfaces
để quản lý mạng trên Orange Pi RV2, bạn cần thực hiện các bước sau:
1. Tắt Network Manager
Nếu bạn đang sử dụng Network Manager, trước tiên bạn cần tắt và vô hiệu hóa dịch vụ này để tránh xung đột với cấu hình mạng mà bạn sẽ thiết lập trong /etc/network/interfaces
.
Bước thực hiện:
- Dừng dịch vụ Network Manager:
sudo systemctl stop NetworkManager
- Vô hiệu hóa dịch vụ Network Manager để không khởi động lại khi khởi động hệ thống:
sudo systemctl disable NetworkManager
2. Tắt systemd-networkd (nếu đang sử dụng)
Nếu bạn đang sử dụng systemd-networkd, bạn cũng cần tắt và vô hiệu hóa dịch vụ này.
Bước thực hiện:
- Dừng dịch vụ systemd-networkd:
sudo systemctl stop systemd-networkd
- Vô hiệu hóa dịch vụ systemd-networkd:
sudo systemctl disable systemd-networkd
3. Khởi Động Lại Dịch Vụ Mạng (quá trình này sẽ tắt kết nối mạng)
Bạn cần khởi động lại dịch vụ mạng để áp dụng các thay đổi đã sửa trên tệp /etc/network/interfaces
sudo systemctl restart networking
4. Kiểm Tra Trạng Thái Mạng
Sau khi khởi động lại dịch vụ mạng, bạn có thể kiểm tra trạng thái của các giao diện mạng bằng lệnh:
ip addr show
3.3 Cài đặt AdGuard Home hoặc Pi Hole
Để cài đặt 1 trong 2 phần mềm này, bạn chỉ cần chạy 1 trong 2 lệnh sau
curl -sSL https://install.pi-hole.net | sudo bash
hoặc
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sudo bash
Lưu ý: Không cài cả 2 phần mềm này trên cùng 1 máy chủ Orange Pi RV2
3.4 Cấu hình Adguard Home
Cấu hình Pi Hole tương đối dễ nên tôi sẽ hướng dẫn cấu hình Adguard Home. Giờ bạn cần cắm cổng mạng internet vào cổng eth0 cắm mạng LAN của bạn vào eth1. Sử dụng máy tính kết nối vào mạng LAN đó, truy cập vào địa chỉ http://192.168.68.1:3000
Bạn sẽ thấy giao diện này
Bắt đầu cấu hình. bạn sẽ thấy cổng lắng nghe là cổng sẽ quản trị giao diện Adguard Home, còn cổng máy chủ DNS thì phải chọn cổng 192.168.68.1. Nếu bạn thấy báo lỗi port 53 đã được sử dụng như hình dưới hãy làm theo hướng dãn bên dưới.
Lỗi bạn gặp phải khi cài Adguard Home cho biết rằng cổng 53 đã được một dịch vụ khác sử dụng. Điều này thường xảy ra khi có một máy chủ DNS khác đang chạy trên hệ thống, ví dụ như systemd-resolved
hoặc một phiên bản khác của dnsmasq
. Dưới đây là các bước để khắc phục vấn đề này:
1. Kiểm Tra Dịch Vụ Đang Sử Dụng Cổng 53
Trước tiên, bạn cần xác định dịch vụ nào đang sử dụng cổng 53. Bạn có thể sử dụng lệnh sau:
sudo netstat -tuln | grep :53
Kết quả sẽ cho bạn biết dịch vụ nào đang lắng nghe trên cổng 53.
2. Dừng Dịch Vụ Đang Sử Dụng Cổng 53
Sau khi xác định được dịch vụ đang sử dụng cổng 53, bạn có thể dừng dịch vụ đó. Dưới đây là một số dịch vụ phổ biến và cách dừng chúng:
a. Nếu systemd-resolved
đang chạy:
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
b. Nếu một phiên bản khác của dnsmasq
đang chạy:
sudo systemctl stop dnsmasq
3. Kiểm Tra Lại Cấu Hình dnsmasq
Sau khi dừng dịch vụ đang sử dụng cổng 53, bạn có thể kiểm tra lại cấu hình dnsmasq
để đảm bảo không có lỗi cú pháp:
sudo dnsmasq --test
4. Khởi Động Lại dnsmasq
Bây giờ, bạn có thể thử khởi động lại dịch vụ dnsmasq
:
sudo systemctl start dnsmasq
5. Kiểm Tra Trạng Thái dnsmasq
Cuối cùng, kiểm tra trạng thái của dịch vụ dnsmasq
để đảm bảo nó đang chạy mà không gặp lỗi:
sudo systemctl status dnsmasq
Sau bước này thì Adguard Home đã chạy bình thường, mọi kết nối vào cổng LAN trên Orange Pi RV2 sẽ được dnsmasq cấp IP và được phân giải tên miền (DNS) qua Adguard Home. Giờ bạn chỉ cần cài lọc quảng cáo trên Adguard Home là xong
3.5 Cài lọc quảng cáo Adguard Home
Bước này khá đơn giản vì có giao diện trực quan trên màn hình quản trị của Adguard Home Bạn chọn phân bộ lọc và tick vào các bộ lọc áp dụng, bấm thêm Kiểm tra cập nhật để cập nhật các bộ lọc đang có
Bạn cũng có thể bấm Thêm danh sách để cập nhật thêm danh sách lọc khác, ví dụ của ABPVN như ảnh dưới
4. Kết luận
Bạn có thể nối cổng LAN với 1 switch để chia sẻ mạng cho các máy tính trong nhà, hoặc kết nối với 1 Access Point mạnh để chia sẻ qua Wifi. Lưu ý, nếu kết nối Access Point bạn nên đặt chế độ bridge chỉ phát Wifi và bỏ các chế độ cấp IP hoặc DNS trên Access Point. Hãy để Orange Pi RV2 cấp IP cho các máy trạm trong mạng LAN và Adguard Home lọc DNS hiệu quả.
Việc sử dụng Adguard Home còn nhiều tính năng khác như chặn các trang web không cần thiết, chặn các trang game, … điều này sẽ rất hữu ích khi trong nhà bạn có trẻ nhỏ mà bạn vẫn muốn chúng sử dụng Internet an toàn.