通过以太网电缆可靠地连接两台机器的简单方法?

r0b*_*rts 5 linux networking dhcp

我想通过以太网电缆可靠地连接 2 台机器。一台机器称为主动(我的笔记本电脑),另一台机器称为被动(未连接互联网,只是坐下来从其调查界面收集数据)。我认为可能有效的方法是:

  1. 设置我的笔记本电脑以通过 DHCP 向其他人提供 IP 地址 ( dnsmasq?)
  2. 被动机器是一个简单的 linux 安装 - 默认情况下,它们已准备好通过以太网连接并通过 DHCP 获取地址
  3. 我将笔记本电脑带到我需要从中收集数据的机器上,然后插入以太网电缆将两者连接起来。DHCP 服务器设置为仅提供一个地址,因此我始终可以通过主动机器的相同地址访问被动机器。

根据网卡是否可以检测交叉,我使用交叉电缆或正常。

我正在考虑这样一种情况:笔记本电脑很容易重新配置,但无源机器可能很多(但一次只能连接一个),并且可能不会使用相同的 IP 配置它们。然后为他们提供 DHCP 地址可能是一个“正常工作”的解决方案,可以避免依赖静态配置的某个 IP。

您能否向我提供有关这是否有效的提示/警告?

sou*_*edi 3

你提到a)其他人参与,b)简单的linux安装。我会给出以下提示:注意安装 avahi-daemon 的软件包。

还设置一个描述性主机名。使用 MDNS,您无需保证主机名是唯一的。事实上,MDNS 规范表示,您“不应该”通过附加随机数或MAC 地址等ID来使其唯一;您应该这样做。这被认为是无缘无故地推迟用户。 sensor5不过是合理的。该协议通过将序列号(带有破折号)附加到 MDNS 主机名来自动解决冲突。

或者,如果您要使用 Samba 下载数据文件,则可以检查使用 NMBD(TCP 上的 netbios)的旧版 IPv4 发现是否正常运行。系统应该显示在smbtree -N. NMB 不倾向于解决命名冲突。自动生成主机名的人们倾向于附加 MAC 地址的最后几个字符,以避免这个问题。

启用 MDNS (avahi-daemon) 等发现协议的优点是,它提供了一种可靠的方法来发现 IP 地址,即使有人静态配置它也是如此。

  1. 为简单起见,请禁用笔记本电脑上的其他(无线)网络连接。
  2. tcpdump -n/wireshark/tshark。即监听所有接口。如果您在特定接口上监听,当 NetworkManager 发现电缆已拔出时,它可能会停止/拒绝运行。
  3. 将笔记本电脑插入设备。
  4. 如果设备没有响应(软件不响应链路更改),只需重新启动设备即可。

步骤 2 还将显示设备何时配置为 DHCP 客户端。(然后您可以启动 DHCP 服务器)。数据包捕获还将确认 IP 地址分配。

或者,可以将设备插入网络(大概提供 DHCP 服务器,至少对您的笔记本电脑有利)。如果您连接到同一网络,并且它是未启用多播过滤的基本网络交换机,或者您正在运行特定的发现协议,则发现协议和地址将在数据包捕获中可见。我相信任何当前的消费者以太网交换机都可以工作(包括消费者路由器内置的有线以太网交换机)。

如果某些设备需要连接到网络,您应该附加一个带有其主机名的标签。(如果它有静态IP,这也肯定要被标记)。

这对于不同的发现协议来说是不是很好?消费者网络设备将始终运行某种发现协议,因此许多“高级用户”都知道(或可以使用 Google 发现)该技术。但是,如果您从最小的嵌入式 Linux 安装开始,则默认情况下可能不会启用任何发现协议。

其他最重要的发现协议是 LLMNR(Windows、systemd-resolved)、LLDP(企业路由器、IP 电话等)和用于 UPnP 设备(包括消费者路由器)的 SSDP。这就是标准的伟大之处......