ปัญหา“ กำลังรอการกำหนดค่าเครือข่าย”


72

ปัญหานี้เกิดขึ้นบางครั้งเมื่ออูบุนตูเริ่มทำงาน บางครั้งคุณไม่สามารถบูตอินเทอร์เฟซได้

หน้าจอ Splash ที่มี 5 จุดและข้อความบอกว่า:

กำลังรอการกำหนดค่าเครือข่าย

ติดตามโดย:

รออีก 60 วินาทีเพื่อกำหนดค่าเครือข่าย

คำตอบ:


44

ฉันตัดสินใจที่จะใช้วิธี CLI และ Alt + Ctrl + F2 ดังนั้นคุณมีอิสระที่จะทำเช่นนั้นในขณะที่คุณลงชื่อเข้าใช้ GUI - โอเคฉันจะเขียนขั้นตอนทั่วไปดังนั้นอย่าลังเลที่จะใช้วิธีการที่คุณชอบ

  1. แก้ไข/etc/network/interfaces:

    sudo nano /etc/network/interfaces
    
    1. หากคุณกำลังพิมพ์สิ่งนี้จาก LXTerminal ในขณะที่ล็อกอินเข้าสู่ GUI แล้ว:

      gksudo leafpad /etc/network/interfaces
      
  2. ลบสิ่งที่เขียนไว้ที่นั่นและเก็บสิ่งนี้ไว้:

    auto lo
    iface lo inet loopback
    

เป็นความคิดที่ดีที่จะเก็บสำเนาสำรองของไฟล์ "อินเตอร์เฟส" ไว้ในกรณีดังนั้นโปรดตรวจสอบให้แน่ใจว่าได้บันทึกไฟล์ "interfaces.bak" ก่อนที่คุณจะทำอะไร

  1. Ctrl+ Oถ้าคุณใช้ nano และCtrl+ S(ไฟล์> บันทึก) หากคุณใช้ leafpad

  2. Ctrl+ Xถ้าคุณใช้ nano และCtrl+ Q(ไฟล์> Quit) หากคุณใช้ leafpad

  3. Reboot

  4. เสร็จสิ้น


3
auto lo iface lo inet loopbackไม่ทำงาน
วาด

@draw มันจะต้องมีสองบรรทัด: บรรทัดที่ 1 คือauto lo; บรรทัดที่ 2 คือiface lo inet loopback
daniel kullmann

2
@danielkullmann; อัตโนมัติแท้จริง (บรรทัดที่ 1) iface lo inet loopback; (บรรทัดที่ 2) มันไม่ทำงานสำหรับฉันเช่นกัน ฉันต้องกำหนดค่าอินเทอร์เฟซด้วยตนเองและให้ที่อยู่ของมัน !!
mythicalcoder

3
ไฟล์อินเตอร์เฟสของฉันดูเหมือนอย่างนั้น แต่ปัญหายังคงอยู่ /:
Andy

5
โปรดทราบว่านี่จะใช้งานได้ต่อเมื่อคุณnetwork-managerติดตั้ง มันติดตั้งบน Ubuntu เวอร์ชันเดสก์ท็อป แต่ไม่ใช่รุ่นเซิร์ฟเวอร์ หากคุณไม่ได้network-managerติดตั้งและคุณทำเช่นนี้แล้วไม่มีส่วนต่อประสานของคุณทำงานได้เลย
kbuilds

37

ในทุกสถานการณ์ที่ฉันพบสิ่งนี้เป็นปัญหาใน / etc / network / interfaces

คุณไม่ควรลบทุกอย่างตามที่แนะนำในโพสต์ก่อนหน้า แต่ควรตรวจสอบปัญหาที่พบบ่อย

ในกรณีของฉันมันคือการกำหนดพารามิเตอร์เกตเวย์สำหรับอีเธอร์เน็ต IPS เพิ่มเติม คุณจะต้องกำหนดเกตเวย์สำหรับอินเทอร์เฟซหลักสำหรับการ์ดแต่ละใบ

สิ่งที่ฉันหมายถึงคือถ้าไฟล์ของคุณมีลักษณะเช่นนี้:

auto eth0
iface eth0 inet static
  address 10.0.0.5
  netmask 255.255.255.0
  network 10.0.0.0
  gateway 10.0.0.1

auto eth0:0
iface eth0:0 inet static
  address 10.0.0.6
  netmask 255.255.255.0
  network 10.0.0.0
  #gateway 10.0.0.1

พารามิเตอร์เกตเวย์ที่ 2 จะทำให้อูบุนตูหยุดทำงานนานกว่า 60 วินาทีในระหว่างการบู๊ตคุณเพียงแค่ต้องกำหนดเกตเวย์สำหรับส่วนแรกของ eth0 คุณต้องกำหนดเกตเวย์สำหรับการ์ดนิกอื่น ๆ เช่น IE eth1, wlan0 เป็นต้น แต่ไม่ใช่สำหรับ IPS เพิ่มเติมที่กำหนดให้กับ nic เดียวกัน Ubuntu รุ่นก่อนหน้านี้ไม่มีปัญหาใด ๆ กับเรื่องนี้ แต่ Ubuntu 12.04 ไม่ชอบ ... จะดีถ้ามันสามารถเพิกเฉยได้

ฉันแน่ใจว่ามี "ปัญหา" อื่น ๆ ในไฟล์นี้ที่สามารถทำให้เกิดปัญหานี้ได้ดังนั้นคุณควรตรวจสอบไฟล์และตรวจสอบให้แน่ใจว่าไม่มีการพิมพ์ผิด ฯลฯ


ตัวเลือก "เครือข่าย" ล้าสมัยไม่ต้องการอีกต่อไป
jdthood

2
คำตอบนี้ใช้ไม่ได้กับฉันฉันไม่มีเกตเวย์ใน stanzas ใด ๆ ที่ใช้งานของไฟล์นี้
memnoch_proxy

3
นี่คือคำตอบที่ฉันต้องการ
Patrick Chu

1
ฉันมีปัญหาเดียวกันอย่างแม่นยำและวิธีนี้ทำงานได้อย่างสมบูรณ์!
ซันนี่

ในกรณีของฉันบรรทัดที่ขึ้นต้นด้วย "อัตโนมัติ" มีอินเทอร์เฟซ "eth2" ที่ไม่มีอยู่นั่นคือไม่มีการกำหนดค่าในอินเตอร์เฟสอีกต่อไป
RTasche

36

สิ่งนี้อาจช่วยได้เช่นกัน: http://tech.pedersen-live.com/2012/05/disable-waiting-for-network-configuration-messages-on-ubuntu-boot/

โดยทั่วไปคุณแก้ไข/etc/init/failsafe.confไฟล์นี้และปิดการใช้งาน (ความคิดเห็น) sleepคำสั่งที่จริงหยุดระบบ นอกเหนือจากการทำงานให้สำเร็จอย่างน้อยที่สุดในกรณีของฉันก็ไม่มีข้อผิดพลาดเลยในการกำหนดค่าเครือข่ายดังนั้นทุกอย่างเป็นไปด้วยดี

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


3
นี่ควรเป็นคำตอบที่ถูกต้อง ผู้คนจำนวนมากรู้สึกว่าการทำงานของfailsafe.confoverkill
kbuilds

การฆ่าคนไม่ปลอดภัยเป็นคำตอบที่ถูกต้อง การแก้ไขการกำหนดค่าที่ผิดซึ่งทำให้การเตะล้มเหลวเป็นสิ่งที่ถูกต้อง มีหลายสถานที่ที่สามารถกำหนดค่าผิดได้ แต่ไม่ได้อยู่ในที่ปลอดภัย!
Tino

2
นี่คือคำตอบที่ถูกต้องในความคิดของฉัน ฉัน purposley boot โดยไม่มีการกำหนดค่าเครือข่ายเมื่อฉันโคลนเซิร์ฟเวอร์หรือคืนค่าการสำรองข้อมูลในช่วงฉุกเฉิน ฉันไม่จำเป็นต้องรอ 2 นาทีระหว่างเกิดเหตุฉุกเฉิน แต่ไม่มีอะไร "ผิด" กับการกำหนดค่าของฉัน
FreeSoftwareServers

ไม่สามารถเข้าถึง URL ดูเหมือนว่าหน้าเว็บล้มเหลว มันมีอยู่ใน archive.org: web.archive.org/web/20160301200431/http://…
rog

27

ทางออกที่แท้จริง (!) สำหรับปัญหานี้คือคำสั่งดังต่อไปนี้:

sudo sed -i.old-`date +%Y%m%d-%H%M%S` '/^auto lo$/!s/^auto /allow-hotplug /' /etc/network/interfaces

ใน/etc/network/interfacesการเปลี่ยนแปลงนี้การเชื่อมต่อทั้งหมด (ยกเว้นlo) จากการauto allow-hotplugวิธีนี้จะทำให้การบูตไม่รอให้อินเทอร์เฟซเกิดขึ้นก่อน

คำเตือน: หลังจากการเปลี่ยนแปลงนี้อินเทอร์เฟซที่เชื่อมต่ออย่างถาวรอาจไม่ทำงานหลังจากบูตจนกว่าจะsystemdได้รับเหตุการณ์ปลั๊กจริง ดูหมายเหตุด้านล่าง

ตัวอย่างก่อน (ดูauto eth0):

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

ตัวอย่างหลังจาก (ดูallow-hotplug eth0):

auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

หมายเหตุ:

  • หากคุณเชื่อมต่อเครือข่าย/etc/fstabใช้ร่วมกันautoไม่ใช่ใช้allow-hotplugสำหรับอินเทอร์เฟซสำหรับเครือข่ายที่ใช้ร่วมกัน มิเช่นนั้นคุณอาจเห็นสิ่งแปลก ๆ เกิดขึ้นในกระบวนการบู๊ตเนื่องจากต้องมีเครือข่ายก่อนที่การเมานต์เครือข่ายจะแชร์ allow-hotplugไม่มั่นใจในสิ่งนี้

  • หากอินเทอร์เฟซอยู่ในautoโหมดคุณแสดงว่า: "อินเทอร์เฟซเหล่านี้มีความสำคัญสำหรับการบูตดังนั้นเราต้องรอให้พวกเขาปรากฏขึ้นก่อนที่เราจะบู๊ต" ดังนั้นหากพวกเขาไม่ได้ขึ้นมา Ubuntu จะชะลอการบูตด้วยความไม่ปลอดภัยรอให้พวกเขาปรากฏตัวนานถึง 120 วินาที และนี่คือสิ่งที่ถูกต้องที่จะทำ

    ในทางตรงกันข้ามอินเทอร์เฟซที่ถูกตั้งค่าให้allow-hotplugบอก Ubuntu ว่าเป็นตัวเลือก ดังนั้นพวกเขาจึงไม่จำเป็นต้องบูต

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

  • นอกจากนี้ยังมีการตั้งค่าเคอร์เนลที่ช่วยให้กระบวนการเชื่อมโยงกับ IP ที่ไม่มีอยู่ดังนั้นคุณสามารถใช้allow-hotplugหากคุณต้องการโดยไม่กระทบต่อความเสถียรของกระบวนการบูต อย่างไรก็ตามนี่เป็นเรื่องราวที่แตกต่างอย่างสิ้นเชิง

หมายเหตุ (อัปเดต 2018-01-04):

  • ที่ด้านข้างของฉันallow-autoทำเช่นเดียวกันautoดังนั้นจึงไม่ช่วย (ลองด้วยbr0)

  • หลังจากอัปเกรดหนึ่งในระบบของฉันเป็น Debian Stretch และเปลี่ยนเป็น SystemD การบูตก็ช้าเกินกว่าจะทนได้ในขณะที่รออินเทอร์เฟซ (เชื่อมต่อภายนอกภายนอก) อย่างต่อbr0เนื่อง อย่างไรก็ตามด้วยallow-hotplug อินเตอร์เฟซbr0อยู่ลงหลังจากบูต บางทีนี่อาจเกิดจาก SystemD ที่ไม่ได้รับเหตุการณ์ปลั๊กจริงหรือซินเทติกใด ๆ บนอินเทอร์เฟซดังกล่าว ผมไม่ได้ขุดลึกลงนี้เป็นบางส่วนปิดบังcrontabรายการ@reboot /sbin/ifup br0สำหรับrootการแก้ไขให้ฉัน (ใช้งานได้ แต่อาจเป็นสิ่งที่ดีกว่าที่ไม่ควรแนะนำให้คนอื่นฉันอยากฟังถ้ามีคนมีความคิดที่ดีกว่านี้)

((ข้อความสิ้นสุดที่นี่ส่วนที่เหลือเป็นเพื่อความบันเทิงของคุณ))

และนี่คือเรื่องราวเวลานอนซึ่งได้รับแรงบันดาลใจจากสิ่งนี้:

พืชผลเกษตรกรบางคนไปอาละวาด พืชผลของพวกเขาแห้ง! ดังนั้นพวกเขาจึงสอบสวนว่าทำไมน้ำในคลองชลประทานถึงมีไม่เพียงพอ ในระยะใกล้พวกเขาเห็นผู้ร้ายทันที เขื่อน! เขื่อนที่ถูกไอ้กักน้ำทั้งหมดไว้!

จากช่วงเวลานี้มันชัดเจนว่าจะทำอย่างไร "ระเบิดเขื่อน!" พวกเขาตะโกนและเริ่มรวบรวมวัตถุระเบิด จากนั้นพวกเขาก็มุ่งตรงไปที่เขื่อน

ลูกชายตัวน้อยของเกษตรกรคนหนึ่งถามพ่อของเขาเกี่ยวกับสิ่งที่เกิดขึ้น เขาบอกลูกชายของเขาว่า: "มีน้ำไม่เพียงพอในคูดังนั้นเราจึงระเบิดเขื่อน!" จากนั้นเขาก็ออกไปติดตามฝูงทันที

"แต่" เด็กน้อยพยายามตะโกนตามพ่อของเขาว่า "แต่มีวาล์ว! เพียงแค่เปิดวาล์ว!" น่าเศร้าเสียงของเขาอ่อนโยนเกินไปและขาของเขาสั้นเกินไปดังนั้นข้อความนี้จึงไม่เข้าถึงใครเลย

เด็กชายนั่งลงแล้วร้องไห้ ครึ่งชั่วโมงต่อมาเขาก็ได้ยิน "บูม" ที่อยู่ไกลออกไปซึ่งทำลายฝูงชนตัวโปรดของเขาที่เขื่อนซึ่งเป็นที่ตั้งของวาล์วด้วย

เกิดอะไรขึ้นต่อไป

น้ำท่วมพัดพืชผลที่มีค่าทั้งหมดออกไป ธนาคารเอาฟาร์มของพ่อไป พ่อของเขาไม่สามารถจ่ายค่าเรียนที่ดีได้ เด็กชายจึงเข้าร่วมกองทัพเพื่อรับการศึกษาที่สูงขึ้น ที่นั่นเขาได้เรียนรู้ทุกอย่างเกี่ยวกับ phyics ของวัตถุระเบิดและตอนนี้พยายามประดิษฐ์เขื่อน resitant ระเบิด

เรื่องราวนี้เกี่ยวข้องกับเรื่องนี้อย่างไร

  • เกษตรกรปลูกพืชเป็นคำตอบอื่น ๆ
  • เด็กชายตัวนี้คือคำตอบที่นี่
  • เขื่อนคืออูบุนตูไม่สามารถหลับได้อย่างปลอดภัย
  • วาล์วคือการตั้งค่าอินเตอร์เฟซที่เหมาะสม
  • น้ำเป็นกระบวนการบูต
  • พืชคือระบบปฏิบัติการ Ubuntu ของคุณ
  • และคูน้ำที่เติมเต็มก็คือลักษณะของกระบวนการบูตที่ควรมีหน้าตาเป็นอย่างไร

การตั้งค่าอินเทอร์เฟซที่ใช้งานอยู่นั้นถูกปลิดทิ้งเมื่อสลีป/etc/network/interfacesในระบบไม่ปลอดภัยถูกลบออกและแม้ว่าบางคนจะเห็นวาล์วปิด ( auto) ก็ไม่มีใครที่จะเปิดเช่นกัน!


2
นี่คือคำตอบที่ถูกต้อง ฉันหวังว่าผู้ถามดั้งเดิมจะเลือกสิ่งนี้เป็นคำตอบที่ถูกต้องและทำเครื่องหมายว่าปัญหาได้รับการแก้ไขแล้ว
thatmaheshrs

1
ขอบคุณที่แบ่งปัน @Tino เรื่องที่เป็นสิ่งที่ดี แต่ในความคิดของฉันมัน clutters คำตอบมากเกินไปและอย่างน้อยก็ไม่ควรวางไว้ก่อนที่จะบันทึกทางเทคนิคที่มีประโยชน์สุดท้าย
ndemou

@ndemou ขอบคุณสำหรับการสังเกตแก้ไขตาม ฉันพยายามใช้สปอยเลอร์สำหรับเรื่องราว แต่มันไม่ได้ออกมาอย่างที่ฉันชอบดังนั้นฉันจึงทิ้งมันไว้ตามเดิม
Tino

คำตอบที่มีคุณภาพที่ดีที่สุดและเรื่องราวที่น่าขันก็ไม่มีค่า
Rui F Ribeiro

13

เพิ่ม#ในแฟ้มในด้านหน้าของสายทั้งหมดที่มี/etc/init/failsafe.conf sleep <n>การทำเช่นนั้นจะช่วยในการบูตอย่างรวดเร็ว

สิ่งนี้จะนำไปสู่การบูตเร็วขึ้นและจะไม่แก้ไขปัญหาใด ๆ กับ/etc/network/interfacesไฟล์ การแก้ไขปัญหาเกี่ยวกับ/etc/network/interfacesไฟล์ไม่ใช่วัตถุประสงค์ของ/etc/init/failsafe.confไฟล์

มีบางสถานการณ์ที่คุณต้องการให้อินเทอร์เฟซเครือข่ายใช้งานไม่ได้ (เช่นมีแล็ปท็อปที่ต่อกับอินเทอร์เฟซ eth0 (การเชื่อมต่อแบบใช้สาย) ในบางครั้ง) ฉันไม่ต้องการที่จะต้องรอ 2 นาทีเพื่อให้แล็ปท็อปบูตเพราะฉันไม่ได้ต่อสายแบบมีสาย


4
บรรทัดเหล่านั้นบางส่วน (และความล่าช้าที่พวกเขาสร้างขึ้น) มีความสำคัญหรือไม่? ถ้าไม่ฉันขอแนะนำให้ขยายคำตอบนี้เพื่ออธิบายว่าทำไม
Eliah Kagan

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

1
คำตอบที่ดี! ผู้เขียน failafe.conf ได้ทิ้งอีเมลไว้ที่นั่นพร้อมกับความคิดเห็นเกี่ยวกับสาเหตุที่เขารอเป็นเวลาสองนาทีเว้นแต่จะมีที่อยู่คงที่ ฉันรู้สึกว่าผู้ชายคนนี้อาจต้องรับผิดชอบกับกรณีของ Ubuntu ที่บูตช้ากว่า Windows ถึง 48x;)
Brain2000

2

ฉันมีปัญหาที่คล้ายกัน โดยการเรียกใช้ifconfig -aผมพิจารณาแล้วว่าอุปกรณ์เครือข่ายเฉพาะบนคอมพิวเตอร์ของฉันและp4p1 ไม่มีloeth0

ดังนั้นผมจึงแก้ไข/etc/network/interfacesเปลี่ยนทุกกรณีด้วยeth0 p4p1เนื้อหาของไฟล์คือตอนนี้:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

หลังจากรีบูตระบบเครือข่ายก็ใช้งานได้ดี

ถ้ามันสำคัญฉันก็ใช้ Ubuntu 12.04.5 Server edition


อาจแทนที่auto p4p1ด้วยallow-hotplug p4p1และคอมพิวเตอร์ของคุณจะบูทอย่างรวดเร็วหาก Ethernet หยุดทำงาน อย่างไรก็ตามสิ่งนี้ขึ้นอยู่กับการตั้งค่าของคุณ ตัวอย่างเช่นหากเป็นเวิร์กสเตชันหรือเซิร์ฟเวอร์ที่มีเครือข่ายใช้ร่วมกัน ( NFSหรือSamba) คุณต้องการรอให้เครือข่ายพร้อมใช้งานก่อนดำเนินการต่อดังนั้นallow-hotplugจะเป็นตัวเลือกที่ผิด
Tino

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