我知道如何按照无线连接的官方文档中所述的经典方式进行操作。但这需要许多必须一起使用的不同组件,并且每个组件必须以自己的方式进行配置。这些是网络(ifupdown),dhcpcd,hostapd,dnsmasq和bridge-utils。

如今,Raspbian Stretch内置了所有必需的组件,因此无需安装其他软件。

是否可以仅将Raspbian配置为wifi接入点而无需安装其他软件?

#1 楼

━━━设置接入点━━━
我们正在讨论将接入点与以太网端口eth0一起使用。
如果您想要将接入点与wlan0客户端连接到另一个wifi网络(无线中继器),然后将接入点视为WiFi路由器/中继器,对于网桥是可选的。
可以将Raspbian Stretch配置为wifi接入点,而无需安装其他软件。所有需要的组件都可用:网络,DHCP服务器和桥接是systemd-networkd附带的,可以使用wpa_supplicant设置wifi。连接两个接口eth0和wlan0可以通过路由或桥接来完成。下面首先介绍快速安装的设置,然后是详细信息。首先,我们必须切换到systemd-networkd。
在2020年5月12日更新的Raspberry Pi 4B上用Raspbian Buster Lite 2020-02-13测试。
sudo apt update && sudo apt full-upgrade && sudo reboot完成更新。
在这里,您可以找到Raspbian以前版本的最新测试版本。


♦常规设置
切换到systemd-networkd
只需遵循将systemd-networkd用于一般网络。您可以使用“♦快速步骤”部分。然后回到这里。
将wpa_supplicant配置为访问点
要将wpa_supplicant配置为访问点,请使用country=ssid=psk=以及可能的frequency=设置创建此文件。您只需将其复制并粘贴到以cat开头并包含两个EOF的命令行中的一个块中即可(定界符EOF将不会成为文件的一部分):
rpi ~$ sudo -Es   # if not already done
rpi ~# cat > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf <<EOF
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="RPiNet"
    mode=2
    frequency=2437
    #key_mgmt=NONE   # uncomment this for an open hotspot
    # delete next 3 lines if key_mgmt=NONE
    key_mgmt=WPA-PSK
    proto=RSN WPA
    psk="password"
}
EOF

rpi ~# chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
rpi ~# systemctl disable wpa_supplicant.service
rpi ~# systemctl enable wpa_supplicant@wlan0.service
rpi ~# rfkill unblock wlan

完成常规设置。返回。


♦设置独立的接入点
此设置示例:
                 wifi
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0)
            \             /
           (dhcp)   192.168.4.1

执行“常规设置”,然后创建以下内容文件来配置wlan0。我们只有接入点。没有配置以太网设备。
rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
MulticastDNS=yes
DHCPServer=yes
EOF

如果要执行此操作,然后重新启动。
就这样。
继续进行,此时无需重新启动。


♦使用eth0设置访问点且不进行路由
此设置示例:
                                 |
                 wifi            |           wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /      |     \             /
           (dhcp)   192.168.4.1  |    (dhcp)   192.168.50.1

设置
执行“设置独立访问点”,然后创建以下文件配置eth0。
rpi ~$ sudo -Es   # if not already executed before
rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
DHCP=yes
EOF

重启。
就这样。
详细信息
接口eth0通过以太网电缆连接到Internet路由器,并通过DHCP从DHCP获得配置互联网路由器。给它一个静态IP地址是没有问题的,例如用Address=192.168.50.2代替DHCP=yes
如果没有路由,您将无法使用手机上网。您只能从RPi本身获取更新或类似内容。


♦设置访问点并使用eth0和NAT(推荐)
此设置:
                 wifi                        wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /            \
           (dhcp)   192.168.4.1       (dhcp)

设置
执行“常规设置”,然后创建以下文件来配置wlan0和eth0。如果您尝试了以前的设置之一,则可以覆盖两个文件。确保对接入点使用与路由器不同的子网。本例中的路由器不使用子网192.168.4.0/24。如果您需要另一个子网,则只需更改地址行,例如Address=192.168.5.1/24
rpi ~$ sudo -Es   # if not already executed before
rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
MulticastDNS=yes
# IPMasquerade is doing NAT
IPMasquerade=yes
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 1.1.1.1
EOF

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
DHCP=yes
EOF

重新启动。
就这样。
详细信息
如果您无法访问Internet路由器,则可以使用NAT(网络地址转换)伪造为撒谎是所有软件包都来自您的RasPi AP。但这不是干净的路由,并且有局限性。路由器子网上的客户端无法连接到wifi上的客户端。但是在大多数情况下不需要这样做,因此建议您使用此设置,因为它可以简化设置。如果需要从路由器网络连接到wifi客户端,则必须使用下一节中介绍的完整路由。


♦设置访问点并使用eth0和路由
此设置示例:
                 wifi                        wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /            \              /
           (dhcp)   192.168.4.1   192.168.50.2   192.168.50.1

设置
执行“常规设置”,然后创建以下文件以配置wlan0和eth0。如果您尝试了以前的设置之一,则可以覆盖两个文件。确保对接入点和路由器网络使用不同的子网。我们必须使用静态IP地址,因为我们必须将其用作网关。
rpi ~$ sudo -Es   # if not already executed before
rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
MulticastDNS=yes
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 1.1.1.1
EOF

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Address=192.168.50.2/24
Gateway=192.168.50.1
DNS=84.200.69.80 1.1.1.1
IPForward=yes
EOF

重新启动。
要使路由正常工作,您必须在Internet路由器中设置静态路由,以便它可以找到通过RasPi返回软件包的路线,该路径是通过wifi连接到接入点的客户端的。在大多数Internet路由器上,您可以设置静态路由,但具体方法因型号而异。由您自己确定。例如,您的RasPi eth0接口的静态IP地址为192.168.50.2。然后在路由器上,网关(下一跳)是192.168.50.2,目标网络是192.168.4.0/24(或192.168.4.0网络掩码255.255.255.0)。到子网192.168.4.0/24(来自AP的目标网络)到我的子网中的下一个路由器RasPi AP 192.168.50.2(网关)。它知道要在哪里继续。“
就这样。


♦用网桥设置接入点
此设置示例:
                               RPi
               wifi   ┌──────bridge──────┐   wired            wan
mobile-phone <.~.~.~> │(wlan0) br0 (eth0)│ <-------> router <-----> INTERNET
            \                   |                   / DHCP-server
           (dhcp              (dhcp           192.168.50.1
        from router)       from router)

如果您已经具有带有DHCP服务器和Internet路由器的以太网,并且您想使用wifi接入点,但具有相同的IP地址,则您使用网桥。通常将其用作路由器的上行链路。
设置
执行“常规设置”,然后创建以下三个文件来配置网络接口。如果您尝试了以前的设置之一,则可以删除/etc/systemd/network/中的所有文件(如果存在的话除外)。 IP地址就是示例。您必须使用自己的。
rpi ~$ sudo -Es   # if not already executed before
rpi ~# cat > /etc/systemd/network/02-br0.netdev <<EOF
[NetDev]
Name=br0
Kind=bridge
EOF

rpi ~# cat > /etc/systemd/network/04-br0_add-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Bridge=br0
EOF

rpi ~# cat > /etc/systemd/network/12-br0_up.network <<EOF
[Match]
Name=br0
[Network]
MulticastDNS=yes
DHCP=yes
# to use static IP uncomment these and comment DHCP=yes
#Address=192.168.50.60/24
#Gateway=192.168.50.1
#DNS=84.200.69.80 1.1.1.1
EOF

现在我们必须告诉wpa_supplicant使用网桥。我们通过使用以下命令修改其服务来做到这一点:
rpi ~# systemctl edit wpa_supplicant@wlan0.service

在空的编辑器中插入以下语句,保存它们并退出编辑器:
[Service]
ExecStartPre=/sbin/iw dev %i set type __ap
ExecStartPre=/bin/ip link set %i master br0

ExecStart=
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -Dnl80211,wext -i%I -bbr0

ExecStopPost=-/bin/ip link set %i nomaster
ExecStopPost=-/sbin/iw dev %i set type managed

重新启动。
就这样。
详细信息
我们必须告诉wpa_supplicant,其接口wlan0是网桥的从站。否则,它将拒绝客户端使用“错误的密码”进行连接,这意味着密钥协商不起作用。当我们使用选项99-default.link告诉/ sbin / wpa_supplicant使用桥作为wlan0时,接口必须已经是桥的成员。这就是我们处理wpa_supplicant服务的文件(覆盖)的操作。空语句-dbr0删除旧条目。否则,您会有两行ExecStart=,而wpa_supplicant将启动两次。您可以使用ExecStart=查看原始的ExecStart=
通常,通过以太网电缆连接的路由器已启用DHCP服务器。该网桥对于来自工作站(连接到接入点的设备)的DHCP请求也是透明的,因此您不必担心使用IP地址和选项配置其接口的情况。路由器将为其提供服务。excursus:
但是,如果路由器没有DHCP服务器,则可以在RasPi上设置一个。 systemd-networkd可以选择配置其内置的DHCP服务器,但是问题在于systemd-networkd假定它在路由器本身上运行,在这种情况下不正确。它将为站提供错误的选项,尤其是路由器选项。无法对其进行配置。因此,在这种情况下,我们必须安装可以根据需要配置的systemctl cat wpa_supplicant@wlan0.service。安装和配置它(例如,使用您自己的IP地址):
rpi ~$ sudo -Es
rpi ~# apt install dnsmasq
rpi ~# systemctl stop dnsmasq
rpi ~# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

rpi ~# cat > /etc/dnsmasq.conf <<EOF
interface=br0
  dhcp-range=192.168.50.128,192.168.50.164,255.255.255.0,24h
  dhcp-option=option:router,192.168.50.1
  dhcp-option=option:dns-server,8.8.8.8,1.1.1.1
EOF

rpi ~# systemctl start dnsmasq
rpi ~# exit
rpi ~$

在此示例中,保留了IP地址192.168.50.128到192.168.50.164分配给站点。对于其他静态IP地址,请在该池外使用一个IP地址,也请使用网桥本身的IP地址。


♦优化
启动wpa_supplicant时,您通常会在日志中看到以下消息:
wpa_supplicant[427]: random: Cannot read from /dev/random: Resource temporarily unavailable
wpa_supplicant[427]: random: Only 12/20 bytes of strong random data available from /dev/random
wpa_supplicant[427]: random: Not enough entropy pool available for secure operations
wpa_supplicant[427]: WPA: Not enough entropy in random pool for secure operations - update keys later when the first station connects

这不是一个大问题。 wpa_supplicant需要随机数才能生成加密密钥。这个过程有点慢,所以必须等待。幸运的是,RasPi内置了True Random Number Generator(TRNG)。我们可以使用它并通过安装软件(3)来加快获取随机数的速度:
rpi ~$ sudo apt install rng-tools

更新:
由于Raspbian Stretch 2019-04-08起,无需安装dnsmasq。它们默认安装。


♦故障排除
systemd-networkd
查看服务状态:
rpi ~$ systemctl status systemd-networkd.service
rpi ~$ systemctl status wpa_supplicant@wlan0.service

还有一点:
rpi ~$ journalctl --boot --pager-end

我发现遵循正在进行的日志记录很有帮助:
rpi ~$ journalctl --boot --follow

如果放置了文件,则可以查看结果:
rpi ~$ systemctl cat wpa_supplicant@wlan0.service

要检查单元的运行时环境,可以显示它,例如查看是否有两条rng-tools行:
rpi ~$ systemctl show wpa_supplicant@wlan0.service

如果没有其他帮助,则可以从以下位置启用调试选项: ExecStart=/sbin/wpa_supplicant在一个文件下拉列表中:
rpi ~$ sudo systemctl edit wpa_supplicant@wlan0.service
ExecStart=
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -Dnl80211,wext -i%I -bbr0 -d

输出在日志中。这样,我发现了密钥协商错误的问题。
wifi
如果设置了接入点,则应该用手机找到它。显示可用的网络,它的名称为RPiNet,您可以连接到它。在RasPi上,您还可以使用以下命令:
rpi ~$ sudo iw dev wlan0 info
phy#0
        Interface wlan0
                ifindex 3
                wdev 0x2
                addr b8:27:eb:06:e8:8b
                ssid RPiNet
                type AP
                channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz

您可以看到它是AP(接入点)类型,它还可以显示它正在使用的通道。问题可能是将频道转换为频率。频率必须与频道匹配。您可以在(2)中查看WLAN通道列表。例如,要在5.1 GHz频带上使用信道36,必须在-d中设置frequency=5180。但您必须确保您的wifi支持5.1 GHz频段。您可以使用/etc/wpa_supplicant\wpa_supplicant.conf进行检查。这将为您提供大量信息。它还必须包含高于5000 MHz的支持频率。如果您只看到24xx MHz的频率,那么您当然只能使用它。
另一点可能是随机数。为了加密安全连接的密钥,wpa_supplicant需要随机数。在Raspberry Pi上生成该文件非常慢。如果没有足够的熵来生成加密密钥,则wpa_supplicant将拒绝身份验证。您可以使用sudo iw phy查看多少个熵。它应该> 1000才能足够快地工作。为了加快速度,默认情况下安装了cat /proc/sys/kernel/random/entropy_avail。请参阅“优化”一节以获取更多信息。
参考文献:
[1]如何通过动态故障转移从网络迁移到systemd-networked
[2] WLAN信道列表
[3] ] Rng-tools

评论


rpi〜#systemd-tmpfiles --create --prefix / var / log / journalroot使用此输出消息@pi失败:〜#systemd-tmpfiles --create --prefix / var / log / journal无法为'/设置文件属性var / log / journal',值= 0x00800000,掩码= 0x00800000:不支持操作无法为'/ var / log / journal / 6d18954849a74479955b761e891619aa'设置文件属性,值= 0x00800000,掩码= 0x00800000:不支持操作,因此日记帐无法已实施。实施程序不是一个好的开始。

– Jan Hus
18年8月18日在0:51



嗨@JanHus谢谢您的反馈。这仅是警告而不是错误,没关系。我也每次都得到它。持久日志已创建。使用ls / var / log / journal /查找。您将看到一个类似于fa9462093e8d419cb646d0a0c44771c2的目录。这是您使用journalctl访问的日记的存储。我将更新我的答案。

– Ingo
18年8月18日在6:59

是的,我确实检查了文件是否已创建。但是我被束缚了,停了下来。我今天继续。到目前为止,这是关于该主题的更好的“教程”之一。感谢您发布。 PS称之为持久性好吗?使用临时进程创建它时,几乎不会造成混淆。

– Jan Hus
18年8月18日在18:08

@Ingo我认为建议在AP配置中使用proto = WPA2。至少,我的电话抱怨没有它的“弱安全性”。

–罗宾·丁斯(Robin Dinse)
19 Mar 31 '19 at 0:21

@RobinDinse当然可以。我监督了。感谢您的提示。我添加了proto = RSN。这就是文档所希望的(将proto = WPA2命名为别名)。

– Ingo
19年3月31日在0:53

#2 楼

将Raspberry Pi设置为AP的一种更简便的方法是使用pi-ap Github repo,它将Pi 3B + / 4的配置自动配置到AP中。

将Pi连接到空闲端口

连接后,将SSH SSH到由路由器分配给eth0的DHCP分配的IP上的SSH中,然后:

git clone https://github.com/f1linux/pi-ap

cd pi-ap

nano variables.sh   # Change default values for SSID & password

sudo ./install.sh


喝茶,等待约2分钟后,您在variables.sh中设置的SSID将出现在无线网络列表中。连接到要发布的Pi的WLAN。

要在SSH的wlan0接口上直接SSH到AP本身,请使用默认IP 192.168.0.1

请注意:默认DHCP子网pi-ap用于在variables.sh中分配WiFi客户端IP是192.168.0.0/28。如果您已经在网络上使用该子网,请在执行variables.sh之前在install.sh中为WiFi客户端设置一个不同的子网。

不需要子网计算器,甚至不需要认真的网络技能就能获得良好的结果。 pi-ap甚至支持通过MAC ACL进行访问限制。

披露:我是pi-ap的开发人员。

#3 楼

━━━逐步检查检查点的安装情况━━━

该答案不适合安装。要获得稳定的设置,请查看其他答案。设置访问点。

此答案主要用于故障排除,并逐步显示详细命令和检查点如何使用它,但没有背景信息。我想您有一个连接到Raspberry Pi的显示器,键盘和鼠标。此检查中的ip地址和其他设置就是示例。您必须使用您的。您可以随时查看journalctl -b -e以获取记录的信息。

Download ZIP将Raspbian Stretch Lite 2018-11-13镜像到您的linux pc。

检查点1:将校验和与以下内容进行比较下载站点。

pc ~$ sha256sum 2018-11-13-raspbian-stretch-lite.zip


47ef1b2501d0e5002675a50b6868074e693f78829822eef64f3878487953234d 2018-11-13-raspbian-stretch-lite.zip

下一步:将图像刻录到随附的SD卡:

pc ~$ unzip -p 2018-11-13-raspbian-stretch-lite.zip | sudo dd of=/dev/sdb bs=4M conv=fsync


检查点2:检查SD卡上的分区:

pc ~$ sudo parted /dev/sdb print
Model: Mass Storage Device (scsi)
Disk /dev/sdb: 3965MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      4194kB  50,2MB  46,0MB  primary  fat32        lba
 2      50,3MB  1866MB  1816MB  primary  ext4


下一个步骤:安装启动分区并创建一个wpa_supplicant.conf文件:

pc ~$ mkdir boot/
pc ~$ sudo mount /dev/sdb1 boot/
pc ~$ sudo -e boot/wpa_supplicant.conf

# insert this into the empty editor with your settings, save it and quit the editor
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="RPiNet"
    mode=2
    key_mgmt=WPA-PSK
    psk="password"
    frequency=2412
}

pc ~$ sudo umount boot/


将SD卡放入RasPi并启动。

检查点3:登录后,检查有线连接。 eth0接口必须具有ip地址:

rpi ~$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.50.177/24 brd 192.168.50.255 scope global eth0
       valid_lft forever preferred_lft forever

rpi ~$ ping -I eth0 -c3 google.com
PING google.com (172.217.22.78) from 192.168.50.177 eth0: 56(84) bytes of data.
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=1 ttl=55 time=15.0 ms
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=2 ttl=55 time=14.7 ms
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=3 ttl=55 time=15.1 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 14.729/14.965/15.125/0.170 ms


这应该是开箱即用的。如果不起作用,则说明您的网络设置存在一般性问题。请先对其进行修复。

检查点4:检查访问点:

rpi ~$ sudo iw dev wlan0 info
Interface wlan0
        ifindex 3
        wdev 0x1
        addr b8:27:eb:06:e8:8b
        ssid RPiNet
        type AP
        wiphy 0
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 31.00 dBm


wlan0接口应具有ip地址。由于尚未配置接口,因此它将具有169.254.0.0/16中的本地链接地址。

rpi ~$ ip -4 addr show dev wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 169.254.210.182/16 brd 169.254.255.255 scope global wlan0
       valid_lft forever preferred_lft forever


您将在访问点列表中看到RPiNet

下一步:完全升级并重新启动:

rpi ~$ sudo apt update
rpi ~$ sudo apt full-upgrade
rpi ~$ sudo systemctl reboot


重新启动并登录后,切换到systemd-networkd:

rpi ~$ sudo -Es
rpi ~# mkdir -p /var/log/journal
rpi ~# systemd-tmpfiles --create --prefix /var/log/journal #ignore warnings (*)

rpi ~# apt install rng-tools
rpi ~# systemctl mask networking.service
rpi ~# systemctl mask dhcpcd.service
rpi ~# sudo mv /etc/network/interfaces /etc/network/interfaces~
rpi ~# sed -i '1i resolvconf=NO' /etc/resolvconf.conf

rpi ~# systemctl enable systemd-networkd.service
rpi ~# systemctl enable systemd-resolved.service
rpi ~# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf


(*)您将收到一两个令人困惑的警告“ ...无法设置文件属性...”,这不是错误,在这种情况下也没有关系。
<使用您的设置为接口eth0和wlan0创建以下文件:

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Address=192.168.50.60/24
Gateway=192.168.50.1
DNS=84.200.69.80 84.200.70.40
IPForward=yes
EOF

rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 84.200.70.40
EOF


检查点5:重新启动并登录后检查有线连接eth0:

rpi ~# mv /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
rpi ~# systemctl disable wpa_supplicant@wlan0.service
rpi ~# systemctl reboot


检查点6:检查wifi连接wlan0:

rpi ~$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.50.60/24 brd 192.168.50.255 scope global eth0
       valid_lft forever preferred_lft forever

rpi ~$ ping -I eth0 -c3 google.com
PING google.com (172.217.10.14) from 192.168.50.60 eth0: 56(84) bytes of data.
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=1 ttl=51 time=93.5 ms
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=2 ttl=51 time=93.5 ms
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=3 ttl=51 time=93.5 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 93.519/93.551/93.592/0.030 ms


检查手机上的wifi。您应该找到RPiNet并可以连接到它。您的手机无法进入互联网,因为尚未配置路由。

下一步:启用NAT进行互联网连接。要配置NAT,您必须使用以下方法扩展wpa_supplicant服务:

rpi ~$ sudo systemctl start wpa_supplicant@wlan0.service
rpi ~$ sudo iw dev wlan0 info
Interface wlan0
        ifindex 3
        wdev 0x1
        addr b8:27:eb:06:e8:8b
        ssid RPiNet
        type AP
        wiphy 0
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 31.00 dBm

rpi ~$ ip -4 addr show dev wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.4.1/24 brd 192.168.4.255 scope global wlan0
       valid_lft forever preferred_lft forever


在空的编辑器中插入以下语句,保存并退出编辑器:

rpi ~$ sudo systemctl edit wpa_supplicant@wlan0.service


然后执行:

[Service]
ExecStartPre=/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ExecStopPost=-/sbin/iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE


检查点7:现在您应该可以使用手机上网。 br />

评论


@Wim您在一个已删除的答案中问:“如何使用新的Raspbian版本“克星”来完成此任务?”如果要设置访问点,此答案“━━━逐步检查要点━━━━”是不正确的。为此,您应在此侧使用其他答案“━━━设置接入点━━━━”。它也可以与Raspbian Buster一起使用。我已经验证了。

– Ingo
19年7月20日在11:28