参考官方原说明链接:
https://www.raspberrypi.org/documentation/computers/configuration.html#enable-routing-and-ip-masquerading
1.安装接入点和网络管理软件
为了用作访问点,Raspberry Pi需要hostapd安装访问点软件包:
sudo apt install hostapd
注:因为系统更新的原因,可能此处无法正常执行,请先
sudo apt-get update
启用无线接入点服务并将其设置为在Raspberry Pi启动时启动:
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
为了向无线客户端提供网络管理服务(DNS,DHCP),Raspberry Pi需要dnsmasq安装软件包:
sudo apt install dnsmasq
最后,安装netfilter-persistent及其插件iptables-persistent。此实用程序通过保存防火墙规则并在Raspberry Pi启动时将其还原来提供帮助:
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent
软件安装完成。稍后我们将配置软件包。
2. 设置网络路由器
Raspberry Pi将运行并管理一个独立的无线网络。它还将在无线和以太网网络之间路由,从而为无线客户端提供Internet访问。如果愿意,可以选择跳过下面的“启用路由和IP伪装”部分来跳过路由,并以完全隔离的方式运行无线网络。
定义无线接口IP配置
Raspberry Pi为无线网络运行DHCP服务器。这要求wlan0Raspberry Pi中的无线接口()具有静态IP配置。Raspberry Pi还充当无线网络上的路由器,按照惯例,我们将为其提供网络中的第一个IP地址:192.168.4.1。
要配置静态IP地址,请使用以下命令编辑配置文件dhcpcd:
sudo nano /etc/dhcpcd.conf
转到文件末尾并添加以下内容:
interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant
3. 为无线网络配置DHCP和DNS服务
DHCP和DNS服务由提供dnsmasq。默认配置文件充当所有可能配置选项的模板,而我们只需要其中几个。从空文件开始比较容易。
重命名默认配置文件并编辑一个新文件:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
将以下内容添加到文件中并保存:
interface=wlan0 # Listening interface
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
# Pool of IP addresses served via DHCP
domain=wlan # Local wireless DNS domain
address=/gw.wlan/192.168.4.1
# Alias for this router
Raspberry Pi将为无线DHCP客户端提供介于192.168.4.2和之间的IP地址192.168.4.20,租用时间为24小时。您应该可以gw.wlan通过无线客户端的名称访问Raspberry Pi 。
还有更多的选择dnsmasq; 有关详细信息,请参见默认配置文件(/etc/dnsmasq.conf)或在线文档。
确保无线操作
世界各国对电信无线电频段的使用进行监管,以确保无干扰运行。Linux OS允许用户为应用程序配置两个字母的“ WiFi国家/地区代码”,例如在美国使用的计算机,从而帮助用户遵守这些规则US。
在Raspberry Pi OS中,在用户配置了WiFi国家代码之前,通常会在初始安装过程中将其禁用5 GHz无线网络连接(有关详细信息,请参阅本节中的无线配置页面。)
为确保Raspberry Pi上的WiFi无线电未被阻止,请执行以下命令:
sudo rfkill unblock wlan
此设置将在启动时自动恢复。接下来,我们将在接入点软件配置中定义适当的国家/地区代码。
配置接入点软件
创建hostapd位于的配置文件,/etc/hostapd/hostapd.conf为您的新无线网络添加各种参数。
sudo nano /etc/hostapd/hostapd.conf
将以下信息添加到配置文件。此配置假定我们使用的是通道7,ssid网络名称为NameOfNetwork,密码为12345678。请注意,用户名和密码应该不会有他们周围的报价。密码的长度应在8到64个字符之间。
country_code=GB
interface=wlan0
ssid=NameOfNetwork
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
请注意以下行country_code=GB:它将计算机配置为使用英国的正确无线频率。修改此行,并指定您所在国家/地区的两个字母的ISO代码。有关两个字母的ISO 3166-1国家/地区代码列表,请参见Wikipedia。
要使用5 GHz频段,可以将操作模式从更改hw_mode=g为hw_mode=a。可能的值为hw_mode:
a = IEEE 802.11a(5 GHz)(Raspberry Pi 3B +起)
b = IEEE 802.11b(2.4 GHz)
g = IEEE 802.11g(2.4 GHz)
请注意,更改时hw_mode,您可能还需要更改channel–有关允许的组合的列表,请参见Wikipedia。
4.运行新的无线接入点
现在,重新启动Raspberry Pi,并验证无线访问点是否自动可用。
sudo systemctl reboot
Raspberry Pi重新启动后,请使用您的无线客户端搜索无线网络。您在文件中指定的网络SSID/etc/hostapd/hostapd.conf现在应该存在,并且可以使用指定的密码进行访问。
如果在Raspberry Pi上启用了SSH,则应该可以通过您的无线客户端通过以下方式连接到它,并假设pi存在该帐户:ssh pi@192.168.4.1或ssh pi@gw.wlan
如果您的无线客户端可以访问Raspberry Pi(如果设置了路由,则可以访问Internet),那么祝贺您设置新的访问点!