我正在尝试配置嵌入式设备的 IP 地址。该设备应该有一个静态 IP 地址,我尝试使用以下/etc/network/interfaces
文件来设置它:
iface eth0 inet static
address 192.168.255.212
netmask 255.255.255.0
gateway 192.168.255.1
我们的网络技术人员为我提供了这些值。我的系统是一个用 buildroot、uClibc 和 busybox 构建的最小嵌入式系统。使用此interfaces
文件,调用ifconfig eth0
显示上述设置已正确启用,但我无法 ping 网络上的任何内容。我的问题确实是这样的:上面的interfaces
文件足以设置静态IP还是有更必要的东西?从在线教程中,我看到很多提到/etc/hosts
和/etc/resolv.conf
文件。/etc/resolv.conf
我的系统上什至没有文件。我遇到了此处描述的其他问题无法让嵌入式设备对网络上的任何内容执行 ping 操作所以我单独问这个问题是为了验证我是否正确设置了静态IP地址并排除了错误的设置。
编辑的输出route
是
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.268.255.1 0.0.0.0 UG 0 0 0 eth0
192.18.255.0 * 255.255.255.0 U 0 0 0 eth0
但我什至无法 ping 通网关
答案1
/etc/resolv.conf
是 DNS 客户端配置的一部分(最简单的形式是 libc 的一部分),它告诉它在解析 DNS 查询时要询问哪些服务器。如果您可以在没有 DNS 的情况下生活,即对所有内容都使用 IP 地址,其中包括将这些地址硬编码到 中/etc/hosts
,那么您将不需要它。一旦您需要使用 DNS 解析主机名,您就会需要它。
要设置连接,您需要:
- 启动设备
- 为设备分配IP
- 配置路由 - 创建到网关的路由,通过网关添加默认路由。
答案2
/etc/resolv.conf 存储 DNS 服务器信息( nameserver )。即使您正确设置了静态地址,您的主机也可能无法被网络正确识别,因此来自您计算机的所有流量都将丢失(无法正确路由)。
上面的内容可能是一个大胆的猜测,但我会检查 resolv.conf 的手册页并向您的 IT 管理员询问 DNS 信息。