CentOS ไม่มีส่วนต่อประสานเครือข่ายหลังจากติดตั้งใน VirtualBox


53

ฉันมี Ubuntu 12.10 ที่ฉันติดตั้งกล่องเสมือนซึ่งฉันติดตั้ง Centos 6.4 i386 ใน Ubuntu ฉันมี: 3.5.0-17-kernel ทั่วไปทำงาน

ในกล่องเสมือนฉันติดตั้ง Centos 6.4 และทุกอย่างทำงานได้ดี แต่เมื่อฉันบูตเข้าสู่เครื่อง VM มีเพียงในอินเตอร์เฟซลูปแบ็ค ไม่มีอะไรอีกแล้ว. ฉันพยายามเพิ่มไฟล์ ifcfg-eth0 ด้วยตนเอง แต่ไม่มีอะไรเกิดขึ้น ในการตั้งค่า VM ฉันได้เพิ่ม NAT และ HostOnly แต่เมื่อใดก็ตามที่ฉันบูตเข้าสู่ Centos มีเพียงอินเตอร์เฟซแท้จริง ฉันควรทำอย่างไร?

คำตอบ:


53

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

เริ่มต้นด้วย CentOS 6.x คุณสามารถเลือกที่จะNetworkManagerจัดการการตั้งค่าเครือข่ายของคุณหรือยังคงเป็นวิธีการแบบเก่าและตั้งค่าด้วยตนเองโดยใช้/etc/sysconfig/network-scripts/ifcfg-eth0ประเภทของไฟล์ ให้นี้เป็น VM NetworkManagerฉันขอแนะนำให้ใช้

ในการเรียกใช้เครื่องมือแก้ไขการเชื่อมต่อให้ทำดังต่อไปนี้:

$ nm-connection-editor

คุณจะได้รับการนำเสนอด้วย GUI ดังนี้:

                         เอสเอสของ conn  บรรณาธิการ

จาก GUI นี้คุณจะต้องแก้ไขการตั้งค่า eth0 ดังนี้:

                         ss ของ nm # 1

                         ss ของ nm # 2

                         ss ของ nm # 3

ไม่มี GUI

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

ONBOOT="yes"
NM_CONTROLLED="no"

อ้างอิง


5
Centos 6.4 "ไม่พบ nm-connection-editor" ... ไม่มี GUI ที่ใช้งานอยู่ เซิร์ฟเวอร์หัวขาด ไม่มีความสุข :(
Mojo

1
ขั้นตอน "ไม่มี GUI" ทำงานได้อย่างสมบูรณ์ขอบคุณมาก!
Wildcard

2
ขั้นตอนโดยไม่มี GUI ทำให้ฉันผิดหวังเล็กน้อยจนกว่าฉันจะตรวจสอบคำตอบต่อไปนี้ ใน CentOS ขั้นต่ำแทนที่จะเป็น eth0 เป็นอย่างอื่นดังนั้นโปรดอัปเดตคำตอบของคุณเป็น ifcfg-XXXX นอกจากนี้ NM_CONTROLLED ไม่ได้อยู่ในรายการและเนื่องจากคนอื่นไม่ได้ระบุฉันไม่ได้เพิ่มดังนั้นจึงต้องเป็นค่าเริ่มต้น เครือข่ายเริ่มทำงานแล้ว หากคุณสามารถอัปเดตคำตอบเพื่อเปลี่ยนเส้นทาง 'ไม่ GUI' หรือวางไว้เหนือคำตอบ GUI ที่จะดีเพราะฉันสงสัยว่า n / w จะถูกปิดใช้งานเฉพาะใน min distros เท่านั้นหากปิดใช้งานใน distros ปกตินั่นคือ สงสัยว่ามันจะทำให้สับสนมาก noobs
killjoy

@killjoy - คุณใช้ CentOS เวอร์ชั่นใด สิ่งที่ฉันแสดงให้เห็นข้างต้นเป็นอย่างไรในปี 2013 เมื่อฉันเขียนบทความนี้ขึ้นมา สิ่งต่าง ๆ อาจมีการเปลี่ยนแปลงในเวอร์ชันที่ใหม่กว่า นอกจากนี้ NM_CONTROLLED ยังเป็นวิธีที่คุณสามารถทำได้อย่างชัดเจน ดังนั้นทำไมฉันแสดงมัน
slm

@slim - 7 เวอร์ชันล่าสุด ณ วันที่โพสต์ในความเป็นจริงมีบางคนที่มีค่าที่แตกต่างกัน ใน VM ที่ทำงานของฉันมันคือ '-eno' ดังนั้นฉันคิดว่ามันไม่ใช่จรรยาบรรณคงที่เหมือนเมื่อก่อน
killjoy

18

เรียกใช้คำสั่ง:

$ ip a

นี่จะแสดงอินเตอร์เฟส ต้อง/etc/sysconfig/network-scripts เปิดifcfgไฟล์ที่เกี่ยวข้องและตั้งค่าการบูตเป็นใช่ รีสตาร์ทระบบและคุณจะหยุดทำงาน

โดยค่าเริ่มต้นนี้ถูกตั้งค่าเป็นnoใน Centos 7


1
มันสำคัญไหมถ้าคุณกำลังใช้งาน VM? เพราะฉันทำมาหลายครั้งแล้วและ STILL บอกว่าเครือข่ายไม่สามารถเข้าถึงได้และฉันไม่สามารถติดตั้งส่วนเพิ่มเติมของแขก VirtualBox หากไม่มีเครือข่ายเนื่องจาก CentOS ไม่ได้รวม bzip2 ด้วยเหตุผลบางอย่าง
MarcusJ

1
การขยายตัวนี้คุณสามารถสร้างใหม่ifcfgไฟล์และตั้งชื่ออินเตอร์เฟซที่สิ่งที่คุณต้องการด้วยDEVICE=[name]ตัวเลือกตราบใดที่คุณ HWADDR=[mac address]ได้แก่
Centimane

คุณต้องเปลี่ยนบรรทัดนี้: NM_CONTROLLED = ไม่
Rob Sedgwick

คุณจะทำอย่างไรถ้าไม่มีไฟล์ ifcfg- ที่สอดคล้องกับอุปกรณ์ip aแสดง?
มาราธอน

8

เมื่อคุณสร้างเครื่องเสมือนใหม่ (เช่น guest OS) ด้วย VirtualBox โดยค่าเริ่มต้นจะทำให้ NIC เป็น Am79C973 แม้ว่า NIC นี้อาจได้รับการสนับสนุนจากระบบปฏิบัติการหลายระบบ แต่ NIC นี้ดูเหมือนจะไม่ได้รับการสนับสนุนจาก CentOS 7 ซึ่งหมายความว่า NIC เดียวที่จะปรากฏใน CentOS 7 VM ใหม่ของคุณจะเป็น loopback NIC สิ่งที่คุณต้องทำคือเปลี่ยน NIC ให้รองรับ 82543GC

ขั้นแรกให้หยุด CentOS VM หากคุณยังไม่ได้เปลี่ยน NIC โดยใช้คำสั่งนี้บนโฮสต์ VirtualBox ของคุณ:

vboxmanage modifyvm "testvm" --nictype1 82543GC

ตอนนี้เริ่ม CentOS VM ของคุณอีกครั้งและคุณจะสังเกตเห็นว่าตอนนี้มันมี NIC

ฉันหวังว่านี่จะช่วยได้


ฉันไม่ได้ใช้ vbox ฉันใช้ Centos เป็นดูอัลบูต แต่ฉันมีปัญหาเหมือนกันกับ op
samayo

มีปัญหาเช่นเดียวกับ OP สิ่งนี้แก้ไขได้สำหรับฉัน (VirtualBox + CentOS 7)
hoosierEE

6

ดูที่ NIC-configurationfiles /etc/sysconfig/networking/devices/ifcfg-ethXและตรวจสอบว่ามีพารามิเตอร์ONBOOTอยู่หรือไม่ ถ้าไม่ - เพิ่ม

grep "ONBOOT=yes" /etc/sysconfig/networking/devices/*
/etc/sysconfig/networking/devices/ifcfg-eth0:ONBOOT=yes
/etc/sysconfig/networking/devices/ifcfg-eth1:ONBOOT=yes

รีบูตหรือ/etc/init.d/network restartหลังการเปลี่ยนแปลงควรทำให้ส่วนต่อประสานของคุณสูงขึ้น


+1 แสนอร่อยสำหรับการใช้ grep เพื่อค้นหาตำแหน่งที่พวกเขาวางโครงร่างในสัปดาห์นี้ (ปัญหาเดียวกัน BTW บน Centos6 และแก้ไขปัญหายังคงทำงาน)
gbarry

5

ใน centos 7 ชื่ออินเตอร์เฟสเครือข่ายคือenp0s3เพื่อให้ระบบเครือข่ายทำงานได้คุณต้องแก้ไขไฟล์ที่เกี่ยวข้องโดย:

sudo vim /etc/sysconfig/network-scripts/ifcfg-emp0s3

และตั้งค่าONBOOTให้เป็นyes

ONBOOT=yes

Woa woa woa นั่นเป็นการรวมตัวแบบรวมของการตั้งชื่ออินเตอร์เฟส CentOS 7 ดู: cgit.freedesktop.org/systemd/systemd/tree/src/udev/ …สำหรับการอ้างอิง โอกาสที่อินเทอร์เฟซน่าจะเป็นp#p###รูปแบบของอินเทอร์เฟซมากกว่า แต่วิธีใดวิธีหนึ่งก็เป็นการดีกว่าที่จะกำหนดชื่อจริงมากกว่าเดา
Centimane

ผู้ถามกำลังใช้ CentOS 6.4 ดังนั้นการตั้งชื่ออินเทอร์เฟซของ CentOS 7 จึงไม่เกี่ยวข้องกัน การตั้งชื่ออินเทอร์เฟซเปลี่ยนไปอย่างมากใน 7
Centimane

1
ทำงานให้ฉัน ขอบคุณ ฉันใช้ RHEL ฟรีหากต้องการทราบชื่อของอินเตอร์เฟสที่เรียกใช้ pifconfig ใช่ RHEL ไม่ได้มาพร้อมกับ ifconfig แม้แต่ใน sbin Ubuntu ดีกว่าในเรื่องนี้
NotAgain

@Centimane เฮ้ขอบคุณที่ให้ฉันรู้ว่าฉันใช้งานเกินขนาด แต่สำหรับฉันมันเป็นงานและไม่แน่ใจว่ามันเป็นการปฏิบัติที่ไม่ดี คุณจะแบ่งปันวิธีที่เหมาะสมในการรับอินเทอร์เฟซที่ถูกต้องสำหรับ centos หรือไม่ เพื่อที่จะเป็น "Bulletproff" สำหรับ Centos Version ในอนาคต
Yana Agun Siswanto

1
ชื่ออินเทอร์เฟซขึ้นอยู่กับฮาร์ดแวร์ดังนั้นชื่ออินเทอร์เฟซจะยึดตามชนิดของ NIC ที่คุณใช้และวิธีการรายงานฮาร์ดแวร์ไปยัง RHEL ตามออกชื่ออินเตอร์เฟซของคุณ RHEL คิด NIC ของคุณเป็นemอุปกรณ์ beded, Pดื่มเกลือแร่0 sมาก3 แต่ฮาร์ดแวร์อื่นจะใช้ชื่อ NIC ที่แตกต่างกัน
Centimane

4

การทำงานdhclient –vในฐานะรูทได้แก้ไขให้ฉัน

ผมได้รับการแก้ปัญหานี้จากบทความ


1

ฉันคิดว่ามันอาจเป็นการตั้งค่าเครือข่ายที่ทำให้เกิดปัญหา ฉันพบว่าการทำงานของฉันดีที่สุดกับ "Bridged Adaptor" เนื่องจากคุณใช้การ์ดเครือข่ายของโฮสต์โดยตรง นอกจากนี้ยังอนุญาตให้คอมพิวเตอร์เสมือนใช้ DHCP เพื่อรับ IP ภายในจากเราเตอร์ของคุณ

NAT ค่อนข้างแปลกเพราะคุณใช้ที่อยู่ IP เพียงอันเดียว (เหมือนกับที่อยู่ในโฮสต์) และส่งต่อการแปลพอร์ตแทนดังนั้นจึงไม่ใช่ IP ที่แยกต่างหากสำหรับคอมพิวเตอร์เสมือน HostOnly ฉันคิดว่าจะอนุญาตให้คอมพิวเตอร์เสมือนสร้าง "เครือข่ายท้องถิ่น" กับโฮสต์ของคุณ - เช่น ไม่มีอินเทอร์เน็ตภายนอก และนั่นก็ทำให้คุณมีอุปกรณ์ลูปแบ็ค


0

ดูเหมือนว่าฉันจะเป็นปัญหา /etc/udev/rules.d/70-persistent-net.rules นอกจากว่าไฟล์นี้จะถูกลบการแก้ไข ifcfg-ethX จะไม่ช่วยเพราะการตั้งค่าแบบเก่าที่คุณมีจะยังคงอยู่ ลบไฟล์จากนั้นใช้ "udevadm trigger" เพื่อสร้างใหม่


ฉันไม่เห็นว่าสิ่งนี้เกี่ยวข้องกับอุปกรณ์ที่ไม่มีอยู่
thrig

0

สิ่งนี้ใช้กับ VMBox ที่คุณติดตั้งโคลนใหม่ (ของฉันคือ CentOS) และไม่เห็นที่อยู่ IP:

  1. หยุด VM ไปที่การตั้งค่า -> เครือข่าย -> ขั้นสูง จากนั้นรีเซ็ตที่อยู่ MAC โดยคลิกที่ไอคอนสีน้ำเงินทางด้านขวา บันทึกที่อยู่ MAC ใหม่ไว้ที่ใดที่หนึ่ง
  2. เริ่ม VM ไปที่ระบบ -> การตั้งค่า -> การเชื่อมต่อเครือข่าย แก้ไขการเชื่อมต่อ eth0 -> ที่อยู่ MAC ของอุปกรณ์ด้วยที่อยู่ MAC ใหม่จากขั้นตอน # 1 ที่เพิ่ม ":" ระหว่างอักขระสองตัว เช่น 08012741798D ถึง 08: 01: 27: 41: 79: 8D และบันทึก
  3. รีบู๊ตจากนั้นล็อกอินเป็น root: cd / var / lib / NetworkManager
  4. ลบหรือย้าย NetworkManager.state ไปยังโฟลเดอร์อื่นเช่น: mv NetworkManager.state NetworkManager.state.save
  5. เรียกใช้: หยุดบริการ NetworkManager
  6. เรียกใช้: เริ่มบริการ NetworkManager
  7. หากต้องการดูที่อยู่ IP ใหม่ให้เรียกใช้: ifconfig -a

0
  1. sudo dhclientเสร็จสิ้น ไม่จำเป็นต้องรีบูตเครื่อง

  2. หากคุณต้องการไคลเอ็นต์ DHCP ที่จะเริ่มต้นโดยอัตโนมัติที่บูต: sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 การเปลี่ยนแปลงไปONBOOT=noONBOOT=yes


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