如何重新启动网络服务?

was*_*tor 278 networking services

我试着用

sudo service networking restart
Run Code Online (Sandbox Code Playgroud)

sudo /etc/init.d/network restart
Run Code Online (Sandbox Code Playgroud)

但它们都使窗口管理器崩溃,我无法再使用键盘输入 X。

当我使用该/etc/init.d/方法时,它抱怨说我应该使用服务实用程序

e.g. service networking restart
Run Code Online (Sandbox Code Playgroud)

但它崩溃了。

是否有重启网络的 GUI 方法?

jrg*_*jrg 289

对于台式机

尝试

sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)

反而。

Ubuntu 使用网络管理器而不是传统的 Linux 网络模型。所以你应该重启network-manager服务而不是network服务。或者使用 ifup/down

服务器用

检查这个答案

  • 从 18.04.2 开始,答案是:`systemctl restart systemd-networkd` (8认同)
  • 嗯,奇怪的是重新启动网络会破坏系统。你也有这种情况还是只有我有这种情况? (7认同)
  • @waspinator - 它也发生在我身上。(供参考。) (5认同)
  • 我希望我先尝试过豪尔赫的回答。 (2认同)

Jor*_*tro 115

服务器用

在台式机上重启网络会导致 dbus 和一堆服务停止并且永远不会再次启动,通常会导致整个系统无法使用。

由于 Ubuntu 确实会启动基于事件的网络,因此无法完全撤消和重做这一切,因此重启是不可能的。推荐的方法是在您实际要重新配置的接口上使用 ifdown 和 ifup :

sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a
Run Code Online (Sandbox Code Playgroud)

  • 这里`exclude=lo`的目的是什么? (4认同)
  • @JeffAtwood Loopback 用于 X、dbus 等。禁用它会导致...问题。 (4认同)
  • @waspinator 该错误在今年 3 月被标记为已修复:https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/1072518 (3认同)
  • 在 Ubuntu Server 16.04.1 上工作。Ubuntu Server 似乎不包含网络管理器,因此 http://askubuntu.com/a/230751/13756 不起作用。 (3认同)

Neo*_*mes 41

你可以试试

ifconfig eth0 down && ifconfig eth0 up
Run Code Online (Sandbox Code Playgroud)

(或任何您的网络接口被称为)重新启动网络。

  • ...据我所知,这不会根据 /etc/network/interfaces 更新接口的配置 ... 你可能想要 (2认同)

小智 21

ubuntu CLI:重新启动网络服务

sudo /etc/init.d/networking restart

或者

ifdown eth0
ifup eth0
Run Code Online (Sandbox Code Playgroud)

  • 这曾经适用于较旧的内核。现在看来确实行不通。首选 ifconfig eth0 down 和 ifconfig eth0 up (3认同)

dag*_*rha 11

如今,重启网络服务最直接的方法是使用systemd控件,即命令行 systemd 控制实用程序systemctl。此命令将重新启动 NetworkManager:

sudo systemctl restart NetworkManager.service
Run Code Online (Sandbox Code Playgroud)

可以在此处找到更多信息。

  • 在服务器 16.04 上尝试“systemctl restartnetworking.service”。 (2认同)

moz*_*fox 11

对于 ubuntu 服务器 18.04,这有效:

sudo systemctl restart systemd-networkd
Run Code Online (Sandbox Code Playgroud)

  • 对于新的 LTS 20.04,上面的命令可以工作,谢谢! (3认同)

小智 9

service network-manager restart 不起作用:

stop: Unknown job network-manager
start: Unknown job network-manager
Run Code Online (Sandbox Code Playgroud)

唯一有效的是:

ifconfig eth0 down
ifconfig eth0 up
Run Code Online (Sandbox Code Playgroud)


Ale*_*Kim 7

sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)

也不:

sudo service networking restart
Run Code Online (Sandbox Code Playgroud)

不适用于 Ubuntu 服务器 14.04

只要:

sudo ifdown eth0:0
sudo ifup eth0:0
Run Code Online (Sandbox Code Playgroud)

作品。将eth0:0更改为您的界面。


jdt*_*ood 6

尝试使用指示器(顶部菜单栏)禁用然后启用网络。


小智 5

我有同样的问题。它是一个已知的错误https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/1102507

使用service network-manager restart作品通过


kcp*_*cpr 5

我真的不认为有 GUI 方法 - 至少默认情况下是这样。

我也不确定“重新启动网络服务”是什么意思,但我觉得以下内容可能会有所帮助。

Ubuntu 16.04 之前

sudo killall NetworkManager 
Run Code Online (Sandbox Code Playgroud)

它会杀死 NetworkManger,并在此之后自动重新启动。它不会破坏系统。

乌班图16.04

sudo killall NetworkManager && sudo NetworkManager
Run Code Online (Sandbox Code Playgroud)

根据我的个人经验,Ubuntu 16.04 中 NetworkManager 似乎并不总是自动重启,最好手动启动。

  • @Underverse,我相信在发布这个答案时“sudo service network-manager restart”对我来说不起作用。 (2认同)

Rma*_*ano 5

如果可以使用 NetworkManager 的小程序重新启动网络,则不需要重新启动 NetworkManager 本身(至少在大多数情况下)。

在这种情况下,要重新启动所有连接,请在 shell 或脚本中使用以下代码:

nmcli nm enable false
sleep 5
nmcli nm enable true 
Run Code Online (Sandbox Code Playgroud)

详细信息可以在NetworkManagar 命令行界面手册页中找到

请注意,这些命令充当小程序,因此它们不需要任何额外的特权(无sudo或其他)。