netplan - 如何与 LAN 和 AP 建立桥接?

netplan - 如何与 LAN 和 AP 建立桥接?

我正在尝试在 AP 模式下设置一个由 LAN 接口和 WLAN 接口组成的桥接设备。通过LAN接口提供Internet;其他设备将连接到WLAN接口以连接到互联网。

我当前的网络规划设置,桥接器中没有 wifi 接口:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
      enp1s0:
          dhcp4: no
  bridges:
      br0:
          dhcp4: no
          interfaces:
              - enp1s0
          addresses:
            - 192.168.1.24/24
          routes:
            - to: default
              via: 192.168.1.1
          nameservers:
            addresses:
              - 192.168.1.1

  wifis:
    wlp2s0:
      dhcp4: no
      addresses: [192.168.2.1/24]
      access-points:
        "my-wifi-network":
           password: "secret"
           mode: ap

通过上述内容,此“my-wifi-network”网络的无线客户端将从 192.168.2.0/24 范围获取 IP,并能够访问互联网(由 192.168.1.1 提供,通过 enp1s0 LAN 接口连接)。

我希望无线客户端获得 192.168.1.x IP 地址,以便 192.168.1.x 中的所有设备都可以相互通信。

答案1

看起来您有点混淆了“路由器”和“网桥”的概念。

将其设置为路由器时,您可以为每个设备配置单独的网段(IP 地址块)并指定它们之间的路由。路由器关心的是OSI 模型的第 4 层。这就是你所做的。使用路由器时,两端的 IP 不能处于同一 IP 范围内。

当您将其设置为网桥时,无论 IP 地址如何,数据包都会从网桥的一侧传输到另一侧。它们实际上是通过 MAC 地址“路由”的。一座桥所关心的是OSI 模型的第 3 层

因此,在您的配置中,您根本不应该为 WIFI 分配 IP 地址,并在以太网和 WiFi 设备上关闭 DHCP。但是,您应该在桥接设备上启用 DHCP,因为这可以让您的计算机进行通信。

您也不需要指定任何路由、IP 地址或名称服务器。

所以理论上它应该看起来像这样:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
      enp1s0:
          dhcp4: no

  wifis:
    wlp2s0:
      dhcp4: no
      access-points:
        "my-wifi-network":
           password: "secret"
           mode: ap

  bridges:
      br0:
          dhcp4: yes
          interfaces:
              - enp1s0
              - wlp2s0

如果你想配置静态IP等。

如果您不想使用 DHCP 来配置服务器的 IP,请务必了解,一旦您设置了网桥,那么充当设备的就是网桥,而不是 wifi 或以太网。

因此,如果您想配置静态 IP、名称服务器等,请在网桥定义上进行,而不是在以太网或 WiFi 上进行。

这真的有效吗?

我没有测试过上面的配置。我在互联网上看到零星报告称 netplan 存在一个错误,无法在 wifi 上正常工作。解决方法似乎是在而不是列出以太网设备(wlp2s0在您的问题中)。ethernetswifis

在假设该错误之前,请先尝试上述操作。我读过的许多报告都很旧,并且错误可能已被修复。

相关内容