Cấu hình Raspberry Pi 4 thành Wireless Access Point



                                         +- RPi -------+
                                     +---+ 192.168.1.2 |          +- Laptop ----+
                                     |   |     WLAN AP +-)))  (((-+ WLAN Client |
                                     |   | 192.168.3.1 |          | 192.168.3.2 |
                                     |   +-------------+          +-------------+
                 +- Router ----+     |
                 | Firewall    |     |   +- PC#1 ------+
(Internet)---WAN-+ DHCP server +-LAN-+---+ 192.168.1.3 |
                 | 192.168.1.1 |     |   +-------------+
                 +-------------+     |
                                     |   +- PC#2 ------+
                                     +---+ 192.168.1.4 |
                                         +-------------+

Cài các gói cần thiết

$ sudo apt install -y hostapd dnsmasq \
                      netfilter-persistent iptables-persistent
$ sudo systemctl unmask hostapd
$ sudo systemctl enable hostapd
$ sudo systemctl enable dnsmasq

Cấu hình wireless interface

Với wlan0 là tên của wireless interface, sửa file /etc/dhcpcd.conf như sau:

interface wlan0
    static ip_address=192.168.3.1/24
    nohook wpa_supplicant

Bật ip forward

Tạo file /etc/sysctl.d/routed-ap.conf với nội dung:

net.ipv4.ip_forward=1

Thêm firewall rule

$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
$ sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
$ sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
$ sudo iptables -A INPUT -j ACCEPT
$ sudo iptables -A OUTPUT -j ACCEPT

Lưu những rule hiện tại để load tự động ở những lần khởi động tới:

$ sudo netfilter-persistent save

Cấu hình DHCP và DNS

Sửa file /etc/dnsmasq.conf như sau:

interface=wlan0
dhcp-range=192.168.3.2,192.168.3.10,255.255.255.0,24h
domain=wlan
address=/gw.wlan/192.168.3.1

Cấu hình hostap

Sửa file /etc/hostapd/hostapd.conf như sau:

country_code=US
interface=wlan0
ssid=HOTSPOTNAME
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=SECRETPASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Đặt tên và mật khẩu cho hotspot tại dòng ssid=wpa_passphrase=.

Khởi động lại Pi

$ sudo reboot

Tham khảo

comments powered by Disqus