无法使用网络/接口设置静态 IP

无法使用网络/接口设置静态 IP

我正在开发 BeagleBone Green,并且我的 BBG 上有最新的 Linux 映像。对于网络部分,它工作得很好,直到我尝试在/etc/network/interfaces文件上设置静态 IP。这是我的接口文件中的内容。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.51
netmask 255.255.255.0
gateway 192.168.1.1

我的问题是:无论接口文件中的设置如何,我仍然能够连接到网络,因为我的 BBG 从 DHCP 获取了 IP 地址。当我尝试重新启动网络服务时,这就是我得到的结果。

Job for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journalctl -xe" for details.

以下是来自 的消息systemctl status networking.service

networking.service - Raise network interfaces
Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)

Active: failed (Result: exit-code) since Wed 2019-07-17 18:51:28 CST; 1min 1s ago
 Docs: man:interfaces(5)
Process: 2836 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
Process: 2831 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && ud
 Main PID: 2836 (code=exited, status=1/FAILURE)

Jul 17 18:51:28 BBG systemd[1]: Starting Raise network interfaces...
Jul 17 18:51:28 BBG ifup[2836]: RTNETLINK answers: File exists
Jul 17 18:51:28 BBG ifup[2836]: ifup: failed to bring up eth0
Jul 17 18:51:28 BBG systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Jul 17 18:51:28 BBG systemd[1]: Failed to start Raise network interfaces.
Jul 17 18:51:28 BBG systemd[1]: networking.service: Unit entered failed state.
Jul 17 18:51:28 BBG systemd[1]: networking.service: Failed with result 'exit-code'.

如果我手动关闭 eth0 sudo ifdown eth0,这就是我得到的结果。

ifdown: interface eth0 not configured

重启没有帮助。它仍然从 DHCP 获取 IP。知道这是怎么回事吗?谢谢你的时间。

为了回应 Panki 的评论,以下是 的结果ip a。在第 4 项中,192.160.1.106是来自 DHCP 的 IP 地址,并且192.168.1.51是我放入接口文件中的静态 IP。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
   valid_lft forever preferred_lft forever
2: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
link/can
3: can1: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
link/can
4: eth0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 98:5d:ad:37:8e:aa brd ff:ff:ff:ff:ff:ff
inet 192.168.1.106/24 brd 192.168.1.255 scope global eth0
   valid_lft forever preferred_lft forever
inet 192.168.1.51/24 brd 192.168.1.255 scope global secondary eth0
   valid_lft forever preferred_lft forever
inet6 fe80::9a5d:adff:fe37:8eaa/64 scope link
   valid_lft forever preferred_lft forever
5: usb0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 98:5d:ad:37:8e:ac brd ff:ff:ff:ff:ff:ff
6: usb1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 98:5d:ad:37:8e:af brd ff:ff:ff:ff:ff:ff
inet 192.168.6.2/30 brd 192.168.6.3 scope global usb1
   valid_lft forever preferred_lft forever

答案1

我想我以某种方式解决了这个问题,但我不认为我“解决”了这个问题,因为我没有改变我的 BBG 上的任何内容。我们的旧路由器 (WHR-1166D) 遇到了一些问题,并更换了路由器 (DIR-612)。一开始,连接不稳定(从用户的角度来看),因为我们可以访问某些网站,但不能访问其他网站。我们花了一段时间才弄清楚 DIR-612 只向接受 IPv6 的设备(现在几乎所有设备)颁发 IPv6 IP。更新固件后,DIR-612 中删除了 IPv6 功能,所有设备都从此路由器获取 IPv4 IP。然后,我的 BeagleBone 获得了我在接口文件中分配的 IP。

我真的不知道为什么不稳定的路由器(WHR-1166D)和发出 IPv6 IP 的路由器导致了我在这里问的问题。

相关内容