web-dev-qa-db-ja.com

eno1にIPアドレスがありません

IPアドレスがないことについてはたくさんの質問がありますが、特定のシナリオに対する解決策が見つからないようです。いくつかの技術的な詳細があれば、誰かがこのウィンドウズの男に彼が間違っているところを指摘できることを願っています。

問題:新しいイーサネットPCI-xカードにIPアドレスがありません。背景:DockerコンテナとSambaを実行しているホーム開発サーバー。もともとはワイヤレスのインストールメニューを使用してセットアップされていましたが、TP-LINKTG-3468ギガビットPICExpressカードと交換するまでは正常に機能していました。

OS:Ubuntu 16.04.3 LTS

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

新しいNICの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を取得することはなく、取得することもできません。

編集1ip 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
Daniel

問題(またはブリッジングに関するErikFの発言を考慮すると、問題の1つ)は、インターフェイスが接続されていないことです。

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

NO-CARRIERと欠落しているフラグLOWER_UP(「下位層がアップ」の場合はリンク層、イーサネットを意味します)は、NICがデータを送受信できないことを示しています。単に何にも接続されていないように見えるからです(物理的に)。ケーブルが片側に接続されていないか、スイッチの電源がオフになっている可能性があります。

ルーティング構成

リンクローカルであるゲートウェイなどのIPアドレスのみを構成できます。つまり、インターフェースの1つがネットワークにこのIP(IPアドレスとネットワークマスク)を持っている必要があります。

通常、これは、ルーティングを構成せずにゲートウェイにpingを実行できることを意味します。

コマンドを使用することもできます

ip route get 192.168.1.254

そのようなパケットがどのように処理されるかを確認します。 rusultは、192.168.1.254 dev行ではなく、192.168.1.254 via行である必要があります。

1
Hauke Laging