Ubuntu 18.04.01 LTS 设置静态 IP 后 Wifi 出现问题

Ubuntu 18.04.01 LTS 设置静态 IP 后 Wifi 出现问题

我按照以下说明设置了静态 IPhttps://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/netplan-how-to-configure-static-ip-address-in-ubuntu-18-04-using-netplan.html

一开始是可以的,但是重启电脑后,WiFi 就不能用了,对应的信息如下:

networkctl 状态 -a

 1: lo
   Link File: /lib/systemd/network/99-default.link
Network File: n/a
        Type: loopback
       State: carrier (unmanaged)
     Address: 127.0.0.1
              ::1

● 2: enp2s0
   Link File: /lib/systemd/network/99-default.link
Network File: n/a
        Type: ether
       State: routable (unmanaged)
        Path: pci-0000:02:00.0
      Driver: r8169
      Vendor: Realtek Semiconductor Co., Ltd.
       Model: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
  HW Address: ... (ASUSTek COMPUTER INC.)
     Address: 10.5.150.56
              ...
     Gateway: 10.5.148.1 (Cisco Systems, Inc)

● 3: wlp3s0
   Link File: /lib/systemd/network/99-default.link
Network File: /run/systemd/network/10-netplan-wlp3s0.network
        Type: wlan
       State: off (configuring)
        Path: pci-0000:03:00.0
      Driver: rtl8723be
      Vendor: Realtek Semiconductor Co., Ltd.
       Model: RTL8723BE PCIe Wireless Network Adapter
  HW Address: 30:52:cb:ee:5c:c2 (Liteon Technology Corporation)
         DNS: 8.8.8.8
              8.8.4.4

/etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  wifis:
    wlp3s0:
    dhcp4: no
    addresses: [192.168.43.131/24]
    gateway4: 192.168.1.1
    nameservers:
    addresses: [8.8.8.8,8.8.4.4]
    access-points:
      F3-:
        password: ...

配置文件

enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.5.150.56  netmask 255.255.252.0  broadcast 10.5.151.255
    inet6 ...  prefixlen 64  scopeid 0x20<link>
    ether ...  txqueuelen 1000  (Ethernet)
    RX packets 13169  bytes 9405575 (9.4 MB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 7706  bytes 1033540 (1.0 MB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    inet6 ::1  prefixlen 128  scopeid 0x10<host>
    loop  txqueuelen 1000  (Local Loopback)
    RX packets 1251  bytes 164695 (164.6 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 1251  bytes 164695 (164.6 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp3s0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
    ether ...  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

那么,问题可能是什么?提前致谢...

答案1

我在使用 Netplan 为通过 networkd 呈现的 WiFi 接口分配静态 IP 地址时遇到了类似的问题。对我来说,主要因素是我设置了错误的密码。确保接入点存在,并且密码正确。在重新启动系统之前,我盲目地定义了一个不存在的接入点,并在通过 networkd 呈现时设置了一个静态 IP 地址,认为这无关紧要。重启后,WiFi 不再工作。

我不确定这是否是一个错误,但尝试为使用 NetworkManager 呈现的 WiFi 接口分配静态 IP 地址时,并没有将我的静态 IP 地址应用于我的接口,即使在 NetworkManager GUI 中查看和定义时也是如此(当前错误报告已创建)。我依靠使用 networkd 渲染的 netplan YAML 配置和适当的凭据来避免此问题。这按预期工作,但我的系统依靠 USB 加密狗作为备用网络接口进行直接以太网连接。应用我的 Netplan 设置后,我无法与以太网接口连接。默认情况下,NetworkManager 是 Ubuntu 18.04 桌面版的默认服务,它通常通过 GUI 管理网络接口。从我的 Netplan 配置中,我明确说明了 WiFi 接口的配置,但 networkd 在系统上检测到新接口时不会自动为其分配设置。我创建了一个改编自此 SO 的 YAML 配置邮政首先使用 NetworkManager 设置所有接口,然后指定我的 WiFi 接口以使用 networkd 进行渲染以进行静态地址分配:

network:
  version: 2
  renderer: NetworkManager
  wifis:
    renderer: networkd
    wlp1s0:
      addresses: [192.168.1.231/24]
      dhcp4: no
      dhcp6: no
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1]
      access-points:
        accesspointename:
          password: passwordgoeshere

重新启动后,我与静态 WiFi 接口建立了连接,并且以太网接口按预期运行。

如果您不想重新启动整个系统,并且/或者要连接的接入点与通过 NetworkManager 或 nmcli 连接的接入点不同,您可以运行以下命令以在应用 netplan 后重新启动服务:

sudo netplan apply; sudo systemctl daemon-reload; sudo systemctl stop NetworkManager; sudo systemctl restart systemd-networkd.service; sudo systemctl restart NetworkManager

答案2

首先,网关地址192.168.1.1和192.168.43.131/24不在同一子网,两者之一不正确。

其次,netplan 对格式、约定、缩进、间距等非常具体。您可以在此处查看示例:

cat /usr/share/doc/netplan.io/examples/wireless.yaml 

我建议您将 yaml 文件修改为:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp3s0:
      dhcp4: no
      addresses: [192.168.43.131/24]
      gateway4: 192.168.43.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      access-points:
        "F3-":
          password: "..."

注意:F3- 真的是您问题中的 yaml 文件所暗示的网络名称吗?还是 F3 或其他名称?请用上面的详细信息进行替换。

接下来,应用更改:

sudo netplan apply

有改善吗?

相关内容