Raspberry Pi có thể kết nối với một mạng Wi-Fi bằng cách sử dụng một dongle USB nhưng sử dụng cùng một dongle bạn cũng có thể biến Raspberry Pi của bạn thành một điểm truy cập không dây. Sau khi thiết lập chính xác, điều này sẽ cho phép các thiết bị không dây khác kết nối với Pi của bạn và bạn có thể định tuyến bất kỳ lưu lượng nào qua cổng Ethernet và trên internet (thông qua bộ định tuyến từ ISP của bạn).

Tuy nhiên, trước khi xem xét các bước cần thiết để làm việc này, một lời cảnh báo. Cấu hình cần thiết có thể là một chút phức tạp và nếu mọi thứ không hoạt động như họ nên sau đó xử lý sự cố vấn đề có thể khó khăn. Ngoài ra để làm việc này một cách chính xác, bạn cần một USB dongle WiFi có thể hoạt động như một điểm truy cập. Nơi tốt nhất để tìm thông tin về dongle cụ thể của bạn và Raspberry Pi nằm trên trang bộ điều hợp Wi-Fi Linux Raspberry Pi nhúng.

Để định cấu hình điểm phát sóng yêu cầu một vài bước:

  • Cấu hình bộ điều hợp không dây với địa chỉ IP tĩnh
  • Cài đặt và cấu hình máy chủ DHCP
  • Cài đặt và cấu hình daemon điểm truy cập
  • Định cấu hình định tuyến IP giữa mạng không dây và Ethernet

Trong ví dụ này, mạng không dây sẽ sử dụng dải địa chỉ 192.168.42.n và Ethernet có dây sẽ sử dụng dải địa chỉ 192.168.1.n

Cấu hình bộ điều hợp không dây với địa chỉ IP tĩnh

Chỉnh sửa “/ etc / network / interfaces” và thêm thông tin địa chỉ IP tĩnh cho wlan0 . Bạn có thể tìm hiểu về các địa chỉ IP tĩnh trong hướng dẫn địa chỉ IP tĩnh và tĩnh của chúng tôi.

 sudo nano / etc / network / interfaces 

Đặt ký hiệu “#” ở trước tất cả các dòng đề cập đến wlan0wpa, ngoại trừ “ allow hotplug wlan0 “. Sau đó thêm các dòng sau vào tệp:

 iface wlan0 inet địa chỉ tĩnh 192.168.42.1 netmask 255.255.255.0 

Nửa dưới của tệp sẽ trông giống như sau:

Bây giờ khởi động lại.

Cài đặt và cấu hình máy chủ DHCP

Cài đặt máy chủ DHCP:

 sudo apt-get cài đặt isc-dhcp-server 

Bạn có thể bỏ qua bất kỳ lỗi nào về việc không thể khởi động máy chủ DHCP tại thời điểm này. Bây giờ hãy chỉnh sửa tệp cấu hình của nó:

 sudo nano /etc/dhcp/dhcpd.conf 

Thêm ký tự “#” ở phía trước dòng “ option domain-name ” như sau:

 #option tên miền "example.org"; #option tên miền-tên-máy chủ ns1.example.org, ns2.example.org; 

Bỏ dấu "#" ở phía trước " authoritative; ”Tuyên bố như thế này:

 # Nếu máy chủ DHCP này là máy chủ DHCP chính thức cho mạng nội bộ #, thì chỉ thị có thẩm quyền sẽ không được chú ý. có thẩm quyền; 

Ở cuối tệp, thêm các dòng sau:

 subnet 192.168.42.0 netmask 255.255.255.0 {range 192.168.42.10 192.168.42.50; tùy chọn địa chỉ quảng bá 192.168.42.255; bộ định tuyến tùy chọn 192.168.42.1; mặc định-thuê-thời gian 600; thời gian thuê tối đa 7200; tùy chọn tên miền "cục bộ"; tùy chọn tên miền-tên-máy chủ 8.8.8.8, 8.8.4.4; } 

Thoát khỏi nano bằng “Ctrl + X”.

Đặt bộ điều hợp không dây làm mặc định cho yêu cầu DHCP:

 sudo nano / etc / default / isc-dhcp-server 

Thay đổi " INTERFACES="" " thành " INTERFACES="wlan0"

Thoát khỏi nano bằng “Ctrl + X”.

Khởi động lại máy chủ DHCP:

 sudo service isc-dhcp-server khởi động lại 

Cài đặt và cấu hình daemon điểm truy cập

Cài đặt hostapd:

 sudo apt-get cài đặt hostapd 

Chỉnh sửa tệp cấu hình hostapd và tạo mạng không dây:

 sudo nano /etc/hostapd/hostapd.conf 

Thêm các dòng sau:

 interface = wlan0 driver = nl80211 # driver = rtl871xdrv ssid = MyPi hw_mode = g channel = 6 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = raspberry wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP rsn_pairwise = CCMP 

Điều này sẽ tạo ra một mật khẩu bảo vệ mạng được gọi là MyPi trên kênh 6 với raspberry mật khẩu.

Yêu cầu hostapd tìm tệp cấu hình ở đâu bằng cách đặt vị trí mặc định:

 sudo nano / etc / default / hostapd 

Xóa "#" ở phía trước " DAEMON_CONF " và thay đổi dòng để đọc:

 DAEMON_CONF = "/ etc / hostapd / hostapd.conf" 

Định cấu hình định tuyến IP giữa mạng không dây và Ethernet

Chỉnh sửa “ /etc/sysctl.conf ” để bật chuyển tiếp IP:

 sudo nano /etc/sysctl.conf 

Tìm dòng có dòng chữ “ Uncomment the next line to enable packet forwarding for IPv4 ” và bỏ ghi chú dòng tiếp theo như sau:

 # Bỏ ghi chú dòng tiếp theo để cho phép chuyển tiếp gói cho IPv4 net.ipv4.ip_forward = 1 

Chạy lệnh sau để kích hoạt chuyển tiếp ngay bây giờ:

 sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_forward" 

Bây giờ biến Pi thành một router với các lệnh sau:

 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state LIÊN QUAN, THÀNH LẬP -j CHẤP NHẬN sudo iptables -A FORWARD-i wlan0 -o eth0 -j CHẤP NHẬN 

Và lưu các bảng định tuyến vào tập tin " /etc/iptables.ipv4.nat "

 sudo sh -c "iptables-save> /etc/iptables.ipv4.nat" 

Chỉnh sửa “ /etc/network/interfaces “:

 sudo nano / etc / network / interfaces 

Và thêm dòng sau vào cuối tập tin. Dòng này sẽ khôi phục bảng định tuyến bất cứ khi nào Pi được khởi động:

 pre-up iptables-restore </etc/iptables.ipv4.nat 

Bây giờ bạn nên khởi động lại Pi của bạn và kiểm tra truy cập không dây bằng máy tính xách tay, điện thoại thông minh, máy tính bảng hoặc thiết bị có hỗ trợ Wi-Fi khác.

Xử lý sự cố

Kể từ khi cấu hình này là những thứ khá phức tạp có thể dễ dàng đi sai. Nếu bạn gặp sự cố, hãy kiểm tra kỹ tất cả các tệp cấu hình. Nó cũng là giá trị điện đi xe đạp Pi vì nó có thể cho dongle USB để có được vào một trạng thái không xác định.

Bạn có thể nhận thấy rằng tệp "hostapd.conf" có hai dòng " driver= " và một trong số chúng đã được nhận xét. Nếu USB Wi-Fi của bạn sử dụng trình điều khiển nl80211 thì cấu hình trên sẽ hoạt động OK. Tuy nhiên, nếu dongle của bạn sử dụng rtl871xdrv mà nó dùng cho các adapter dựa trên chipset Realtek RTL8188CUS thì có một số bước cần thiết.

Đầu tiên cài đặt gói iw :

 sudo apt-get cài đặt iw 

Bây giờ chạy lệnh sau:

 iw danh sách 

Nếu đầu ra của lệnh là " nl80211 not found " thì bạn cần sử dụng trình điều khiển rtl871xdrv . Tuy nhiên, bạn cũng sẽ cần một phiên bản đặc biệt của hostapd.

Adafruit có một phiên bản được biên dịch trước của hostapd cho trình điều khiển rtl871xdrv . Để cài đặt, sử dụng các lệnh sau:

 wget http://www.adafruit.com/downloads/adafruit_hostapd.zip giải nén adafruit_hostapd.zip sudo mv / usr / sbin / hostapd /usr/sbin/hostapd.ORIG sudo mv hostapd / usr / sbin sudo chmod 755 / usr / sbin / hostapd 

Nếu bạn có bất kỳ câu hỏi nào về việc chuyển Pi của bạn thành điểm truy cập không dây, vui lòng hỏi bên dưới và chúng tôi sẽ cố gắng hết sức để trợ giúp!