Bạn đang tìm cách tạo nhiều access point khắp nhà mà không có độ trễ và vấn đề kết nối thường gặp với Wi-Fi extender? Trong bài này bạn sẽ học cách biến Raspberry Pi thành wireless access point.
Khi wireless access point của bạn chạy, bất kỳ ai có mật khẩu sẽ có thể kết nối đến Raspberry Pi như thể nó là "mini router", lý tưởng cho mọi người từ chủ quán cà phê muốn cung cấp Wi-Fi miễn phí cho khách, đến nhà tuyển dụng cần tạo mạng riêng cho nhân viên, hoặc thậm chí ai đó chỉ thích ý tưởng có nhiều mạng Wi-Fi tại nhà!
Bạn sẽ cần
Để hoàn thành hướng dẫn này, bạn cần:
- Raspberry Pi 3/4 chạy Raspbian. Nếu chưa có Raspbian, bạn có thể tải phiên bản mới nhất và flash nó dùng Etcher.
- Cáp nguồn tương thích với Raspberry Pi của bạn
- Bàn phím ngoài và cách gắn nó vào Raspberry Pi
- Cáp HDMI hoặc micro HDMI, tùy model Raspberry Pi
- Màn hình ngoài
- Cáp Ethernet. Vì bạn biến Raspberry Pi thành wireless access point, bạn cần kết nối qua Ethernet thay vì Wi-Fi. Điều này cũng nghĩa là nó không hoạt động với Raspberry Pi 2 hoặc Raspberry Pi Zero vì chúng thiếu cổng Ethernet hoặc card wireless.
Một khi bạn đã chuẩn bị xong công cụ, đã đến lúc tạo Wi-Fi hotspot riêng.
Bắt đầu: Thiết lập Raspberry Pi (Getting Started: Set Up Your Raspberry Pi)
Để bắt đầu, kết nối tất cả ngoại vi vào Raspberry Pi, bao gồm cáp Ethernet.
Khi Raspberry Pi đã boot, ý tưởng tốt là kiểm tra bạn đang chạy phiên bản Raspbian mới nhất, vì vậy hãy mở Terminal bằng cách nhấp biểu tượng "Terminal" nhỏ trong thanh công cụ. Gõ lệnh sau:
sudo apt-get update
Nhấn Enter và chờ lệnh thực thi.
Gõ lệnh tiếp theo và nhấn Enter một lần nữa:
sudo apt-get upgrade
Sau nâng cấp, tốt nhất là reboot Raspberry Pi để thay đổi hệ thống có hiệu lực. Chạy lệnh sau:
reboot
Cài đặt hostapd, dnsmasq và Plugin Firewall (Install hostapd, dnsmasq and Firewall Plugins)
Cài hostapd (host access point daemon), gói phần mềm có thể biến network interface card thành access point.
Để cài hostapd trên Raspberry Pi, mở Terminal và chạy lệnh:
sudo apt install hostapd
Bật wireless access point và đặt nó tự khởi động khi boot:
sudo systemctl unmask hostapd sudo systemctl enable hostapd
Tiếp theo, cài dnsmasq, cung cấp Domain Name System (DNS) caching và Dynamic Host Configuration Protocol (DHCP) server dành cho mạng nhỏ.
Để cài gói này, chạy lệnh sau trong Terminal:
sudo apt install dnsmasq
Cuối cùng, cài netfilter-persistent và plugin iptables-persistent, sẽ chịu trách nhiệm lưu và tải quy tắc tường lửa trên Raspberry Pi:
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent
Gán địa chỉ IP tĩnh (Assign a Static IP Address)
DHCP server yêu cầu địa chỉ IP tĩnh, nên phần này bạn sẽ cấu hình IP tĩnh cho Raspberry Pi.
Để bắt đầu, chạy lệnh sau trong Terminal:
sudo nano /etc/dhcpcd.conf
Raspbian sẽ mở file cấu hình cho dhcpcd. Cuộn đến cuối file và thêm các dòng sau:
interface wlan0 static ip_address=192.168.4.1/24 nohook wpa_supplicant
Lưu thay đổi bằng cách nhấn Ctrl + O theo sau Ctrl + X.
Bật routing (Enable routing)
Raspberry Pi access point của bạn giờ chạy mạng wireless độc lập. Tuy nhiên, nếu bạn muốn cho phép client truy cập máy tính trên mạng Ethernet, bạn sẽ cần bật routing.
Để bật routing, tạo file "routed-ap.conf" dùng lệnh:
sudo nano /etc/sysctl.d/routed-ap.conf
Điều này tạo file "routed-ap.conf" và mở nó để chỉnh trong editor Nano. Trong editor, gõ:
net.ipv4.ip_forward=1
Lưu thay đổi bằng Ctrl + O theo sau Ctrl + X.
Thêm quy tắc tường lửa mới cho Raspberry Pi bằng lệnh:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Cuối cùng, dùng netfilter-persistent để đảm bảo quy tắc mới tải khi boot:
sudo netfilter-persistent save
Cấu hình dịch vụ DHCP và DNS (Configure Your DHCP and DNS Services)
Gói dnsmasq cung cấp file cấu hình mặc định, nhưng chúng ta không cần tất cả tùy chọn trong file đó.
Để dễ dàng hơn, hãy đổi tên file cấu hình mặc định của dnsmasq và tạo file thay thế hoàn toàn trống. Sau đó mở file "dnsmasq.conf" mới này trong editor Nano và chỉ thêm các tùy chọn cấu hình chúng ta thực sự cần.
Để bắt đầu, chạy lệnh Terminal sau:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig sudo nano /etc/dnsmasq.conf
Thêm các tùy chọn cấu hình sau:
interface=wlan0 dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h domain=wlan address=/gw.wlan/192.168.4.1
Lưu thay đổi bằng Ctrl + O theo sau Ctrl + X.
Tạo tên mạng và mật khẩu (Create a Network Name and Password)
Cấu hình wireless access point bằng cách chỉnh file cấu hình hostapd.
Để mở file này để chỉnh, chạy lệnh:
sudo nano /etc/hostapd/hostapd.conf
Thêm thông tin về wireless access point, bao gồm đặt tên và bảo mật với mật khẩu. Để bảo vệ access point, mật khẩu nên 8 ký tự trở lên và 섞 chữ, số, ký tự đặc biệt.
Hướng dẫn này tạo access point tên "NetworkName" với mật khẩu "PassphrasePassphrase" – hãy dùng thứ an toàn hơn cho mạng của bạn!
interface=wlan0 ssid=NetworkName hw_mode=g channel=7 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=PassphrasePassphrase wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Lưu thay đổi bằng Ctrl + O theo sau Ctrl + X.
Kết nối đến Wireless Access Point (Connect to Your Wireless Access Point)
Chúc mừng, bạn đã thành công biến Raspberry Pi thành wireless access point.
Để xác minh mọi thứ hoạt động đúng, ý tưởng tốt là restart Raspberry Pi và kiểm tra bạn có thể kết nối đến access point sau reboot.
Khi Raspberry Pi đã reboot, hãy lấy bất kỳ thiết bị bật Wi-Fi và quét mạng wireless gần. Bạn nên thấy mạng có tên bạn chỉ định trong file "hostapd.conf" của Raspberry Pi.
Thử kết nối đến mạng này, và bạn sẽ được nhắc mật khẩu. Nhập passphrase từ file "hostapd.conf", và sau vài giây bạn nên kết nối thành công đến wireless access point.
Bây giờ bạn có thể lướt Internet trên thiết bị Wi-Fi như thể nó kết nối trực tiếp đến router.
Trong hướng dẫn này, bạn học cách biến Raspberry Pi thành wireless access point. Bây giờ bạn có thể kết nối đến access point này dùng bất kỳ thiết bị bật Wi-Fi và có thể cho bên thứ ba truy cập mạng mà không chia sẻ mật khẩu router.
Ngoài ra, bạn cũng có thể biến Raspberry Pi thành Chromecast hoặc stream Spotify từ nó. Đừng quên xem trang Raspberry Pi của chúng tôi cho dự án thú vị hơn.