将Raspberry Pi设置为无线wifi接入热点
Raspberry Pi可以使用USB加密狗连接到Wi-Fi网络,但使用相同的加密狗,您也可以将Raspberry Pi变成无线接入点。一旦设置正确,这将允许其他无线设备连接到您的Pi,并且您可以选择将任何流量通过以太网端口路由到互联网(通过ISP的路由器)。
但是,在查看实现这项工作所需的步骤之前,请先发出警告。所需的配置可能有点复杂,如果事情不能正常工作,那么对问题进行故障排除可能很困难。此外,为了使其正常工作,您需要一个可用作接入点的WiFi USB加密狗。查找有关特定加密狗和Raspberry Pi的信息的最佳位置是嵌入式Linux Raspberry Pi Wi-Fi适配器页面。
要配置热点,需要执行以下几个步骤:
- 使用静态IP地址配置无线适配器
- 安装并配置DHCP服务器
- 安装和配置访问点守护程序
- 配置无线和以太网之间的IP路由
在此示例中,无线网络将使用地址范围192.168.42.n
,有线以太网将使用地址范围192.168.1.n
。
使用静态IP地址配置无线适配器
编辑“/ etc / network / interfaces”并添加静态IP地址信息wlan0
。您可以在我们的SSH和静态IP地址教程中了解静态IP地址。
sudo nano / etc / network / interfaces
放置一个“#”符号在所有提及行的前面wlan0
和wpa
,除了“ allow hotplug wlan0
“。然后将以下行添加到文件中:
iface wlan0 inet静态
地址192.168.42.1
netmask 255.255.255.0
现在文件的下半部分看起来像这样:
现在重启。
安装并配置DHCP服务器
安装DHCP服务器:
sudo apt-get install isc-dhcp-server
您可以安全地忽略此时无法启动DHCP服务器的任何错误。现在编辑其配置文件:
sudo nano / etc / dhcp / dhcpd.conf
在“ option domain-name
”行前面添加一个“#”字符,如下所示:
#option domain-name“example.org”;
#option domain-name-servers ns1.example.org,ns2.example.org;
删除“ authoritative;
”语句前面的“#”符号,如下所示:
#如果此DHCP服务器是本地#network的官方DHCP服务器,
则应取消注释权威指令。
权威性;
在文件的底部添加以下行:
子网192.168.42.0网络掩码255.255.255.0 {
范围192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
选项路由器192.168.42.1;
default-lease-time 600 ;
max-lease-time 7200 ;
选项域名“本地” ;
option domain-name-servers 8.8.8.8,8.8.4.4; }
使用“Ctrl + X”退出nano。
使无线适配器成为DHCP请求的默认设置:
sudo nano / etc / default / isc-dhcp-server
将“ INTERFACES=""
”改为“ INTERFACES="wlan0"
”
使用“Ctrl + X”退出nano。
重启DHCP服务器:
sudo服务isc-dhcp-server restart
安装和配置访问点守护程序
安装hostapd:
sudo apt-get install hostapd
编辑hostapd配置文件并创建无线网络:
sudo nano / etc / hostapd / hostapd.conf
添加以下行:
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
这将使用密码MyPi
在通道6上创建一个受密码保护的网络raspberry
。
通过设置默认位置告诉hostapd在哪里找到其配置文件:
sudo nano / etc / default / hostapd
删除“”前面的“#” DAEMON_CONF
并将该行改为:
DAEMON_CONF = “/ etc / hostapd /hostapd.conf ”
配置无线和以太网之间的IP路由
编辑“ /etc/sysctl.conf
”以启用IP转发:
sudo nano / etc / sysctl.conf
找到读取“ Uncomment the next line to enable packet forwarding for IPv4
” 的行并取消注释下一行,如下所示:
#取消注释下一行以启用IPv4
net.ipv4.ip_forward = 1的数据包转发
运行以下命令立即**转发:
sudo sh -c “echo 1> / proc / sys / net / ipv4 / ip_forward”
现在使用以下命令将Pi转换为路由器:
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接受
并将路由表保存到文件“ /etc/iptables.ipv4.nat
”中
sudo sh -c “iptables-save> /etc/iptables.ipv4.nat”
编辑“ /etc/network/interfaces
”:
sudo nano / etc / network / interfaces
并将以下行添加到文件的末尾。每次引导Pi时,此行将恢复路由表:
pre-up iptables-restore < / etc / iptables.ipv4.nat
您现在应该重启Pi并使用笔记本电脑,智能手机,平板电脑或其他支持Wi-Fi的设备测试无线访问。
故障排除
由于这种配置非常复杂,因此很容易出错。如果遇到麻烦,请仔细检查所有配置文件。由于USB加密狗可能进入未定义状态,因此对Pi进行电源循环也是值得的。
您可能已经注意到“hostapd.conf”文件有两driver=
行“ ”行,其中一行被注释掉了。如果您的USB Wi-Fi加密狗使用nl80211
驱动程序,则上述配置应该可以正常工作。但是,如果您的加密狗使用的rtl871xdrv
是基于Realtek RTL8188CUS芯片组的适配器,那么还需要一些额外的步骤。
首先安装iw
包:
sudo apt-get install iw
现在运行以下命令:
列表
如果命令的输出是“ nl80211 not found
”,那么您需要使用rtl871xdrv
驱动程序。但是,您还需要特殊版本的hostapd。
Adafruit为rtl871xdrv
驱动程序提供了hostapd的预编译版本。要安装它,请使用以下命令:
wget的 HTTP:// www.adafruit.com /下载/ adafruit_hostapd.zip
解压 adafruit_hostapd.zip
须藤 MV / USR / sbin目录/ hostapd / USR / sbin目录/ hostapd.ORIG
须藤 MV hostapd / USR / sbin目录
须藤 搭配chmod 755 / USR / sbin目录/ hostapd
如果您对将Pi变为无线接入点有任何疑问,请在下方询问,我们将尽力为您提供帮助!
https://www.maketecheasier.com/set-up-raspberry-pi-as-wireless-access-point/