我正在尝试在 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
在您的问题中)。ethernets
wifis
在假设该错误之前,请先尝试上述操作。我读过的许多报告都很旧,并且错误可能已被修复。