运行 Raspbian Jessie 的 Raspberry Pi 3 通过直接以太网连接连接到外部硬件。
为了连接两个设备,我相信 RasPi 需要 eth0 上的静态 IP 地址。我已经知道外部硬件的地址:192.168.1.158。
当我编辑 /etc/dhcpcd.conf 文件以包含以下内容时:
interface eth0
static ip_address = 192.168.1.100/24
static routers = 192.168.1.1
static domain_name_servers = 192.168.1.1
/etc/network/interfaces 有其默认设置:
iface eth0 inet manual
重新启动并运行 sudo ifconfig 后,我仍然得到一个错误的 eth0 IP 地址 169.xxx.xxx.xx。
有什么建议吗?我之前尝试编辑 /etc/network/interfaces 文件,以便 iface eth0 inet manual 改为 iface eth0 inet static,然后从那里设置地址。运行 sudo ifconfig 时,我尝试了正确的 IP 地址,但仍然无法正确 ping 设备。
答案1
您说得对,您需要编辑该/etc/network/interfaces
文件。对于基本的静态 IP 配置,您需要以下内容:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4
修改文件后,您就可以ifdown eth0
应用ifup eth0
静态 IP 地址了。通过检查 进行验证ifconfig eth0
。
如果您获得了正确的 IP 地址但仍然无法 ping 设备,那么您将需要确认您尝试 ping 的服务器是否接受 ICMP 回显请求。