Що є кращим методом для перезавантаження мереж в 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.

Відповіді:


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

1
Якщо ви знаходитесь у віддаленому просторі, завжди слід скористатисяscreen
Avio

5
Екран не дуже допоможе, якщо ви вимкнете мережу на віддаленому сервері. У цьому випадку вам доведеться шукати якийсь прямий доступ, що не завжди зручно.
metakermit

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сценарій init, restartі force-reloadвін працюватиме в більшості обставин. Я думаю, що цілком безпечно ігнорувати попередження та все ж використовувати перезапуск . Однак я піду із зупинкою + стартовий шлях :-)

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
Дивіться мою редакцію. Я погоджуюсь, що перезапуск
пулезахисного обладнання

Я думаю, що варто відзначити, що stop+, startздається, робить саме те саме, що і restartбуло б. Схоже, це не є більш безпечним, за винятком використання застарілої опції (застаріло спеціально для відмовлення від цієї операції).
Håkan Lindqvist

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 за межі найбільш гострої ОС?

1
Зовсім ні. Як задумливо з вас!
Едуардо Іванець

3

Команда нижче працює добре в серверному середовищі, не викидаючи попереджень. Він реалізує запит зупинки та запуску в мережі.

sudo service networking start

Здається, це не зупиняється та починається. У всякому разі, це не було для мене в Debian Wheezy. Можливо, це і в якомусь іншому дистрибутиві.
mivk

Він прекрасно працює в Ubuntu
Ерік


1

У Debian Wheezy,

service networking restart

здається, робить те, що очікується, і не скаржиться.

Я думаю, у Джессі з системою це може бути знову різним.


З systemdцим systemctl restart networkingiirc, але "старий" serviceспосіб все ще працює.
wb9688

0

Якщо ви не можете знайти причину того, що мережа не перезапуститься, виконайте це у багатослівному режимі всередині screenсеансу:

ifdown -v --force eth0; ifup -v eth0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.