ไม่สามารถเริ่มบริการ“ เครือข่าย” CentOS 7


23

ฉันไม่สามารถเริ่มบริการ "เครือข่าย" CentOS 7 หลังจากปิดใช้งานและลบบริการ "NetworkManager" เมื่อฉันตรวจสอบสถานะบริการเครือข่ายจะมีข้อผิดพลาดดังต่อไปนี้:

#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

เนื่องจากฉันไม่สามารถโพสต์ความคิดเห็นได้เนื่องจากชื่อเสียงที่มีอยู่ในระดับต่ำของฉันฉันจึงโพสต์สิ่งนี้เป็นคำตอบซึ่งไม่ได้มีไว้เพื่อ <br/> <br/> คุณสามารถโพสต์ต่อไปนี้: <br/> <br/> /etc/sysconfig/network-script/ifcfg-eth0<br/> /etc/hosts<br/> /etc/resolv.conf<br/> <br/> คุณอาจต้องการที่จะตรวจสอบเส้นทางการกำหนดค่าของคุณสำหรับเฉพาะที่ NIC (พบใน/etc/sysconfig/network-scripts/route-<interface>) เนื่องจากอาจทำให้เกิดข้อผิดพลาดที่คล้ายกัน <br/> <br/> คุณลองifdown eth0และifup eth0แทนsystemctl (re)start network? คุณปิดใช้งาน / ถอนการติดตั้งNetwork Managerโดยใช้yum remove
Mosh Pit

สวัสดีขอขอบคุณสำหรับการช่วยเหลือเพิ่มเติม ฉันได้อัปเดตข้อมูลคำถามด้านบนแล้วลองดู ใช่ฉันใช้ yum erase เพื่อลบบริการ NetworkManager ฉันยังไม่ได้ทดลอง ifdown eth0 และ ifup eth0 การเชื่อมต่อเครือข่ายของฉันยังคงเปิดใช้งานอยู่แม้ว่าจะลบบริการ networkmanager และไม่สามารถเริ่มบริการเครือข่ายได้
Gazel

คุณมีHWADDR=XXXXXXXXXXX และ MACADDR=XXXXXXXXXXในการกำหนดค่าส่วนต่อประสานของคุณ สิ่งนี้ดูเหมือนจะผิดเนื่องจากดูเหมือนว่าตั้งใจจะเหมือนกัน ลองหนึ่งในสิ่งที่ฉันแนะนำ (แสดงความคิดเห็นในส่วนนี้ในการกำหนดค่าของคุณ) รีสตาร์ทและลองอีกครั้ง SELinux นี้ใช้ CentOS 7 box หรือไม่ คุณใช้ระบบนี้กับฮาร์ดแวร์หรือในสภาพแวดล้อมเสมือนจริงหรือไม่? hostsและresolv.confดูดีจนถึงขณะนี้
Mosh Pit

เดิมทีฉันปลอมแปลง MAC ใน GUI ของ NetworkManager ดังนั้นมันจึงเพิ่ม MACADDR ปลอมนอกเหนือไปจาก HWADDR จริงนั่นคือสาเหตุที่มี ฉันควรจะลบบรรทัด MACADDR หรือไม่ สถานะ SELinux เปิดใช้งานการอ่าน ฉันกำลังเรียกใช้บนฮาร์ดแวร์
Gazel

ลองแสดงความคิดเห็นHWADDRและ / หรือสิ่งที่MACADDRฉันคิดว่าการออกMACADDRควรจะเพียงพอ รีสตาร์ทกล่องทั้งหมดและดูว่าเครือข่ายกำลังมาอย่างถูกต้อง นอกจากนี้หากคุณไม่ได้ใช้IPv6ให้นำอึนั้นออกไป นอกจากนี้คุณยังสามารถตรวจสอบ HWADDR ของคุณโดยใช้cat /sys/class/net/ens192/addressเพื่อให้แน่ใจว่าการตั้งค่าถูกต้อง
Mosh Pit

คำตอบ:


30

ใน Centos7.0 ปิดการใช้งาน NetworkManager จะปล่อยให้ลูกค้า dhcp ทำงานที่กำหนดค่าสำหรับ NetworkManager นี่ทำให้ข้อความแสดงข้อผิดพลาด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แล้วเริ่มบริการเครือข่ายของคุณ


ใช่การฆ่า dhclient ได้แก้ไขปัญหาสำหรับฉันแล้ว ขอบคุณ
MichaelZ

6
ฉันยังไม่มีชื่อเสียงพอที่จะแสดงความคิดเห็น แต่ฉันต้องการสนับสนุนคำตอบของฮันส์และเพิ่มว่าฉันต้องเปลี่ยน bootproto เป็น "none" ในไฟล์ ifcfg ของฉัน dhclient ถูกเรียกเมื่อพยายามรีสตาร์ทเครือข่ายและการฆ่ากระบวนการ dhclient ไม่ได้ช่วยเพราะคนอื่นจะวางไข่ในที่ของมัน การแก้ไขไฟล์ ifcfg แก้ปัญหาของฉันได้
onlyanegg

5

ความขัดแย้งของ IP จะทำให้เกิดข้อผิดพลาดนี้เช่นกัน ลองดู: แล้วsystemctl stop networkifup eth0


1

ความล้มเหลวในการรับ IP จาก DNS จะให้ข้อผิดพลาดนี้ตามที่ฉันเพิ่งพบ ในความเป็นจริงดูเหมือนว่าข้อผิดพลาดใด ๆ กับระบบเครือข่ายจะทำให้เกิดข้อผิดพลาดนี้ สิ่งนี้ดูเหมือนจะเป็นปัญหากับ CentOS 7 ซึ่งทำให้เกิดข้อผิดพลาดที่ไม่ดีที่นี่


1

ตามที่ได้รับการระบุแล้ว - ข้อผิดพลาดนี้จะปรากฏขึ้นพร้อมกับปัญหาใด ๆ ในขณะที่การตั้งค่าเครือข่าย: ความขัดแย้งของ IP, ปัญหาการกำหนดเส้นทาง ฯลฯ

ดูที่การตั้งค่าเกตเวย์ของคุณเพื่อยืนยันเกตเวย์ของคุณจะถูกตั้งค่าอย่างถูกต้องและสิ่งที่เป็นสิ่งที่พวกเขาจะต้องมี/etc/syscofig/networkและแต่ละ/etc/sysconfig/network-scripts/ifcfg-*มองหา IP ซ้ำเส้นทางการตั้งค่าผ่านทาง/etc/sysconfig/network-scripts/route-*ถ้าหน่วยความจำทำหน้าที่ฉันเกตเวย์ในขณะนี้สามารถตั้งค่าได้ทั้งในifcfg-*และroute-*ไฟล์ ดังนั้นยืนยันว่าไม่มีการซ้ำซ้อนหรือทับซ้อนกัน


1

ดูเหมือนว่าจะเกิดขึ้นเช่นกันหากคุณกำหนดค่าอินเทอร์เฟซที่ไม่ได้เชื่อมต่อกับเครือข่ายด้วยตนเอง


1

ฉันต้องเผชิญกับสิ่งนี้ในวันนี้ด้วยเครื่องเสมือนจริงของ CentOS 7.2 นี่คือวิธีที่ฉันแก้ไขมัน

systemctl disable NetworkManager
systemctl enable network

ค้นหาที่อยู่ MAC ของอินเตอร์เฟซผ่านคำสั่งและผนวกว่าใน/sbin/ifconfig -a /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เพื่อรีสตาร์ทเซิร์ฟเวอร์


0

ตรวจสอบสคริปต์เครือข่ายว่าไม่มีอินเทอร์เฟซอื่นที่อาจทำให้ระบบเครือข่ายขัดข้อง

ทำ ifconfig และจดบันทึกอินเตอร์เฟส เปรียบเทียบกับไฟล์ในสคริปต์เครือข่าย หากมีไฟล์ในสคริปต์เครือข่ายมากกว่าอินเทอร์เฟซใน ifconfig คุณสามารถลบไฟล์ที่ไม่มีประโยชน์เพิ่มเติมจากนั้นทำการรีสตาร์ทเครือข่ายของระบบ


0

มีข้อผิดพลาดนี้หลังจากการโคลนเซิร์ฟเวอร์เสมือนโคลนได้รับที่อยู่ฮาร์ดแวร์ใหม่ (MAC) และการกำหนดค่าอะแดปเตอร์เครือข่ายยังคงมีอยู่เดิม

บรรทัดมีลักษณะดังนี้: HWADDR = 00: 00: 00: 00: 00: 00


0

ฉันพบปัญหานี้ที่ซึ่งเซิร์ฟเวอร์ยังคงให้ฉันRTNETLINK answers: File existsแม้หลังจากลบตัวจัดการเครือข่ายและตรวจสอบการกำหนดค่าเครือข่ายทั้งหมดของฉันสามครั้ง

ปรากฏว่ามี IP ขึ้นบนเซิร์ฟเวอร์อื่นและเซิร์ฟเวอร์กรอง ICMP (ดังนั้นจึงไม่มีการ ping) สิ่งแรกที่ฉันลอง ดังนั้นอย่าพึ่งพา ping สำหรับการทดสอบว่า IP มีค่าหรือไม่!

เมื่อเริ่มต้นสคริปต์เครือข่ายจะออกคำสั่งนี้ (เปลี่ยน dev และ ip ของคุณ)

/sbin/arping -c 2 -w 3 -D -I eth0 10.196.132.206

ซึ่งบอกเราว่าที่อยู่ mac นั้นเชื่อมโยงกับ IP นี้และสคริปต์เครือข่ายล้มเหลว ( ifupหรือsystemctl start network)


0

ฉันยังพบปัญหาที่คล้ายกัน เพื่อแก้ไขไฟล์การกำหนดค่า (ifcfg-ensxxxx) ดังต่อไปนี้ ป้อนคำอธิบายภาพที่นี่

  • รายการที่แสดงความคิดเห็น "UUID = xxxx-xxxx"
  • เพิ่มตัวเลือกใหม่: NM_CONTROLLED=noมันเป็นการระบุว่าอินเทอร์เฟซนี้จะถูกตั้งค่าโดยใช้ไฟล์การกำหนดค่านี้แทนที่จะถูกจัดการโดยบริการ Network Manager

การอ้างอิง: วิธีกำหนดค่าที่อยู่ IP แบบคงที่บน CentOS 7

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.