正如标题所述,我有一个运行 Ubuntu 20.04 的系统,带有两个 NIC。一个 NIC(ens9)连接到摄像头(通过交换机),另一个(ens4)连接到 LiDAR。我只在其中一个端口(ens9)上运行 DHCP 服务器,并且运行正常。我的问题是,只有一个端口在给定时间内可以工作。最合适的是先连接的端口。
以下是我从文件中获取的接口配置/etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
ens9:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
mtu: 9000
ens4:
dhcp4: no
addresses: [192.168.1.101/24]
nameservers:
addresses: [8.8.8.8,8.8.4.4]
mtu: 9000
我不确定我做错了什么。任何帮助我都非常感谢。
答案1
您描述的地址设置很可能不正确。由于您有 2 个接口,因此至少有两种使用场景。请发布您正在使用的那个。
A)同一网络
两个接口都连接到同一个物理网络,例如连接到单个交换机或跨多个交换机,并且可以“看到”彼此。在这种情况下,第二个具有不同地址的接口是不必要的,并且会导致复杂化。两个接口只有在您将它们组合在一起以获得更高的速度或冗余性(以防其中一个发生故障)时才有意义。
B)两个独立的网络
这两个接口连接到不同的网段,一个接口的数据包无法以任何方式到达另一个接口。在这种情况下,您的 IP 地址完全错误。每个接口必须具有来自不同网络的地址。您不能将同一个网络 192.168.1.0/24 用于连接到同一台机器(设备)上的两个不同网段的两个不同接口。系统会感到困惑,不知道是通过 ens9 还是 ens4 将数据包路由到 192.168.1.0/24 网络。
解决方案
地址:
我假设 LiDAR 的网络是一个独立的部分,仅用于 PC 和 LiDAR 之间的连接。这意味着场景B)适用。那么解决方案很简单。使用另一个网络并按如下方式设置地址:
- ens9:192.168.1.100/24
- ens4:192.168.2.100/24
- LiDAR:192.168.2.5/24(或使用 1 到 254 之间的任何其他数字,但不要使用最后一个八位字节 .5,而要使用 100,因为地址 100 将位于 ens4 接口上)。
网关:
正确的是,您只有一个 ens9 接口上的默认网关。
名称服务器:
确保从 ens4 中删除名称服务器定义。