「NetworkManager」サービスを無効にして削除した後、CentOS 7の「ネットワーク」サービスを開始できません。ネットワークサービスのステータスを確認すると、次のエラーが表示されます。
#systemctl status network.service
network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network)
Active: failed (Result: exit-code) since Fri 2015-01-16 22:30:46 GMT; 38s ago
Process: 4857 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1
Jan 16 22:30:46 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking.
Jan 16 22:30:46 localhost.localdomain systemd[1]: Unit network.service entered failed state.
以前のCenOSでは、「NetworkManager」サービスからネットワークサービスに切り替えるときに問題が発生するようには見えませんでした。問題の原因と修正方法に関するアイデアはありますか?
注:yum eraseを使用してネットワーク管理サービスを削除しました。
尋ねられた追加情報は次のとおりです。
/etc/sysconfig/network-script/ifcfg-enp8s0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=enp8s0
UUID=453a07fe-1b07-4f29-bc32-f2168e50706a
ONBOOT=yes
HWADDR=XXXXXXXXXXX
MACADDR=XXXXXXXXXX
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
/etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
/etc/resolv.conf
; generated by /usr/sbin/dhclient-script
search customer.marples.midcity.lan
nameserver 10.241.128.1
Centos7.0では、NetworkManagerを無効にすると、NetworkManager用に構成されたdhcpクライアントが実行されたままになります。これにより、エラーメッセージRTNETLINK answers: File exists
network
サービスが開始されたとき。
古いdhclient
プロセスには、リースが期限切れになるとdhclient
が詰まるという追加の「利点」があります。これは、NetWorkManagerに到達できず、IPアドレスが削除されるためです。
grep
を指定すると、NetWorkManager構成ファイルを指していることがわかります。
[root@Host ~]# ps -ef | grep dhc
root 1865 792 0 Apr28 ? 00:00:00 /sbin/dhclient -d -sf \
/usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eno1.pid -lf\
/var/lib/NetworkManager/dhclient-c96e56d3-a4c9-4a87-85ca-93dc0ca268f2-eno1.lease\
-cf /var/lib/NetworkManager/dhclient-eno1.conf eno1
したがって、dhclient
を強制終了してから、ネットワークサービスを開始するだけです。
IPの競合もこのエラーの原因になります。試してください:systemctl stop network
、次にifup eth0
。
DNSからIPを取得できないと、このエラーが発生します。実際、ネットワークに関するエラーが原因でこのエラーが発生するようです。これはCentOS 7の問題のようで、ここでは非常に悪いエラーが発生します。
これは、ネットワークに接続されていないインターフェイスを手動で構成した場合にも発生するようです。
すでに特定されているため、このエラーはネットワークのセットアップ中に問題が発生します:IPの競合、ルーティングの問題など。
ゲートウェイの設定を見て、ゲートウェイが正しく設定されていることを確認します。/etc/syscofig/network
と/etc/sysconfig/network-scripts/ifcfg-*
のそれぞれが重複するIPを探す必要があること、メモリが/etc/sysconfig/network-scripts/route-*
を介して設定されたルート正しいゲートウェイがifcfg-*
とroute-*
の両方のファイルで設定できるようになりました。重複や重複がないことを確認してください。
私も、CentOS 7.2のクローン仮想マシンでこれに直面しました。これは私がそれを修正した方法です。
systemctl disable NetworkManager
systemctl enable network
コマンド/sbin/ifconfig -a
を介してインターフェースのMACアドレスを見つけ、/etc/sysconfig/network-scripts/ifcfg-<interface_name>
に追加します。最初のインターフェースには以下のコマンドを使用できます。
nic_file=`ls /etc/sysconfig/network-scripts/ifcfg-e*`
ifconfig -a | grep ether | awk '{ print $2 }' | sed 's/.*/HWADDR=&/' >> ${nic_file}
次にreboot
を起動してサーバーを再起動します
私も同様の問題に遭遇しました。構成ファイルを変更するには(ifcfg-ensxxxx)、次のように ここに画像の説明を入力
NM_CONTROLLED=no
、これは、このインターフェースがNetwork Managerサービスによって管理されるのではなく、この構成ファイルを使用してセットアップされることを示します。Network.serviceをクラッシュさせる可能性のある他のインターフェースがないかどうか、ネットワークスクリプトを調べます。
ifconfigを実行し、インターフェースを書き留めます。ネットワークスクリプト内のファイルと比較してください。 ifconfigのインターフェースよりもネットワークスクリプトに多くのファイルがある場合は、不要な追加ファイルを削除してから、systemctl restart networkを実行できます。
仮想サーバーのクローンを作成した後にこのエラーが発生した場合、クローンには新しいハードウェアアドレス(MAC)が与えられ、ネットワークアダプター構成には古いアドレスがまだ残っています。
行は次のようになります。HWADDR= 00:00:00:00:00:00
私はこの問題に遭遇しました、そこでサーバーは私に与え続けますRTNETLINK answers: File exists
ネットワークマネージャーを削除した後でも、すべてのネットワーク構成をトリプルチェックします。
IPが別のサーバーで稼働しており、サーバーがICMPをフィルタリングしている(pingがないため)ようです。 IPが稼働しているかどうかをテストするためにpingに依存しないでください!
起動時に、ネットワークスクリプトはこのコマンドを発行します(devとipを変更します)
/sbin/arping -c 2 -w 3 -D -I eth0 10.196.132.206
これは、MACアドレスがこのIPに関連付けられていることを示し、ネットワークスクリプト(ifup
またはsystemctl start network
)