อะไรคือข้อแตกต่างระหว่าง Network Manager และ 'ifconfig' 'ifup' ฯลฯ


53

Ubuntu ดูเหมือนจะมีชุดเครื่องมือ "เครือข่าย" อย่างน้อยสองเครือข่าย (เพราะขาดคำที่ดีกว่า) ฉันพบความขัดแย้งระหว่างสองสิ่งนี้

ฉันมักจะพบข้อขัดแย้งระหว่างชุดเครื่องมือต่าง ๆ เหล่านี้ ตัวอย่างเช่นฉันใช้ Ubuntu Desktop ที่บ้านและฉันใช้ซอฟต์แวร์เช่น KVM / libvirt ซึ่งแนะนำให้ฉันปิดการใช้งาน Network Managerแต่การปิดใช้งานตัวจัดการเครือข่ายทำให้เกิดสิ่งอื่น ๆ

ตัวจัดการเครือข่ายและเครื่องมือเครือข่ายแบบดั้งเดิมแตกต่างกันอย่างไร ห้องสวีททั้งสองนี้สามารถทำงานเคียงข้างกันหรือฉันจะต้องติดกับอย่างใดอย่างหนึ่ง? มีเอกสารที่สรุปความแตกต่างระหว่างเครื่องมือต่าง ๆ เหล่านี้หรือไม่? ฉันหามันไม่เจอ

(ยกโทษความคลุมเครือของคำถามนี้ฉันค้นหาและค้นหาคำตอบแล้ว แต่ฉันพบคำตอบที่คลุมเครือจำนวนมากซึ่งดูเหมือนจะไม่เกี่ยวข้องกับ Ubuntu 10.04 / Lucid และฉันอาจไม่เข้าใจวัตถุประสงค์ของ NetworkManager อย่างเต็มที่อย่างไรก็ตาม ดูเหมือนว่านี่เป็นคำถามที่พบบ่อยหากคุณมีคำแนะนำในการชี้แจงคำถามนี้โปรดโพสต์ความคิดเห็น)

คำตอบ:


53

NetworkManagerและifconfigไม่เข้ากันได้ (โดยค่าเริ่มต้น) ( NetworkManagerจะไม่กำหนดค่าอินเทอร์เฟซที่แสดงใน/etc/network/interfaces) NetworkManagerเป็น daemon การตั้งค่าประเภทหนึ่งที่ช่วยให้แน่ใจว่าผู้ใช้หลายคนสามารถแก้ไขการเชื่อมต่อเครือข่ายได้ซึ่งเป็นสิ่งที่ฉลาดมากในสภาพแวดล้อมเดสก์ท็อป โดยทั่วไปNetworkManagerเป็นส่วนหน้าเพื่อiproute, dhclient, และwpa_supplicantppp

ifconfig เป็นเครื่องมือทั่วไปสำหรับการกำหนดค่าอินเทอร์เฟซเครือข่ายคุณสามารถทำเช่นนี้:

ifconfig eth1 10.0.0.1 netmask 255.0.0.0 hw ether 10:10:10:10:10:10
ifconfig eth1 down

เพื่อตั้งค่า IP, netmask และที่อยู่ MAC ของeth1แล้วกด (ปิด / ปิด) ส่วนต่อประสานของคุณ ifconfigไม่อ่านไฟล์ปรับแต่งใด ๆ และทำตามที่บอกไว้เท่านั้น

ifupและifdownเป็นโปรแกรมตัวช่วยที่ใช้ifconfigในการกำหนดค่าอินเทอร์เฟซเครือข่ายตาม/etc/network/interfacesนี้จะทำให้แน่ใจว่าหากมีสคริปต์ up, down, pre-up, pre-down, pre-down, post-up, post-down, post-down ที่จำเป็นต้องรัน เป็น

ตกลงแล้วมีและwpa_supplicant เป็นไคลเอนต์ DHCP - จะใช้สิ่งนี้หากมีการกำหนดค่าอินเทอร์เฟซเครือข่ายสำหรับ DHCP ตามที่ต้องการ เป็นเครื่องมือสำหรับกำหนดค่าการเข้ารหัสในเครือข่ายไร้สายdhclientdhclientifupNetworkManagerwpa_supplicant

เครื่องมือเหล่านี้ส่วนใหญ่มี man page เช่นอินเทอร์เฟซไฟล์มี manpage ของตัวเองซึ่งอธิบายรูปแบบของไฟล์ config นั้น

man interfaces
man ifconfig
man ifup

เพื่อที่จะกล่าวว่าฉันจะแนะนำให้คุณลบ (หรือปิดการใช้งาน) NetworkManagerฉันไม่คิดว่าสิ่งใดจะหยุดจากการลบNetworkManagerยกเว้นเครื่องมือ gui สำหรับการตั้งค่าเครือข่าย หากคุณต้องการที่จะกำหนดค่าไร้สายโดยไม่ต้องNetworkManagerคุณอาจต้องการที่จะดูที่นี้


8

ชุดเครื่องมือเหล่านี้เป็นส่วนประกอบที่สมบูรณ์ซึ่งไม่ได้ทำให้เกิดการสั่นสะเทือน

FWIW ifconfigเป็นเพียงเครื่องมือหนึ่งใน*configเครื่องมืออื่น ๆที่ใช้ในการกำหนดค่าอินเทอร์เฟซเครือข่าย

The ifup(8)and ifdown(8)tools เป็นอีกหนึ่งเลเยอร์เหนือ*configเครื่องมือ คุณสามารถคิดว่ามันเป็นเครื่องมือช่วยเหลือ

ในทำนองเดียวกัน NetworkManager นั้นอยู่เหนือระดับifup(8)และifdown(8)เครื่องมือ สำหรับการขาดคำที่ดีกว่า NetworkManager สามารถจัดเตรียมเครื่องมือ (ets) จากระดับด้านล่างเพื่อให้งานระดับสูงขึ้นเช่นการแบ่งปันการเชื่อมต่ออินเทอร์เน็ตได้อย่างง่ายดายยิ่งขึ้นเมื่อเทียบกับการใช้เครื่องมือจากระดับด้านล่าง


หากคุณต้องการรายละเอียดเพิ่มเติมแสดงความคิดเห็นและฉันจะต้องรับผิดชอบ
Li Lo

2
@Li Lo: ใช่โปรดให้รายละเอียดเพิ่มเติม ฉันคิดว่า ifup / ifdown จะแก้ไขโฮสต์ใน / etc / network / interfaces และ Network Manager จะไม่สนใจอินเตอร์เฟสใด ๆ ใน / etc / network / interfaces (ดูคำถาม "d. ทำไมตัวจัดการเครือข่ายจะไม่จัดการเครือข่ายของฉัน" ภายใต้คำถามที่พบบ่อย / ปัญหาทั่วไป / ผิดพลาด
Stefan Lasiewski

Ehm, ifup / ifdown ใช้ / etc / network / interfaces, และแยกจาก NetworkManager NetworkManager ไม่ยุ่งกับ / etc / network / interfaces เลยยกเว้นตามค่าเริ่มต้นในการอ่านรายการอินเตอร์เฟสที่จะไม่สนใจ
user1338062

ลงคำตอบนี้เนื่องจากถูกเรียกออกมาผิดอย่างชัดเจนและไม่มีการตอบกลับจากผู้โพสต์ ดังนั้นฉันคิดว่าข้อกล่าวหาเป็นจริง
Penghe Geng

0

Network Manager เป็นโปรแกรม GUI ที่ใช้เมื่อจัดการกับ Ubuntu เป็นระบบปฏิบัติการเวิร์กสเตชันที่ติดตั้งบนเดสก์ท็อป / แล็ปท็อปของคุณ

ยูทิลิตี ifconfig-type ใช้บรรทัดคำสั่งและใช้เมื่อจัดการกับ Ubuntu ในฐานะเซิร์ฟเวอร์ระบบปฏิบัติการเมื่อคุณไม่มีส่วนต่อประสานแบบกราฟิกให้คุณ (ตัวอย่างเช่นเมื่อคุณบูตอินสแตนซ์ Amazon EC2 ตาม Ubuntu) . พวกเขามักจะใช้ผ่านการเชื่อมต่อ ssh


6
ใช่ฉันเคยใช้ifdownคำสั่งมากกว่าการเชื่อมต่อ ssh มันไม่ได้ผลดีเกินไปสำหรับฉัน
Igor Zinov'yev

5
ตัวจัดการเครือข่ายไม่ได้เป็นเพียง GUI นอกจากนี้ยังมี network-manager daemon ซึ่งเป็นแพ็กเกจที่แตกต่างจาก network-manager-gnome GUI applet ความแตกต่างระหว่างผู้จัดการเครือข่ายและเครื่องมือเครือข่ายแบบดั้งเดิมคืออะไร?
Stefan Lasiewski

1
NetworkManager ทำงานบน wpa-supplicant ซึ่งเป็น / อีก / เครื่องมือสำหรับการกำหนดค่าเครือข่าย / etc / network / interfaces สามารถโทรไปยัง wpa-supplicant ได้เช่นกัน
maco

1
ในความเป็นจริง NetworkManager ไม่ใช่เครื่องมือ gui-only คุณสามารถใช้มันกับ commandline ได้เช่นกัน
LittleByBlue

คำตอบนี้ผิด ifconfigเป็นเพียงเครื่องมือเก่าสำหรับการสร้างเครือข่าย
LittleByBlue

0

หากคุณลบผู้จัดการเครือข่ายฉันคิดว่าคุณต้องกำหนดค่า / etc / network / interface เพื่อให้ส่วนต่อประสานทำงานได้

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