サーバーを14.04から16.04にアップグレードしました。 syslogで次のエラーを確認できます。
ifup[478]: Internet Systems Consortium DHCP Client 4.2.4
ifup[478]: Copyright 2004-2012 Internet Systems Consortium.
ifup[478]: All rights reserved.
ifup[478]: For info, please visit https://www.isc.org/software/dhcp/
ifup[478]: Usage: dhclient [-4|-6] [-SNTP1dvrx] [-nw] [-p <port>] [-D LL|LLT]
ifup[478]: [-s server-addr] [-cf config-file] [-lf lease-file]
ifup[478]: [-pf pid-file] [--no-pid] [-e VAR=val]
ifup[478]: [-sf script-file] [interface]
ifup[478]: Failed to bring up eth0.
systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start Raise network interfaces.
systemd[1]: networking.service: Unit entered failed state.
systemd[1]: networking.service: Failed with result 'exit-code'.
手動でやろうとすると同じエラーが発生します
# ifup --verbose eth0
Configuring interface eth0=eth0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/sbin/dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0
Usage: dhclient [-4|-6] [-SNTP1dvrx] [-nw] [-p <port>] [-D LL|LLT]
[-s server-addr] [-cf config-file] [-lf lease-file]
[-pf pid-file] [--no-pid] [-e VAR=val]
[-sf script-file] [interface]
Failed to bring up eth0.
8.8.8.8をpingできます。しかし、ドメイン名を解決することはできません。
ネットワーク接続を復元するにはどうすればよいですか?
Raspberry Piにサーバー16.04を新規インストールしたときに、これに遭遇しました。何らかの理由で、Network Managerがデフォルトでインストールされず、dist-upgradeを実行してから再起動した後、ネットワークがありませんでした。
このブログ の手順に従って、再び機能するようにしました。基本的に、eth0のマッピングが破損していました。通常、Network Managerはこれを自動的に修正できますが、それがなければ、自分で修正する必要があります。それを行うために、私は最初に走った:
Sudo networkctl
これは、lo、wlan0、enc238897s9879c3と呼ばれるもの(実際はeth0であるはずです)など、すべてのネットワークインターフェイスを示しました。
マッピングを修正するために、次を実行しました。
Sudo ip link set enc238897s9879c3 name eth0
Sudo systemctl restart networking
そしてそれはそれを修正しました。 ifconfig
を実行するとIPが表示され、ping google.com
を実行するとインターネットが表示されました。
私は同じ問題に遭遇しました。 @rosencreuzの答えは正しいですが、私はこの1つのコマンドに絞り込みました。
# apt install isc-dhcp-client
eth0
をインターフェイス名として使い続けたい場合は、/etc/default/grub
を追加する必要があります。
net.ifnames=0 biosdevname=0
内部GRUB_CMDLINE_LINUX=""
。このような:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 quiet"
次に、update-grub
を実行して再起動します。
アップグレードが何らかの形でネットワーク関連のパッケージを台無しにしたようです。私は問題の解決につながる以下を行いました。どちらが必要だったのかわかりません。
# apt install network-manager
# systemctl enable systemd-networkd
# systemctl enable systemd-resolved
# systemctl start systemd-networkd
# systemctl start systemd-resolved
# apt install isc-dhcp-client
# dpkg-reconfigure resolvconf