Ubuntu18.04でNICを認識しないときの対応

# はじめに

急にネットワーク接続しなくなった！リモートでアクセスできない！なぜ！？
となったときの対応メモです。

大まかに、以下の3つのことを行ってます。意味ないことをしているかもしれません。

- ドライババージョンの更新
- LINK StateがDOWNになっていたのでUPにする
- Network Manager設定を変更して再起動

## 現象

LANコネクタのLEDがついていない。ネットワークが表示されない。

```bash
$ lspci | grep 'Ethernet\|Network'
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connectio$
```

"Intel Corporation 82579V Gigabit Network Connectio"というデバイスがPCIには認識されている。

```bash
$ dmesg | grep -i e1000e
[    1.486635] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    1.486636] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.486838] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to$
[    1.594672] e1000e 0000:00:19.0 0000:00:19.0 (uninitialized): registered PHC$
[    1.700190] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 50:46:5$
[    1.700192] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    1.700233] e1000e 0000:00:19.0 eth0: MAC: 10, PHY: 11, PBA No: FFFFFF-0FF
[    1.705892] e1000e 0000:00:19.0 eno1: renamed from eth0
```

## ドライババージョンの更新

Driver Versionが古い可能性あり？
下記サイトを参照して対応したが、これだけではうまくいかなかった。
- [Ubuntu 18.04 で NIC（有線）が認識しない](https://qiita.com/matsuo7005/items/b0037b6450d752378316)
- [Ubuntu20.04.2でオンボードのEthernetコントローラのドライバーがコンパイルエラー](https://forums.ubuntulinux.jp/viewtopic.php?id=21208)
- [Ubuntu18.04のネットワークイーサネットの名前を変更する方法](https://codechacha.com/ja/how-to-rename-network-ethernet-interface-in-linux/) <- あまり意味がなかった

## LINK StateをDOWN→UPに変更

```bash
$ ip addr show
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
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 10$
    link/ether [MAC] brd ff:ff:ff:ff:ff:ff
```
eno1という名前で設定されているが、IPアドレスなどは表示されていない。**state DOWN** となっているため、**state UP**にしてみる。

```bash
$ sudo ip link set eno1 up
```

```bash
$ ip addr show
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
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 10$
    link/ether [MAC] brd ff:ff:ff:ff:ff:ff
```
-> EtherのLEDが点滅し始めた！

## Network Manager設定を変更して再起動

結果的にこれで解決。
NetworkManager.conf  のmanaged=falseになっているので、trueに変更。
```bash
$ sudo nano /etc/NetworkManager/NetworkManager.conf 
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true # ここを変更

[device]
wifi.scan-rand-mac-address=no
```

```bash
$ sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
```

Network Managerを再起動。

```bash
$ sudo service network-manager restart
```

ネットワーク接続された。

```bash
$ ip a
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
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 10$
    link/ether [MAC] brd ff:ff:ff:ff:ff:ff
    inet XX.XX.XX.XX/XX brd XX.XX.XX.XX scope global dynamic noprefixroute eno1
       valid_lft 86394sec preferred_lft 86394sec
    inet6 fe80::4d24:cb23:4e2f:de00/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
```

## 最後に

何がきっかけでネットワークに接続できなくなったのか、わからないのが怖いです。