eno1 上没有 IP 地址

eno1 上没有 IP 地址

我很遗憾地说,虽然有很多关于没有 IP 地址的问题,但我似乎无法找到针对我的具体情况的解决方案。我希望通过一些技术细节,有人可以指出这个 Windows 人员哪里出了问题。

问题:新以太网 PCI-x 卡上没有 IP 地址。背景:运行 docker 容器和 samba 的家庭开发服务器。最初是使用无线安装菜单进行设置的,该菜单工作正常,直到我尝试更换为 TP-LINK TG-3468 千兆位 PIC Express 卡。

操作系统:Ubuntu 16.04.3 LTS

$ifconfig eno1
br-1...
br-8...
docker0...
lo...

注意到我没有看到新网卡的 eno1,但看到了一些 docker 创建的接口

$ifconfig eno1
eno1   Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
       BROADCAST MULTICAST MTU:1500 Metric:1
       RX packets:0 errors:0 dropped:0 overruns:0 frame:0
       TX packets:0 errors:0 dropped:0 everruns:0 carrier:0
       RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
       Interrupt:20 Memory:f7f00000-f7f20000

内容/etc/network/interfaces

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet dhcp

我相信我的路由有问题,尽管我无法弄清楚如何设置路由到我的网关的内容

$route
Destination     Gateway     Genmask      Flags  Metric   Ref   Use   Iface
172.17.0.0      *           255.255.0.0  U      0        0       0   docker0
172.18.0.0      *           255.255.0.0  U      0        0       0   br-8...
172.19.0.0      *           255.255.0.0  U      0        0       0   br-1...

尝试设置到路由器的路由:

sudo route add default gw 192.168.1.254

结果是SIOCADDRT: Network is unreachable

我还尝试过将接口文件设置为尝试从路由器获取静态 IP,但这也没有任何改善。我从来没有获得过IP,也永远无法获得。

编辑1:结果ip route get 192.168.1.254

RTNETLINK answers: Network is unreachable

编辑2:尝试通过以下方式手动配置静态IP:

sudo /sbin/ifconfig eth0 192.168.1.91 netmask 255.255.255.0 broadcast 192.168.1.255

之后仍然无法 ping 通路由器。

更多信息:

$sudo lshw -numeric -C network
*-network
  description Ethernet interface
  product: 82579V Gigabit Network Connection [8086:1503]
  vendor: Intel Corporation [8086]
  physical id: 19
  bus info: pci@0000:00:19.0
  logical name: eno1
  version: 04
  serial: XX:XX:XX:XX:XX:XX
  capacity: 1Gbit/s
  width: 32 bits
  clock: 33MHz
  capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
  configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.13-4 ip=192.168.1.91 latency=0 link=no multicast=yes port=twisted pair
  resources: irq:33 memory:f7f00000-f7f1ffff memoroy:f7f39000-f7f39fff ioport:f080(size=32)

编辑3:

$ip link show eno1
3: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff

XX 是我的 MAC 地址。

@EricF,brctl 未安装并且bridge link show不返回任何内容。我的理解是,这些接口是由 docker 创建的,以允许流量进入我当前已关闭的容器。如果这些容器被启动,那么相同的bridge link show命令会返回我最初未列出的接口列表。我对此的评估是 eno1 没有使用网桥,而 docker 接口则使用网桥。

答案1

问题(或问题之一,考虑到 ErikF 关于桥接的评论)是您的接口未连接:

3: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP>

NO-CARRIER缺失标志LOWER_UP(“下层已启动”,意思是链路层,以太网)告诉我们 NIC 无法发送或接收数据,仅仅是因为它似乎没有连接到任何东西(物理上)。也许电缆的一侧未插入或开关已关闭...

路由配置

您只能将 IP 地址配置为链路本地网关,即您的接口之一必须在其网络中具有此 IP(IP 地址和网络掩码)。

通常这意味着您可以 ping 网关而无需配置任何路由。

您还可以使用命令

ip route get 192.168.1.254

查看如何处理此类数据包。结果必须是一条192.168.1.254 dev线,而不是一条192.168.1.254 via线。

相关内容