在Ubuntu和Debian中重新启动网络的首选方法是什么


37

当我使用以下方法重新启动网络时:

/etc/init.d/networking restart

我收到此警告:

 Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces

那么,现在进行更改后重新启动网络的最佳方法是什么?

该问题也适用于Debian,因为netbase软件包是从debian继承的。

Answers:


27

只是说重启选项不见了

/etc/init.d/networking stop; /etc/init.d/networking start

注意只有一行!通过网络运行网络重新启动时,这一点很重要。


28
两个命令:-/如果您位于远程,则不好。最好使用一根衬纸:/etc/init.d/networking stop; /etc/init.d/networking start
hmontoliu

@hmontoliu:再次使用不建议使用的重启似乎很明智,因为您不会忘记启动命令
mbx 2011年

1
如果您位于偏远地区,则应始终使用screen
Avio

5
如果您关闭远程服务器上的网络,屏幕将不会真正帮助您。在这种情况下,您将不得不搜索某种直接访问,但这并不总是很方便。
metakermit 2014年

1
stop并且start显然不被弃用,但结合使用它们具有与以前相同的潜在问题restart
哈坎·林德奎斯特

19

运行不带参数的init.d命令,它将告诉您用法:

~# /etc/init.d/networking 
Usage: /etc/init.d/networking {start|stop}

似乎不建议重新启动

至少由于以下原因,它在Debian中也不推荐使用:

netbase (4.38) unstable; urgency=low

  * Create /etc/sysctl.d/bindv6only.conf on upgrades and new installs
    to set net.ipv6.bindv6only=1.
  * Made the init script check for swap over the network. (Closes: #540697)
  * Temporarily depend on initscripts to work around a bug in multistrap.
    (Closes: #556399)
  * etc-services: added sieve (4190/tcp).
  * etc-services: removed sieve (2000/tcp). (Closes: #555664)
  * Made the init script warn that using the force-reload and restart
    parameters is not a good idea. (Closes: #550240)

 -- Marco d'Itri <md@linux.it>  Sun, 06 Dec 2009 17:09:41 +0100

相关的错误#550240在这里

真讨厌 要从远程重新启动netwokring,最好的和最安全的方法将在屏幕会话中运行以下命令:

~# /etc/init.d/networking stop; /etc/init.d/networking start

作为今天的networking初始化脚本,restart并且force-reload将工作在大多数情况下。我认为忽略警告并仍然使用restart是相当安全的。但是,我将使用停止+开始方式:-)

case "$1" in
start)
    process_options

    log_action_begin_msg "Configuring network interfaces"
    if ifup -a; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

stop)
    check_network_file_systems
    check_network_swap

    log_action_begin_msg "Deconfiguring network interfaces"
    if ifdown -a --exclude=lo; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

force-reload|restart)
    process_options

    log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces"
    log_action_begin_msg "Reconfiguring network interfaces"
    ifdown -a --exclude=lo || true
    if ifup -a --exclude=lo; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

*)
    echo "Usage: /etc/init.d/networking {start|stop}"
    exit 1
    ;;
esac

真?在远程工作时,重新启动很有用!
安东尼·布洛赫

2
看到我的编辑。我同意防弹重启比停止+启动更好
-hmontoliu

我认为值得注意的是,stop+ start似乎可以做的完全相同restart。除了不使用不推荐使用的选项(不推荐使用此选项是为了阻止此操作)外,它似乎没有任何安全性。
霍坎·林德奎斯特

5

我用nohup sh -c "/etc/init.d/networking stop; sleep 2; /etc/init.d/networking start"。我补充一下,sleep 2因为我认为重启问题可能与依赖于硬件的延迟有关,但这还没有得到证实,半公开的规则让我有些羞愧。因此,如果您感到理性,可以跳过该步骤!


所以基本上您是在说我必须使用别名restart =“ nohup sh -c /etc/init.d/networking stop; sleep 2; /etc/init.d/networking start”,因为有人使用Debian,认为他或她的工作是如果我们实际上将Linux扩展到最老套的OS之外,还会上线吗?

1
一点也不。你真是个疯子!
Eduardo Ivanec

3

下面的命令在服务器环境中运行良好,不会引发警告。它在网络服务上实现了停止和启动请求。

sudo service networking start

那似乎并没有停止&&开始。无论如何,在Debian Wheezy中对我来说不是。也许在其他发行版中也是如此。
mivk

它在Ubuntu中很好用
Erick


1

在Debian Wheezy中,

service networking restart

似乎可以完成预期的工作,并且不会抱怨。

我猜在杰西与systemd可能再次有所不同。


随着systemd它的systemctl restart networkingIIRC,但“旧” service的方式仍然是工作。
wb9688

0

如果找不到网络无法重新启动的原因,请在screen会话内以详细模式进行操作:

ifdown -v --force eth0; ifup -v eth0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.