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のコメントを考慮した問題の1つ)は、インターフェイスが接続されていないことです。
3: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP>
そして、NO-CARRIER
欠落しているフラグLOWER_UP
(「ローレイヤーアップ」、つまりリンク層、イーサネットを意味します)は、NICが(物理的に)何にも接続されていないように見えるため、NICがデータを送受信できないことを示します。ケーブルの片側が接続されていないか、スイッチがオフになっている可能性があります。
ルーティングの設定
IPアドレスはリンクローカルゲートウェイとしてのみ設定できます。つまり、インターフェイスの1つのネットワークにこのIP(IPアドレスとネットマスク)が必要です。
通常、これはパスを設定せずにゲートウェイをpingできます。
次のコマンドを使用することもできます。
ip route get 192.168.1.254
これらのパケットの処理方法を確認してください。結果は192.168.1.254 dev
線ではなく線で192.168.1.254 via
なければなりません。