Category Archives for "Open Sources"

lede + wifi

Hướng dẫn tự cài đặt bộ phát WiFi chặn quảng cáo

Chào các bạn! Sau một thời gian sử dụng, Bố Kem Bơ (BKB) nhận thấy adblock là một gói phần mềm (package) chặn quảng cáo rất hay và tiện ích. Vì vậy BKB viết bài này với mong muốn là sẽ đáp ứng được nhu cầu chặn quảng cáo của nhiều người ngay trên bộ phát WiFi của mình.

Trước hết BKB phải nói vài điều về quảng cáo, khi bạn truy cập một website hoặc sử dụng một ứng dụng miễn phí nào đó, quảng cáo sẽ xuất hiện. Những quảng cáo này có thể làm sai lệch phán đoán của bạn hoặc thậm chí làm website bị chậm đi. Vậy làm thế nào để chặn quảng cáo?

Có thể bạn đã biết có vài cách chặn quảng cáo như:

  • Cài đặt addon chặn quảng cáo trên trình duyệt: adblock plus, adromover...
  • Cài đặt phần mềm adblock trên smartphone

Về cơ bản, chúng hoạt động khá hiệu quả, NHƯNG cũng có những bất tiện sau:

  • Cài đặt phức tạp, cần có trình độ IT cơ bản.
  • Chỉ chặn được quảng cáo khi sử dụng trình duyệt.
  • KHÔNG chặn được quảng cáo trên các ứng dụng (app)

Ở chiều ngược lại, nếu cài chặn quảng cáo trên bộ phát WiFi thì sẽ có nhiều ưu điểm:

  • Chặn quảng cáo cho nhiều máy cùng lúc.
  • Chặn quảng cáo trên cả ứng dụng.
  • Không cần cài đặt thêm addon hay phần mềm trên máy tính và điện thoại.

Sau đây là cách cài đặt chặn quảng cáo trên bộ phát WiFi:

1. Chuẩn bị

Để có được một bộ phát WiFi chặn quảng cáo như vậy các bạn cần phải chuẩn bị như sau:

  • Một bộ phát WiFi tương thích với LEDE hoặc OpenWRT, ví dụ như bộ phát WiFi TP-LINK TL-WR1043ND V4. Nên sử dụng bộ phát có bộ nhớ FLASH >= 8Mb, nếu có bộ phát WiFi của bạn chỉ có 4MB FLASH thì bạn cần compile từ đầu để cài được adblock full tính năng.
  • Một máy tính Laptop có kết nối WiFi.
  • Kết nối bộ phát WiFi với modem của bạn để có Internet.

2. Cài đặt LEDE

Truy cập trang download của LEDE tại http://downloads.lede-project.org/releases/17.01.4/targets/ar71xx/generic/

Tại trang này sẽ có rất nhiều file, hãy chọn file có phần đuôi là *-factory.bin để sử dụng. File này có thể nạp cho thiết bị trực tiếp từ trang web quản trị của bộ phát WiFi.

Với bộ phát TL-WR1043ND V4, file đó sẽ có link tại http://downloads.lede-project.org/releases/17.01.4/targets/ar71xx/generic/lede-17.01.4-ar71xx-generic-tl-wr1043nd-v4-squashfs-factory.bin

Sau khi có file thì bạn đăng nhập vào trang quản trị và đi tới phần upgrade firmware để tiến hành nâng cấp như bình thường.

Lưu ý là trong lúc nâng cấp thì không nên tắt trình duyệt hoặc chuyển qua trang khác, và TUYỆT ĐỐI phải đảm bảo thiết bị không bị mất điện giữa chừng, nếu bị mất điện thì thiết bị của bạn sẽ bị hỏng (thuật ngữ là bị brick). Hãy theo dõi đèn của thiết bị, nếu nạp thành công thiết bị sẽ tự reboot, đèn sẽ tắt và sáng trở lại. Sau khi đèn sáng trở lại bạn có thể tắt trình duyệt hoặc làm việc khác.

Nếu chẳng may bị brick thì chì còn cách đi mang bảo hành. Bạn không nên nói là do cài phần mềm nên bị hỏng nhé, nhiều nơi sẽ không bảo hành cho bạn đâu.

Nếu hết hạn bảo hành thì quá phức tạp rồi, bạn sẽ cần phải sử dụng kỹ thuật rất phức tạp để hồi phục thiết bị, chuyện đó Bố Kem Bơ sẽ nói rõ trong một bài viết khác.

3. Cài đặt adblock

3.1. Đăng nhập.

Sau khi nạp LEDE, bạn sẽ nhìn thấy 1 mạng WiFi mới có tên là LEDE (không có password). Hãy kết nối vào mạng đó và truy cập trang cài đặt của bộ phát WiFi tại địa chỉ http://192.168.1.1 với username mặc định là root và không cần password.

3.2. Update List OPKG.

Chuyển tới menu System => Software và bấm nút Update Lists (Lưu ý, lúc này bộ phát WiFi của bạn phải có Internet rồi).

opkg update list

3.3. Cài đặt phần mềm

Ở bước này, bạn cần cài đặt 3 gói có tên là: curl, adblockluci-app-adblock

Chỉ cần gõ tên phần mềm vào ô Filter và bấm Find package, sau đó bấm vào tab Available packages bạn sẽ tìm thấy gói tương ứng. Khi đã tìm thấy thì bấm nút Install ở bên cạnh để cài đặt.

Lede install package

3.4. Thiết lập cài đặt cho adblock

Sau khi cài đặt xong, trong trang quản trị sẽ có thêm 1 menu mới, hãy bấm Service => Adblock rồi tới tab Advanced => Edit Configuration

Đây là nơi có thể chỉnh sửa trực tiếp file cấu hình của adblock, bạn hãy copy toàn bộ nội dung từ file mà Bố Kem Bơ đã chuẩn bị sẵn tại đây để thay thế cho nội dung mặc định. Cứ tự tin xoa hết nội dung cũ và paste lại nội dung mới 🙁

Nội dung file mới sẽ thêm một số cấu hình dành cho Việt Nam và sử dụng curl để tải file từ https.

Sau khi paste hãy bấm Submit và quay lại tab Overview, kéo xuống cuối trang và bấm nút Save & Apply để áp dụng và khởi động adblock.

Kiên nhẫn chờ vài phút để adblock tải hết các file domain ở trên mạng về, thỉnh thoảng có thể refresh trang overview để xem kết quả. Nếu tại tab Overview bạn nhìn thấy kết quả như sau thì là phần mềm adblock đã được kích hoạt:

adblock status

4. Cài đặt Norton ConnectSafe để hạn chế web xấu.

ConnectSafe là một dịch vụ DNS miễn phí của Norton Symantec, bạn có thể cài đặt cho bất kỳ router nào để sử dụng.

Norton ConnectSafe

Tuy nhiên khi sử dụng LEDE/OpenWRT thì ta có một lợi thế rất lớn, đó là ép tất cả mọi người dùng phải sử dụng ConnectSafe.

Với router thường, người dùng có thể lách ConnectSafe bằng cách chỉ định DNS khi cài đặt mạng cho máy tính.

Để cài đặt DNS cho bộ phát WiFi đã nạp LEDE bạn thực hiện theo các bước:

  1. Vào menu Network => Interface, sau đó chọn Edit cổng WAN.
  2. Vào tab Advanced Settings
  3. Tick bỏ chọn “Use DNS servers advertised by peer”
  4. Điền 2 giá trị DNS lấy được từ trang hướng dẫn của Norton.
  5. Bấm Apply & Save là hoàn thành.
Cài đặt DNS lên bộ phát wifi

ConnectSafe khá là hiệu quả trong việc chặn các trang web đen, tuy nhiên không thể đạt mức 100% vì thế giới Internet là vô kể, trong một ngày có rất nhiều nội dung được tạo ra và xóa đi mà không thể kiểm soát hoàn toàn.

Bố Kem Bơ chỉ sử dụng policy ở mức B (Security + Pornography) là thấy hiệu quả nhất, nếu tăng lên mức C thì một số trang xem phim online sẽ không xem được vì ConnectSafe chặn.

5. Lập lịch truy cập Internet bằng Firewall Iptable

Iptable là một firewall rất nổi tiếng trong Linux, hoạt động bền bỉ và chính xác, nó sẽ là trợ thủ đắc lực để lập lịch truy cập cho con cái.

Hãy bắt đầu bằng cách truy cập menu Network => Firewall => Traffic Rules

1. Đặt giờ cho phép truy cập Internet

Từ menu này tạo một rules có tên HappyTime ở mục New forward rule, đây sẽ là nơi đặt quy định giờ chơi cho trẻ:

iptable happy time

Sau khi bấm Add and Edit, ta sẽ có cửa sổ để cài đặt. Trong cửa sổ này sẽ có rất nhiều tham số, nhưng hãy để phần lớn chúng ở giá trị mặc định, ta chỉ quan tâm tới những giá trị sau:

- Action = accept (cho phép truy cập Internet)

- Week Days, Month Days: Chọn ngày muốn đặt giờ truy cập 

- Start Time: Bắt đầu giờ chơi.

- Stop Time: Kết thúc giờ chơi, bắt đầu chặn truy cập.

Lede time schedule


=> Bấm Save & Apply để áp dụng.

2. Cài đặt giờ học (StudyTime) để chặn truy cập

Tạo một rule mới có tên StudyTime ở mục New forward rule. => Bấm nút Add and Edit

Ở cửa sổ mới ta chỉ cần chuyển mục action thành reject và bấm nút Save & Apply. Vì là giờ học nên ta chỉ cần chuyển về reject để chặn tất cả các kết nối là được.

study time

Lưu ý rằng, theo luật của firewall iptable, rule nào đứng trước sẽ có hiệu lực trước. Do vậy rule có tên StudyTime phải đứng cuối cùng, nếu không nó sẽ chặn toàn bộ kết nối do nó đứng trước các rule khác.

firewall rule

6. Một số lưu ý khi sử dụng adblock

Các tham số cài đặt cho adblock được giải thích khá rõ tại trang của adblock trên GitHub. BKB chỉ giới thiệu một số mục quan trọng:

  • Restrict interface trigger to certain interface(s): Xác định cổng mạng đê áp dụng adblock, mặc định là cổng wan và sẽ áp dụng cho toàn bộ router.
  • Force local DNS: Bắt buộc người dùng phải sử dụng local DNS, nếu bỏ chọn mục này người dùng có thể tự đặt DNS trên máy tính để vượt qua adblock và ConnectSafe. Cho nên mục này rất quan trọng.
  • Blocklist sources: Các nguồn dữ liệu về domain của các các nhà quảng cáo. BKB thường chỉ dùng các nguồn từ: adaway, adguard, disconnect, dshield và 3 nguồn cho Việt Nam ở cuối. Riêng mục blacklist chính là để kích hoạt khả năng chặn blacklist của riêng bạn (trong tab Advanced).

Ngoài ra trong quá trình sử dụng adblock, Bố Kem Bơ nhận thấy là khi khởi động thì adblock không tự chạy mà phải vào trang quản trị bấm Save & Apply thì nó mới hoạt động. Để khắc phục vấn đề này thì Bố Kem Bơ đưa ra một mẹo nhỏ bằng cách tận dụng cronjob của Linux như sau:

B​1. Chuyển tới menu System => Schedule Tasks

B2. Điền vào nội dung sau (bạn có thể copy & paste):

*/3 * * * * [ ! -f /tmp/adb_runtime.json ] && /etc/init.d/adblock start

Đây là dòng lệnh được chạy 3 phút một lần để kiểm tra xem adblock có chạy hay không, nếu không chạy thì hệ thống sẽ khởi động adblock.

B3. Bấm Submit để áp dụng.

B4. Chuyển về menu System => Startup, tìm hàng có cột Initscript = CRON

B5. Bấm nút Disabled để chuyển thành Enabled.

enable cronjob

B6. Bấm nút Start để chạy dịch vụ CRONJOB. Sau khi bấm nút này thì đoạn mã mà ta đã chèn ở trên mới chạy 3 phút một lần.

enable cronjob success

B7. Kết thúc.

Lời cuối về bộ phát WiFi chặn quảng cáo.

Như vậy, bạn có thể nâng cấp bộ phát WiFi của mình nhờ firmware nguồn mở, với firmware mới bạn có thể cài đặt thêm nhiều gói phần mềm hữu ích tùy nhu cầu sử dụng. Ngoài ví dụ về package adblock kể trên, Bố Kem Bơ còn thường xuyên dùng khả năng kết nối với USB3G qua cổng USB. Chỉ cần bộ phát WiFi có cổng USB là bạn có thể nghĩ tới phương án dùng USB3G thay cho đường truyền Internet.

Ngoài ra nếu bạn rành về kỹ thuật bạn còn có thể cài đặt các gói để làm tổng đài IP, biến bộ phát WiFi thông thường thành Repeater, làm Hotspot…

Đối với người không rành về kỹ thuật, Bố Kem Bơ có cung cấp một số bộ phát WiFi đã được cài đặt sẵn tại đây, bạn có thể dễ dàng đặt mua và BKB sẽ nhanh chóng chuyển hàng cho bạn.

Nếu bạn gặp bất kỳ vấn đề gì về kỹ thuật thì đều có thể liên hệ với Bố Kem Bơ qua facebook group tại đây để được trợ giúp. Hoặc bạn cũng có thể comment dưới đây và Bố Kem Bơ sẽ cố gắng trả lời trong thời gian sớm nhất.

Cuối cùng, Bố Kem Bơ cám ơn bạn đã kiên nhẫn đọc bài viết tới tận bây giờ, bạn là người rất kiên nhẫn. Nếu có thể hãy chia sẻ bài viết này để nhiều người biết rằng bộ phát WiFi thật ra có rất nhiều sức mạnh bên trong.

Hẹn gặp lại bạn trong những bài viết sắp tới.