No IP Address on eno1

10,427

The problem (or one of the problems, considering ErikF's remark about bridging) is that your interface is not connected:

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

The NO-CARRIER and the missing flag LOWER_UP (for "lower layer is up" meaning the link layer, Ethernet) tell us that the NIC cannot send or receive data, simply because it seems not connected to anything (physically). Maybe the cable is not plugged in on one side or the switch ist powered off...

routing configuration

You can configure only such IP addresses as gateway which are link-local i.e. one of your interfaces must have this IP in its network (IP address and network mask).

Usually this means that you can ping the gateway without any routing being configured.

You can also use the command

ip route get 192.168.1.254

to see how such packets would be handled. The rusult must be a 192.168.1.254 dev line, not a 192.168.1.254 via line.

Share:
10,427

Related videos on Youtube

Daniel
Author by

Daniel

Experience in healthcare business intelligence but shifting focus to web development.

Updated on September 18, 2022

Comments

  • Daniel
    Daniel over 1 year

    I'm sad to say that although there are a ton of questions about no IP addresses, I can't seem to find a resolution to my specific scenario. I'm hoping that with a few technical details, someone can point this windows guy where he is going wrong.

    Problem: No IP address on new ethernet PCI-x card. Background: Home dev server running docker containers and samba. Was originally setup using the installation menu for wireless which was working fine until I tried to replace with TP-LINK TG-3468 Gigabit PIC Express card.

    OS: Ubuntu 16.04.3 LTS

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

    Noticing that I do not see eno1 for the new NIC but do see some of the docker created interfaces

    $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
    

    contents of /etc/network/interfaces:

    auto lo
    iface lo inet loopback
    
    auto eno1
    iface eno1 inet dhcp
    

    I believe there is a problem with my routing although I haven't been able to figure out how to set something that routes to my gateway

    $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...
    

    Tried to set a route to the router:

    sudo route add default gw 192.168.1.254
    

    results in SIOCADDRT: Network is unreachable

    I have also played with setting the interface file to a try and grab a static IP from my router, but that didn't improve anything either. I never get an IP and I am never able.

    Edit 1: Results of ip route get 192.168.1.254

    RTNETLINK answers: Network is unreachable
    

    Edit 2: Tried to manually configure a static ip via:

    sudo /sbin/ifconfig eth0 192.168.1.91 netmask 255.255.255.0 broadcast 192.168.1.255
    

    Still can't ping router after this.

    More info:

    $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)
    

    Edit 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
    

    With XX being my MAC address.

    @EricF, brctl is not installed and bridge link show returns nothing. My understanding is that those interfaces are created by docker to allow traffic into the containers that I currently have shut down. If those containers are fired up, then the same bridge link show command does return a listing of interfaces that I did not list originally. My assessment of this is that eno1 is not using the bridges and that the docker interfaces are.

    • Hauke Laging
      Hauke Laging over 6 years
      Add the output of ip link show eno1 to the question.
    • Daniel
      Daniel over 6 years
      @HaukeLaging Results added
    • Hauke Laging
      Hauke Laging over 6 years
      Not the one I asked for...
    • ErikF
      ErikF over 6 years
      It appears that you have bridge interfaces on your host. What interfaces are connected to each of those? brctl show or bridge link show would be helpful. If your Ethernet interface is attached to one of the bridges, then it won't have an IP address (the bridge interface will have it instead.)
    • Daniel
      Daniel over 6 years
      @HaukeLaging Late night and I got derailed by the Answer you posted instead of the comment. My apologies and I do appreciate the help
    • Hauke Laging
      Hauke Laging over 6 years
      I have edited my answer. You should consider using ip a instead of ifconfig.
    • Daniel
      Daniel over 6 years
      Interesting, I did just install the cable this week, but I thought I had successfully tested it with a separate machine. I will reconfirm
  • Daniel
    Daniel over 6 years
    Trying your suggestion of "ip a" instead of "ifconfig" showed another network interface, enp2s0 which was actually my real NIC that I was trying to enable. Once I had the right logical name, the rest was easily configured and now I have a network connection running through the correct card