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を取得することはなく、取得することもできません。
編集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インターフェイスは使用しています。
問題(またはブリッジングに関する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
行である必要があります。