Giới thiệu

Sau 2 năm giãn cách không được đi đâu xa, hôm nay cũng nhân dịp Noel nên mình sắp xếp cùng gia đình chuyến du lịch cuối năm cũng như chào năm mới luôn. Địa điểm du lịch cách nhà hẳn 50km 🙁 Nhưng dù sao thì đây cũng là giải pháp “chống cháy” khá hiệu quả cho thằng muốn đi như mình…

Vấn đề đặt ra ở đây là khi đi du lịch, chúng ta không thể lúc nào cũng sử dụng 4G di động được. Sẽ có lúc phải sử dụng Wifi công cộng của khách sạn, nhà hàng, khu vui chơi… Và tất cả những wifi đó đều là wifi công cộng, bạn sẽ gặp khá nhiều nguy cơ rủi ro như lộ thông tin cá nhân, thông tin tài khoản, bị lừa đảo bởi các website giả mạo mà nổi bật là Web Phishing thông qua hệ thống DNS… nói chung ra rất nhiều rủi ro mà bạn có thể sẽ gặp phải khi sử dụng wifi công cộng.

Mình lại là người rất lo sợ về vấn đề đó, và gia đình mình cũng vậy. Chính vì thế mà nhân tiện đây mình cũng sẽ hướng dẫn cách để các bạn cũng có thể làm và bảo vệ gia đình mình khi đi du lịch luôn.

Vậy thì giải pháp ở đây sẽ là gì?

Mình sẽ sử dụng VPN, vâng, chắc chắn là VPN sẽ hỗ trợ mình giải quyết vấn đề này rồi. Nhưng vấn đề khác xảy ra đó là tài khoản VPN chỉ đăng nhập trên một số lượng thiết bị nhất định, vấn đề thứ 2 sẽ là không phải người lớn nào cũng để ý việc kích hoạt VPN trước khi sử dụng, vì thế mà mình sẽ cài đặt luôn cho riêng mình thiết bị router VPN từ Raspberry Pi vì nó nhỏ gọn. Theo dõi bài viết của mình để cài đặt sử dụng thiết bị này luôn nhé.

Cách cài đặt

Bước 1: Chuẩn bị thiết bị

Các thiết bị sẽ sử dụng trong bài viết này sẽ là:

  • Raspberry Pi 1,2,3,4 (Mình sẽ sử dụng Pi 3 B vì mình đang có sẵn)
  • Usb thu wifi (Mình sẽ sử dụng sản phẩm LB-LINK BL-WN151 vì nó rẻ :’) )
  • Cáp LAN bấm 2 đầu
  • Máy tính, thẻ nhớ tối thiểu 8GB, đầu đọc thẻ nhớ
  • Pin dự phòng/Sạc điện thoại và cáp cấp nguồn cho Raspberry Pi

Bước 2: Cài đặt OpenWRT trên Raspberry Pi

OpenWRT là sự lựa chọn chính xác nhất vì nó miễn phí, nhiều ứng dụng, được hỗ trợ bởi cộng đồng nhiều và khả năng cấu hình, tùy chỉnh cao trong hệ thống

Tùy vào Raspberry Pi mà bạn có, tải về đúng phiên bản hệ điều hành OpenWRT của máy tính riêng bạn ở bảng dưới nhé

Tên thiết bịPhiên bảnPhiên bản hiện tạiFirmware OpenWrt cài đặtFirmware OpenWrt dành cho nâng cấp
Raspberry PiA21.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-sysupgrade.img.gz
Raspberry PiB21.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-sysupgrade.img.gz
Raspberry PiB+21.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-sysupgrade.img.gz
Raspberry PiZero21.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-sysupgrade.img.gz
Raspberry PiZero W21.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2708/openwrt-21.02.1-bcm27xx-bcm2708-rpi-ext4-sysupgrade.img.gz
Raspberry Pi 2B 1.0/1.121.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2709/openwrt-21.02.1-bcm27xx-bcm2709-rpi-2-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2709/openwrt-21.02.1-bcm27xx-bcm2709-rpi-2-ext4-sysupgrade.img.gz
Raspberry Pi 2B 1.221.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2709/openwrt-21.02.1-bcm27xx-bcm2709-rpi-2-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2709/openwrt-21.02.1-bcm27xx-bcm2709-rpi-2-ext4-sysupgrade.img.gz
Raspberry Pi 3B21.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2710/openwrt-21.02.1-bcm27xx-bcm2710-rpi-3-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2710/openwrt-21.02.1-bcm27xx-bcm2710-rpi-3-ext4-sysupgrade.img.gz
Raspberry Pi 3B+21.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2710/openwrt-21.02.1-bcm27xx-bcm2710-rpi-3-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2710/openwrt-21.02.1-bcm27xx-bcm2710-rpi-3-ext4-sysupgrade.img.gz
Raspberry Pi 3Compute Module 321.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2710/openwrt-21.02.1-bcm27xx-bcm2710-rpi-3-ext4-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2710/openwrt-21.02.1-bcm27xx-bcm2710-rpi-3-ext4-sysupgrade.img.gz
Raspberry Pi 4B21.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2711/openwrt-21.02.1-bcm27xx-bcm2711-rpi-4-squashfs-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2711/openwrt-21.02.1-bcm27xx-bcm2711-rpi-4-squashfs-sysupgrade.img.gz
Raspberry Pi 440021.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2711/openwrt-21.02.1-bcm27xx-bcm2711-rpi-4-squashfs-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2711/openwrt-21.02.1-bcm27xx-bcm2711-rpi-4-squashfs-sysupgrade.img.gz
Raspberry Pi 4Compute Module 421.02.1https://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2711/openwrt-21.02.1-bcm27xx-bcm2711-rpi-4-squashfs-factory.img.gzhttps://downloads.openwrt.org/releases/21.02.1/targets/bcm27xx/bcm2711/openwrt-21.02.1-bcm27xx-bcm2711-rpi-4-squashfs-sysupgrade.img.gz
OpenWRT cho các phiên bản Raspberry Pi

Sau khi đã tải về thành công, chúng ta cần chép dữ liệu vào thẻ nhớ theo hướng dẫn ở bài Cài đặt mới hệ điều hành Raspberry Pi OS

Tiến hành gắn thẻ nhớ vào Raspberry, cấp nguồn và đồng thời cắm dây LAN kết nối giữa cổng Ethernet Raspberry Pi và máy tính của bạn

Bước 3: Cấu hình OpenWRT trên Raspberry Pi

Sau khi đã kết nối cáp LAN và cấp nguồn cho Raspberry, nếu máy tính không nhận IP từ Raspberry Pi thì chúng ta cần phải đặt IP tĩnh cho máy tính theo những thông tin sau

  • IP: 192.168.1.100
  • Netmask: 255.255.255.0
  • Gateway: 192.168.1.1
  • DNS: 192.168.1.1

Ở bước tiếp theo, chúng ta sẽ truy cập SSH vào con Raspberry Pi đã chạy OpenWRT. Cách truy cập sẽ có rất nhiều cách nhưng mình sẽ hướng dẫn sử dụng CMD trên Windows hay Terminal trên Ubuntu nhé. Các bạn mở chương trình CMD hoặc Terminal lên và chạy câu lệnh sau;

ssh root@192.168.1.1

Ở bước đăng nhập ban đầu sẽ không cần đăng nhập mật khẩu, các bạn có thể đổi mật khẩu bằng câu lệnh passwd để tăng cường tính bảo mật của thiết bị nhé

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 2
Màn hình đăng nhập và thay đổi mật khẩu tài khoản root

Bước 3.1: Cấu hình network và firewall trên OpenWRT

Mặc định, OpenWRT sẽ không có trình soạn thảo nano, vì thế mà chúng ta sẽ sử dụng trình soạn thảo vi để chỉnh sửa network trên OpenWRT

Để bắt đầu chỉnh sửa dữ liệu trên trình soạn thảo vim chúng ta cần bấm i, sau khi soạn thảo xong sẽ bấm ESC -> :wq -> Enter

Cách sử dụng trình soạn thảo VIM
vi /etc/config/network

Thay thế toàn bộ dữ liệu ở trong network bằng nội dung sau

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd51:d643:7bbf::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '10.10.10.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option force_link '1'

config interface 'wwan'
        option proto 'dhcp'
        option peerdns '0'
        option dns '94.140.14.14 94.140.15.15'

config interface 'vpnclient'
        option ifname 'tun0'
        option proto 'none'

Tiếp theo chúng ta cần chỉnh sửa cấu hình của Firewall

vi /etc/config/firewall

Tìm đoạn có nội dung sau

config zone                                                                                                                  
     option name             wan                                                                                          
     list   network          'wan'                                                                                        
     list   network          'wan6'                                                                                       
     option input            REJECT                                                                                       
     option output           ACCEPT                                                                                       
     option forward          REJECT                                                                                       
     option masq             1                                                                                            
     option mtu_fix          1   

Sửa giá trị của option input từ REJECT thành ACCEPT và chúng ta sẽ được

config zone                                                                                                                  
     option name             wan                                                                                          
     list   network          'wan'                                                                                        
     list   network          'wan6'                                                                                       
     option input            ACCEPT                                                                                       
     option output           ACCEPT                                                                                       
     option forward          REJECT                                                                                       
     option masq             1                                                                                            
     option mtu_fix          1   

Sau khi đã sửa xong, tiến hành khởi động lại thiết bị bằng câu lệnh reboot.

Trong thời gian đợi thiết bị khởi động lại, nếu ở Bước 3 chúng ta đặt IP cố định 192.168.1.100 thì chúng ta phải cần chuyển IP của máy tính về dạng DHCP để máy tính có thể nhận giải IP mới của Raspberry Pi

Bước 3.2: Kết nối OpenWRT Raspberry Pi với Internet thông qua Wifi

Sau khi thiết bị đã khởi động lại và nhận IP từ Raspberry Pi, chúng ta sử dụng trình duyệt để truy cập vào địa chỉ sau: http://10.10.10.1 đăng nhập bằng tài khoản: root và mật khẩu bạn đã đổi ở Bước 3 hoặc để trống nếu bạn chưa thay đổi

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 3
Giao diện Luci của OpenWRT

Tiếp theo sẽ là kết nối mạng cho OpenWRT qua wifi bằng cách chọn Network -> Wireless. Bấm Scan để dò tìm mạng wifi khả dụng

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 4
Giao diện tìm kiếm wifi trên OpenWRT

Chọn Join Network và nhập mật khẩu để kết nối với Wifi của bạn

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 5
Giao diện kết nối wifi trên OpenWRT

Các bạn cần phải chọn: Replace wireless configuration và đừng quên nhé :3 Sau đó chọn Submit

Tiếp theo, theo như trải nghiệm của mình các bạn cần đặt chế độ kênh là Auto ở phần Operating frequency. và bấm Save. Tham khảo thiết lập như hình minh họa phía dưới

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 6
Cấu hình wifi để kết nối

Cuối cùng chúng ta chọn Save & Apply để thực hiện quá trình thiết lập

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 7
Hoàn thành quá trình thiết lập wifi bằng Save & Apply

Bước 3.3: Cập nhật và cài đặt các gói yêu cầu

Sau khi kết nối thành công với Internet. Chúng ta quay lại đăng nhập với giao diện SSH.

Các bạn nhớ kết nối USB Wifi mà chúng ta đã chuẩn bị từ Bước 1 luôn nhé.

Lần kết nối này chúng ta sẽ chạy câu lệnh

ssh root@10.10.10.1

Tiếp theo chạy các câu lệnh sau để cập nhật và cài đặt các gói cần thiết

opkg update
opkg install kmod-mt7601u mt7601u-firmware kmod-usb-core kmod-usb-uhci kmod-usb-ohci kmod-usb2 usbutils openvpn-openssl luci-app-openvpn
ifconfig wlan1 up
reboot

Vì mỗi sản phẩm sẽ cần có chương trình chạy khác nhau. Các bạn cần mua đúng sản phẩm mà mình để ở phía trên thì mới đảm bảo hoạt động được nhé. Nếu mua sản phẩm khác thì vui lòng để lại bình luận để mình có thể hướng dẫn được cụ thể hơn.

Lưu ý khi mua thiết bị USB Wifi

Thiết bị sẽ khởi động lại ngay sau đó. Sau khi khởi động xong, các bạn sẽ thấy có 2 thiết bị wifi là radio0 – Wifi mặc định của Raspberry Pi và radio1 – Wifi từ thiết bị usb wifi mà chúng ta vừa cắm vào

Vì là thiết bị wifi giá rẻ nên usb wifi đó sẽ chỉ có chức năng thu wifi chứ không có chức năng phát wifi, chính vì vậy ở bước này chúng ta sẽ cần cấu hình radio1 sẽ là thiết bị thu wifi như ở Bước 3.2. Còn thiết bị radio0 chúng ta sẽ chuyển về AP mode.

Chuyển chức năng 2 thiết bị wifi

Bước 3.4: Chuyển đổi thiết bị phát sóng wifi và thu wifi kết nối Internet

Đầu tiên chúng ta cần chuyển thiết bị radio0 về AP mode theo các bước sau đây

Truy cập giao diện quản lý Wireless bằng trình duyệt tại http://10.10.10.1 chọn Network -> Wireless. Tiếp theo ở radio0 chúng ta chọn Edit

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 8
Chọn edit để chỉnh sửa cài đặt wifi radio0

Tại phần Interface Configuration – Chuyển đổi từ Client sang Access Point ở màn hình tiếp theo

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 9
Chuyển đổi chế độ cho wifi radio0

Đặt tên Wifi muốn phát sóng tại ESSID

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 10
Cài đặt tên wifi muốn phát sóng tại ESSID

Chuyển sang Tab Wireless Security, thay đổi giá trị tại phần Key để đặt mật khẩu cho Wifi của mình

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 11
Cài đặt mật khẩu wifi tại tab Wireless Security

Sau đó Save và tiếp theo là Save & Apply

Vậy là chúng ta đã chuyển chế độ cho wifi Raspberry Pi từ chế độ Client sang chế độ phát wifi. Các bạn có thể kiểm tra lại bằng cách sử dụng điện thoại do tìm wifi mới, sẽ thấy wifi có tên như tên các bạn vừa đặt và sử dụng mật khẩu của bạn ở phần Wireless Security key để kết nối

Tiếp theo chúng ta sẽ cần phải kết nối lại với Internet thông qua wifi radio1. Các bạn tham khảo lại hướng dẫn tại Bước 3.2 vì mình sẽ không viết lại vì bài này cũng khá dài rồi. Chỉ lưu ý với các bạn là lần này sẽ chọn radio1 chứ không phải radio0. Các bạn lưu ý điều đó nhé.

Bước 4: Cấu hình VPN bảo mật kết nối

Vì mình đang sử dụng VPN của nhà cung cấp VyprVPN, bài viết này sẽ hướng dẫn sử dụng VPN của nhà cung cấp đó nhé. Với các nhà cung cấp khác, các bạn chỉ cần tìm file OpenVPN và làm tương tự là được.

Đầu tiên chúng ta sẽ cần tải file OpenVPN từ nhà cung cấp về (Cái này tùy vào từng nhà cung cấp sẽ có, tuy nhiên hầu như các nhà cung cấp lớn đều có). Với VyprVPN sẽ tải file cấu hình OpenVPN tại đây: VyprVPN OpenVPN config files

Giải nén ra các bạn sẽ được các file có đuổi .ovpn. Các bạn cần tìm cho mình file kết nối đến server có vị trí địa lý gần mình nhất. Mình sẽ chọn Việt Nam

Tiếp theo trên giao diện web của OpenWRT. Các bạn chọn VPN -> OpenVPN

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 12
Giao diện cấu hình OpenWRT

Tại phần OVPN configuration file upload, chúng ta đặt tên cho kết nối và upload file .ovpn đã tải về từ trước lên. Sau đó chọn Upload

Vì VyprVPN xác thực qua đăng nhập bằng tài khoản và mật khẩu, chúng ta sẽ cần cấu hình thêm bằng cách bấm Edit cấu hình mà mình vừa tải lên tại OpenVPN instances.

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 13
Thêm thông tin đăng nhập cấu hình OpenVPN

Nhập thông tin đăng nhập và mật khẩu tài khoản của bạn ở phần Section to add an optional ‘auth-user-pass’. Lưu ý tên đăng nhập và mật khẩu ở 2 dòng khác nhau như hình minh họa.

Sau khi nhập xong tên đăng nhập và mật khẩu, chúng ta cần copy đường dẫn của file và dán vào dòng auth-user-pass ở ô phía trên. Ví dụ trong trường hợp của mình có vị trí đường dẫn /etc/openvpn/Vietnam.auth

Mình sẽ copy dòng này và dán lên phần trên sẽ được như hình

Tạo bộ phát wifi du lịch siêu an toàn từ Raspberry Pi 14
Cấu hình đăng nhập OpenVPN trên OpenWRT

Sau đó chúng ta lưu lại – Save

Trước khi chạy OpenWRT, chúng ta cần cấu hình tường lửa để dữ liệu luôn đi qua VPN trước khi kết nối Internet. Sử dụng SSH và chạy các câu lệnh sau

uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci del_list firewall.wan.device="tun+"
uci add_list firewall.wan.device="tun+"
uci commit firewall
/etc/init.d/firewall restart

Kết nối VPN với giao diện web phần cài đặt OpenVPN tại VPN -> OpenVPN

Chọn Enable, bấm StartSave&Apply

VPN sẽ được kết nói và các bạn có thể kiểm tra IP mới tại địa chỉ: https://checkip.org

Từ giờ trở đi, khi đến khu vực mới có wifi mới, các bạn chỉ việc mở Raspberry Pi, cấp nguồn cho nó, đăng nhập thiết bị và cấu hình wifi như ở Bước 3.2. Việc còn lại để đảm bảo an toàn là mọi người sẽ kết nối wifi của thiết bị được cấu hình sẵn ở Bước 3.4 và lướt web mà không phải lo nghĩ gì về vấn đề an toàn nữa

Kết luận

Trên đây mình đã hướng dẫn các bạn tạo nên một thiết bị wifi router dành cho du lịch với mức độ bảo mật siêu an toàn. Các bạn sẽ không còn lo bị lộ thông tin, bị kiểm duyệt khi duyệt web và còn nhiều lợi ích khác như có cổng LAN để kết nối với các thiết bị không có kết nối Wifi. Chúc các bạn thực hiện thành công và có những chuyến đi chơi vui vẻ. Nếu có vấn đề thắc mắc, xin vui lòng để lại bình luận. Mình sẽ cố gắng giải đáp, hỗ trợ các bạn trong thời gian ngắn nhất.

Giới thiệu về tác giả

Việt Nguyễn

Người viết blog

Mình là Việt, mình 28 tuổi và lý do mà mình mở blog này chính là chia sẻ những kinh nghiệm, trải nghiệm mà bản thân đã khám phá được tới mọi người

Xem tất cả các bài viết