จะเริ่มบริการเครือข่ายได้อย่างไร?


247

ฉันพยายามใช้

sudo service networking restart

และ

sudo /etc/init.d/network restart

แต่พวกเขาทั้งสองผิดพลาดตัวจัดการหน้าต่างและฉันไม่สามารถใช้แป้นพิมพ์เพื่อป้อนลงใน X ได้อีก

เมื่อฉันใช้/etc/init.d/วิธีการมันบอกว่าฉันควรใช้ยูทิลิตี้บริการ

e.g. service networking restart

แต่มันก็ล่มเหมือนกัน

มีวิธี GUI ในการรีสตาร์ทระบบเครือข่ายหรือไม่?


โปรดทราบว่าคุณอาจมีการแก้ไขแป้นพิมพ์ของคุณใหม่ถ้าคุณถอดปลั๊กและเสียบใหม่ - และมันร้อนเสียบได้เช่น USB
ผู้ใช้ที่ไม่รู้จัก

ฉันยังประสบปัญหาที่คล้ายกันใน Gnome 3 บน Ubuntu 13.03 หน้าจอแตกเป็นแถบด้านบนไป แป้นลัดไม่ทำงาน เนื่องจากไม่มีเมนู / เปิดใช้งานแสดงฉันไม่สามารถใช้งานระบบได้ โชคดีที่เปิดคอนโซลแล้ว ดังนั้นคำสั่ง reboot สามารถพิมพ์ได้
kuldeep.kamboj

1
หากคุณกำลังมองหาวิธี GUI เพียงแค่เปิด dash พิมพ์ "Network" แล้วเลือก ตอนนี้กดปุ่ม "เปิด / ปิด" เพื่อปิดและคลิกอีกครั้งเพื่อเปิด ระบบเครือข่ายของคุณเริ่มต้นใหม่แล้ว
αғsнιη

คำตอบ:


257

สำหรับเดสก์ท็อป

ลอง

sudo service network-manager restart

แทน.

Ubuntu ใช้ตัวจัดการเครือข่ายแทนรุ่นเครือข่าย Linux ดั้งเดิม ดังนั้นคุณควรเริ่มnetwork-managerบริการใหม่แทนnetworkบริการ หรือใช้ ifup

สำหรับเซิร์ฟเวอร์

ตรวจสอบคำตอบนี้


6
อืมแปลกที่การรีสตาร์ทระบบเครือข่ายแตกระบบ มันเกิดขึ้นกับคุณเช่นกันหรือเป็นแค่ฉันเหรอ?
waspinator

5
@waspinator - มันเกิดขึ้นกับฉันด้วย (FYI.)
Josh M.

1
การเติมข้อความอัตโนมัติให้networkingแต่คำสั่งที่ถูกต้องคือnetwork-manager
Abdennour Toumi

1
ฉันหวังว่าฉันจะลองคำตอบของ Jorge ก่อน
Jonathan

4
เมื่อวันที่ 18.04.2 คำตอบคือ:systemctl restart systemd-networkd
Ejoso

111

สำหรับเซิร์ฟเวอร์

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

เนื่องจาก Ubuntu ทำเครือข่ายตามเหตุการณ์จึงไม่มีทางที่จะเลิกทำทั้งหมดและทำซ้ำทั้งหมดดังนั้นการรีสตาร์ทจึงไม่ธรรมดา วิธีที่แนะนำคือใช้ ifdown และ ifup บนอินเตอร์เฟสที่คุณต้องการกำหนดค่าใหม่:

sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a

1
@Jorge Castro: พฤติกรรมนี้จะได้รับการแก้ไขหรือถูกทำลายโดยการออกแบบ?
waspinator

3
@waspinator ข้อผิดพลาดได้รับการแก้ไขเมื่อเดือนมีนาคมปีนี้: bugs.launchpad.net/ubuntu/+source/dbus/+bug/1072518
Jorge Castro

3
จุดประสงค์ของexclude=loที่นี่คืออะไร?
Jeff Atwood

3
@JeffAtwood Loopback ใช้สำหรับ X, dbus เป็นต้นการปิดใช้งานทำให้เกิดปัญหา ...
คนอยู่ที่ไหนสักแห่ง

3
ทำงานบน Ubuntu Server 16.04.1 เซิร์ฟเวอร์ Ubuntu ไม่ได้รวมตัวจัดการเครือข่ายดังนั้นaskubuntu.com/a/230751/13756จึงไม่ทำงาน
Derek Mahar

36

คุณสามารถลอง

ifconfig eth0 down && ifconfig eth0 up

(หรือสิ่งที่เรียกว่าส่วนต่อประสานเครือข่ายของคุณ) เพื่อรีสตาร์ทเครือข่าย


2
... เท่าที่ฉันรู้ว่านี้ไม่ได้อัปเดตการตั้งค่าอินเตอร์เฟซที่เป็นไปตาม / etc / เครือข่าย / อินเตอร์เฟซ ... ซึ่งคุณอาจต้องการ
มอริตซ์

1
เมื่อใช้ sudo: sudo ifconfig eth0 down && sudo ifconfig eth0 up มิฉะนั้นถ้าคุณเชื่อมต่อผ่าน ssh คุณจะต้องรีบูตเครื่อง
tarkeshwar

หลังจากลอง ifup / ifdown และการเรียกระบบเครือข่ายบริการ reg ในที่สุดมันก็ใช้ได้สำหรับฉัน
Jon B

ฉันคิดว่ามันจะดีกว่าคำตอบที่ยอมรับเพราะifupไม่ได้จัดการอินเตอร์เฟสที่ถูกผูกมัดอย่างถูกต้องในขณะที่ifconfigทำ
gilad mayani

21

ubuntu CLI: เพื่อเริ่มบริการเครือข่ายอีกครั้ง

sudo /etc/init.d/networking restart

หรือ

ifdown eth0
ifup eth0

1
สิ่งนี้เคยทำงานให้กับเมล็ดที่มีอายุมากกว่า ตอนนี้ดูเหมือนว่าจะไม่ทำงานแน่นอน ชอบ ifconfig eth0 down & ifconfig eth0 up
josircg

1
ระวังอย่าใช้คำสั่งนี้เมื่อเชื่อมต่อกับเครื่องระยะไกล
Nikolay Kostov

9

service network-manager restart ไม่ทำงาน:

stop: Unknown job network-manager
start: Unknown job network-manager

สิ่งเดียวที่ใช้ได้คือ:

ifconfig eth0 down
ifconfig eth0 up

7
sudo service network-manager restart

มิได้:

sudo service networking restart

ไม่ทำงานบนเซิร์ฟเวอร์ Ubuntu 14.04

เท่านั้น:

sudo ifdown eth0:0
sudo ifup eth0:0

โรงงาน เปลี่ยนeth0: 0เป็นอินเตอร์เฟสของคุณ


7

วันนี้ทางตรงมากที่สุดในการเริ่มต้นบริการเครือข่ายคือการใช้systemdsystemctlควบคุมคือยูทิลิตี้การควบคุม commandline systemd คำสั่งนี้จะรีสตาร์ท NetworkManager:

sudo systemctl restart NetworkManager.service

ข้อมูลเพิ่มเติมสามารถพบได้ที่นี่


1
ลอง "systemctl restart networking.service" บนเซิร์ฟเวอร์ 16.04
cloudsurfin

ไม่ต้องการส่วน ".service" ในตอนท้าย
Gringo Suave

6

ลองใช้ตัวบ่งชี้ (แถบเมนูด้านบน) เพื่อปิดใช้งานแล้วเปิดใช้งานเครือข่าย


5

ฉันมีปัญหาเดียวกัน มันเป็นข้อผิดพลาดที่รู้จักกันhttps://bugs.launchpad.net/ubuntu/+source/dbus/+bug/1102507

ใช้service network-manager restartงานผ่าน


นี่เป็นวิธีแก้ปัญหาที่ทำงานได้เสมอใน 16.04 จากประสบการณ์ของฉัน Ubuntu 16.04 มีปัญหาในการรีสตาร์ท Wi-Fi หลังจากกลับมาจากโหมดไฮเบอร์เนต
danijelc

5

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

ในกรณีนั้นให้รีสตาร์ทการเชื่อมต่อทั้งหมดใช้รหัสนี้จากเชลล์หรือในสคริปต์:

nmcli nm enable false
sleep 5
nmcli nm enable true 

รายละเอียดสามารถพบได้ในบรรทัดคำสั่งคู่มืออินเตอร์เฟซหน้า NetworkManagar

ขอให้สังเกตว่าคำสั่งเหล่านี้ทำหน้าที่เป็นแอปเพล็เพื่อให้พวกเขาไม่จำเป็นสิทธิพิเศษใด ๆ เพิ่มเติม (ไม่sudoหรืออะไรก็ตาม)


4

ใน Ubuntu 14.04 พวกเขามี "ฟีเจอร์" ใหม่ที่ทำให้ไม่สามารถรีสตาร์ทได้ บังคับให้ส่วนต่อประสานทำงานขึ้นและลง

  sudo ip link set eth0 down
  sudo ip link set eth0 up

1
นี่ไม่ได้รีสตาร์ทบริการเครือข่ายนั่นคือไม่ลองอีกครั้งสำหรับที่อยู่ DHCP และอื่น ๆ
Samveen

3

ฉันไม่คิดว่ามีวิธี GUI - โดยค่าเริ่มต้นอย่างน้อย

ฉันยังไม่แน่ใจว่าคุณหมายถึงอะไรโดย 'เริ่มบริการเครือข่ายใหม่' แต่ฉันรู้สึกว่าสิ่งต่อไปนี้สามารถช่วยได้

ก่อนที่ Ubuntu 16.04

sudo killall NetworkManager 

มันฆ่า NetworkManger ซึ่งจะรีสตาร์ทโดยอัตโนมัติหลังจากนี้ มันไม่ทำลายระบบ

Ubuntu 16.04

sudo killall NetworkManager && sudo NetworkManager

จากประสบการณ์ส่วนตัวของฉันดูเหมือนว่าใน Ubuntu 16.04 NetworkManager จะไม่รีสตาร์ทด้วยตัวเองเสมอไปและเป็นการดีกว่าที่จะเริ่มต้นด้วยตนเอง


มันดีกว่าsudo service network-manager restartและทำไม?
underverse

@ ท้ายที่สุดฉันเชื่อว่าsudo service network-manager restartมันไม่ได้ผลสำหรับฉันเมื่อโพสต์คำตอบนี้
kcpr

2

ถ้า Ubuntu 14.04 เดสก์ท็อปหรือเซิร์ฟเวอร์คุณสามารถรีสตาร์ทเครือข่ายของคุณโดย:

sudo -i
( ifdown $(ifquery --list -X lo|xargs echo) && ifup $(ifquery --list -X lo|xargs echo) )&

ฉันได้รับifdown: interface eth0 not configured RTNETLINK answers: File exists Failed to bring up eth0.
โวล์ฟกัง

1

สิ่งนี้ใช้ตัวจัดการเครือข่ายของ Ubuntu เพื่อปิดใช้งานจากนั้นเปิดใช้งาน eth0:

nmcli nm enable false eth0 && nmcli nm enable true eth0

หากการเชื่อมต่อของคุณมีชื่ออื่นให้ใช้ คุณสามารถเรียนรู้ชื่อการเชื่อมต่อของคุณโดยใช้คำสั่ง:

nmcli c status

1

คำตอบของ rmano นั้นยอดเยี่ยม แก้ไขปัญหามากมาย

หมายเหตุถึงการปรับปรุง: ใน U15 ฉันพบกับไวยากรณ์ที่แตกต่างกันสำหรับ nmcli:

สำหรับการวิเคราะห์ทำ:

nmcli networking connectivity

หากต้องการหยุดการบริการให้ทำดังนี้

nmcli networking off

และรีสตาร์ททำ:

nmcli networking on

ไม่ต้องใช้ sudo ขอบคุณ rmano!


0

ทางเลือกอื่นสำหรับเซิร์ฟเวอร์ (ตั้งแต่ Ubuntu 18.04):

  1. ติดตั้งแพ็คเกจ ifupdown2: apt install ifupdown2

  2. ใช้service networking restartคำสั่ง

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