Apa metode yang disukai untuk memulai kembali jaringan di Ubuntu dan Debian

37

Ketika saya me-restart jaringan menggunakan:

/etc/init.d/networking restart

Saya mendapat peringatan ini:

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

Jadi apa cara terbaik untuk me-restart jaringan setelah membuat perubahan sekarang?

Masalah ini juga berlaku untuk Debian karena paket netbase diwarisi dari debian.

Antonius Bloch
sumber

Jawaban:

27

Itu hanya mengatakan bahwa opsi restart akan hilang

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

Perhatikan hanya ada satu baris! Itu penting ketika menjalankan jaringan restart melalui jaringan.

Mike
sumber
28
dua perintah: - / ide buruk jika Anda berada di remote. Lebih baik gunakan one liner:/etc/init.d/networking stop; /etc/init.d/networking start
hmontoliu
@hmontoliu: sekali lagi tampaknya bijaksana untuk menggunakan restart yang sudah usang karena Anda tidak bisa melupakan perintah awal
mbx
1
Jika Anda berada di jarak jauh, Anda harus selalu menggunakanscreen
Avio
5
Layar tidak akan membantu jika Anda mematikan jaringan di server jauh. Dalam hal ini Anda harus mencari semacam akses langsung, yang tidak selalu nyaman.
metakermit
1
stopdan startjelas tidak usang tetapi digunakan dalam kombinasi mereka memiliki potensi masalah yang sama dengan restartdulu.
Håkan Lindqvist
19

Jalankan perintah init.d tanpa parameter, ia akan memberi tahu Anda yang mana adalah penggunaannya:

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

Tampaknya mulai ulang sudah usang

Itu juga ditinggalkan di Debian setidaknya sejak:

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 <[email protected]>  Sun, 06 Dec 2009 17:09:41 +0100

Bug terkait # 550240 di sini

Itu sangat jahat. Untuk memulai kembali netwokring dari jarak jauh mungkin pendekatan terbaik dan teraman akan dijalankan sebagai berikut dalam sesi layar :

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

Pada networkingskrip init hari ini , restartdan force-reloadakan berfungsi dalam sebagian besar keadaan. Saya kira cukup aman untuk mengabaikan peringatan dan masih menggunakan restart . Namun saya akan pergi dengan cara berhenti + mulai :-)

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
hmontoliu
sumber
Sangat? Restart berguna ketika Anda bekerja dari jarak jauh!
Antonius Bloch
2
Lihat hasil edit saya. Saya setuju bahwa restart anti peluru akan lebih baik daripada berhenti + mulai
hmontoliu
Saya pikir perlu dicatat bahwa stop+ starttampaknya melakukan hal yang persis sama yang restartakan dilakukan. Tampaknya tidak lebih aman, selain tidak menggunakan opsi yang tidak digunakan lagi (tidak digunakan secara khusus untuk mencegah operasi ini).
Håkan Lindqvist
5

Saya menggunakan nohup sh -c "/etc/init.d/networking stop; sleep 2; /etc/init.d/networking start". Saya menambahkan sleep 2karena saya pikir mungkin masalah dengan restart ada hubungannya dengan latensi yang bergantung pada perangkat keras, tapi ini belum dikonfirmasi dan semi-rule of thumb saya agak malu untuk membuat publik. Jadi Anda bisa melewati itu jika Anda merasa rasional!

Eduardo Ivanec
sumber
jadi pada dasarnya Anda mengatakan saya harus me-restart = "nohup sh -c /etc/init.d/networking stop; sleep 2; /etc/init.d/networking start" karena seseorang menggunakan Debian, berpikir pekerjaannya Akankah ini online jika kita benar-benar mengembangkan Linux di luar OS yang paling hobi?
1
Tidak semuanya. Berapa banyak dari Anda!
Eduardo Ivanec
3

Perintah di bawah ini berfungsi dengan baik di lingkungan server, tanpa memberikan peringatan. Ini mengimplementasikan baik berhenti dan mulai permintaan pada layanan jaringan.

sudo service networking start
Erick
sumber
Tampaknya tidak berhenti && mulai. Bagaimanapun, itu bukan untuk saya di Debian Wheezy. Mungkin di beberapa distro lain.
mivk
Ini berfungsi dengan baik di Ubuntu
Erick
2

bagaimana tentang nohup sh -c "ifdown -a && ifup -a"

Dazz
sumber
1

Di Debian Wheezy,

service networking restart

tampaknya melakukan apa yang diharapkan dan tidak mengeluh.

Saya kira di Jessie dengan systemd mungkin berbeda lagi.

mivk
sumber
Dengan systemditu systemctl restart networkingIIRC, tapi "lama" servicecara masih bekerja.
wb9688
0

Jika Anda tidak dapat menemukan alasan jaringan gagal untuk memulai ulang, lakukan dalam mode verbose di dalam screensesi:

ifdown -v --force eth0; ifup -v eth0
sanmai
sumber