Ubuntu Core wifi 配置问题

Ubuntu Core wifi 配置问题

每次重新启动 Raspberry Pi 时,我的静态 IP 地址设置都会被清除。

我刚刚安装Ubuntu 核心在 Raspberry Pi 3 上,但我一直在努力建立一个 wifi 静态 IP 地址。

以下是我经历的步骤:

  1. 登录 Pi 后,我执行了须藤经典
  2. 已执行sudo nano /etc/network/interfaces并增加了以下内容:

    源目录 /etc/network/interfaces.d

    auto wlan0
    iface wlan0 inet static
      address 192.168.0.30
      broadcast 192.168.0.255
      netmask 255.255.255.0
      gateway 192.168.0.1
    
  3. 保存文件并执行sudo ifup wlan0

  4. 此时当我执行是否配置,IP 地址和其他设置在wlan0. 挥拳庆祝。

  5. 我执行出口返回折断然后我执行sudo 重启重新启动 Pi。我还立即将以太网电缆从 Pi 远程断开,以便 Wi-Fi 可以满足互联网需求。

我的问题就是从这里开始的。

我检查了我的路由器的 IP 地址列表,但其中没有包含我的静态 IP。

我重新登录我的 Pi 并执行是否配置再次设置 IP 地址和其他设置wlan0已不复存在。

wifi ID 和密码包含在/etc/wpa_supplicant/wpa_supplicant.conf文件及其内容如下:

network={
        ssid="SKY8317B"
        psk="TRUMBOX"
        key_mgmt=WPA-PSK
}

我将非常感激大家能帮助我解决这个静态 IP 地址无法持久的问题。

更新#1:以下是基于@chili555 非常有用的输入的详细调试输出

sudo ifdown wlan0 && sudo ifup -v wlan0

ifdown: interface wlan0 not configured
Reading directory /etc/network/interfaces.d
Configuring interface wlan0=wlan0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/bridge
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
wpa_supplicant: wpa-driver nl80211,wext (default)
wpa_supplicant: /sbin/wpa_supplicant -s -B -P /run/wpa_supplicant.wlan0.pid -i wlan0 -D nl80211,wext -C /run/wpa_supplicant
Starting /sbin/wpa_supplicant...
wpa_supplicant: creating sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
wpa_supplicant: ctrl_interface socket located at /run/wpa_supplicant/wlan0
wpa_supplicant: configuring network block -- 0
wpa_supplicant: wpa-ssid "SKY8317B" -- OK
wpa_supplicant: wpa-psk ***** -- OK
wpa_supplicant: enabling network block 0 -- OK
/bin/ip addr add 192.168.0.30/255.255.255.0 broadcast 192.168.0.255       dev wlan0 label wlan0
/bin/ip link set dev wlan0   up
 /bin/ip route add default via 192.168.0.1  dev wlan0 onlink
/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/000resolvconf
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/ubuntu-fan
run-parts: executing /etc/network/if-up.d/upstart
run-parts: executing /etc/network/if-up.d/wpasupplicant

更新#2:

执行结果=> lsb_release -d:

Description:    Ubuntu 16.04.4 LTS

执行结果=> cat /etc/netplan/*:

network:
    version: 2
    ethernets:
        all-en:
            match:
                name: "en*"
            dhcp4: true
        all-eth:
            match:
                name: "eth*"
            dhcp4: true

更新#3:

我在互联网上看到一篇文章,上面说手动更新/ETC目录不会保留。我当时选择不相信,但我刚刚发现sudo console-conf命令似乎是内置的解决方案。

使用该命令,您可以提供 wifi SSID 和密码。重置 Pi 并重新登录表明我提供的设置仍然有效。

另一个需要提供的设置是静态 IPv4 数据,但我不知道如何设置该信息,即CIDR 格式的子网。下面是我尝试设置的屏幕截图:

在此处输入图片描述

答案1

您没有指定要连接的 SSID(通常是路由器),您没有提供 WPA2 密码,您没有提供 DNS 名称服务器,最后,广播声明是不必要的。我建议您将文件修改为:

source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopbak

auto wlan0
iface wlan0 inet static
address 192.168.0.30
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1 8.8.8.8
wpa-ssid <your_router>
wpa-psk <ypur_secret_key>

重启界面:

sudo ifdown wlan0 && sudo ifup -v wlan0

查看:

ping -c3 www.ubuntu.com

一切已准备就绪。

答案2

花了很长时间才弄清楚。

我只能猜测Ubuntu 核心与 Ubuntu 和 Raspbian 以前的版本不同。否则编辑/etc/网络/接口文件应该可以起作用,就像我在原始帖子中所做的那样。

我要衷心感谢辣椒555感谢他为帮助我解决这个问题所做的一切努力。

解决方案:

Ubuntu Core 运行 SNAP 包管理器。我认为 SNAP 负责sudo console-conf命令。执行后,您应该看到类似以下内容:

在此处输入图片描述

在突出显示的“确定”按钮上按下回车键,您将可以访问网络连接区域:

在此处输入图片描述 在这一领域,正如在所有其他领域一样控制台配置,您可以使用箭头键导航到感兴趣的部分。 wlan0(无线卡 #1)是我感兴趣的,因此我在屏幕截图中将其突出显示。然后,我按 Enter。

在此处输入图片描述

注意配置 WIFI 设置菜单。当您在突出显示该菜单的情况下按下 Enter 键时,出现的界面就是您设置 wifi SSID 和密码的地方。

同样适用于我尝试设置静态 IP 地址。只需按一次向下箭头即可进入使用静态 IPv4 配置并按回车键提供您想要使您的 Pi wifi 可访问的 IP 详细信息。

子网掩码给我带来了很多麻烦。我不是网络工程师,我以为它应该是255.255.255.0/??但菜单显示错误消息。以下是有效的数据(我猜对了正确的子网掩码):

在此处输入图片描述

我希望人们发现这节省了时间并且很有帮助。

相关内容