RHEL'de belirli ağ arayüzünü nasıl “yeniden başlatırım”?


18

RHEL'de, service network restartkomut kullanmak yerine, belirli bir ağ arabirimini nasıl yeniden başlatabilirim, tek bir komutla "eth1" diyelim.

"Sadece bir komut" çünkü bu benim sshüzerinde çalıştığım tek arayüz . Eğer kullanmak üzereysem: ifdownve sonra ifup, ifupkomuttan sshsonra bir kez sonlandırıldığı için hiçbir zaman komuta ifdown eth1vuramayacağım.

Bu yüzden, mevcut sshbağlantımı sunan arabirimi tamamen indirip sonra da getirmeme izin veren tek bir komut olmalı . Bu yüzden tamamen sunucum için kayıp bağlantı hakkında endişelenmenize gerek yok.

Herhangi bir fikir lütfen?

Yanıtlar:


27

Kullanabilirsiniz:

ifdown eth1 && ifup eth1

Tek bir komut olarak. && sadece bir komutu, sonra ilk komut başarılı olursa diğerini çalıştırır . Sudo kullanmanız gerekiyorsa, her komuttan önce kullandığınızdan emin olun:

sudo ifdown eth1 && sudo ifup eth1

Arayüzünüz mevcut IP ile eşleşmek için gerekli IP'ye ve yola sahip olacak şekilde yapılandırıldığı sürece ssh bağlantınız düşmeyecektir.

Başka bir erişim yönteminiz olmayan bir üretim sunucusunda kullanmaktan endişe ediyorsanız, bu anlaşılabilir. Komut tam olarak istediğinizi yapsa da, yalnızca bu komutu çalıştırdıktan sonra fark edilen bir yapılandırma hatası almak çok kolaydır. Alternatif bir erişim yönteminiz yoksa (örneğin, bant dışı konsol veya başka bir arabirimde çalışan SSHD), bunu yapmamak en güvenli yoldur .

Bu tekniği genellikle arabirimin 'yeniden başlatılmasını' gerçekleştirmek için kullanıyorum, ancak genellikle bunu yaptığımda kullanılabilecek yedek bir erişim yöntemim var.


bu artı OOB yönetimi FTW
dmourati

3
Önerebilir miyim ifdown eth1 && ifup eth1, ifdown başarılı olmadıkça ifup bu şekilde çalışmazken, ;ifdown nasıl olursa olsun ifup ile çalışır.
zam

@zamnuts Yanıt şimdi bunu içerecek şekilde düzenlendi :)
David Gardner

1

Aşağıdaki komutları vererek bir arabirimi 'yeniden başlatabilirsiniz':

# ifdown eth1
# ifup eth1

Bundan sonra, yeni yapılandırmanızın etkin olduğunu doğrulayabilirsiniz

# ip a

Üzgünüm ama ihtiyacım .. "Sadece bir komut" çünkü bu benim ssh da üzerinde çalıştığı tek arayüz. Eğer kullanmak üzereysem: ifdown ve sonra ifup, ifup eth1 komutundan sonra bir kez sonlandırıldığım için ifup komutunu asla vuramayacağım. Bu yüzden aşağı ve sonra benim geçerli ssh bağlantısı hizmet arabirimi getirmek tek bir komut olmalıdır. Bu yüzden sunucum için kayıp bağlantı hakkında endişelenmenize gerek yok.
劇場 期 劇場

Onları bir kabuk betiği yapabilir ve kısa ağ kesintisi olsa bile, ssh oturumunuzun sonlandırılmaması gerekir. Diğer seçenek, o komut dosyasını ssh oturumunuz başarısız olsa bile ekran oturumunun içinde sonuna kadar yürütülecek şekilde çalıştırmaktır.
jerQ

1
bu yardımcı olacak mı? ifdown eth1 ; ifup eth1?
劇場 期 劇場

0

Uzak makinedeki bir arabirimin IP adresini (veya bu konudaki herhangi bir arabirim parametresini) değiştirmeye mi çalışıyorsunuz? Yanıt evet ise, aşağıdakilerden birini deneyebilirsiniz:

Serin bir yöntem, sadece 'ekran' yazarak bir oturum oluşturmak için ekran yardımcı programını kullanmaktır. Ağ hizmetini yeniden başlattığınızda ve SSH bağlantınız kesildiğinde , oturumun hala etkin (ancak ayrılmış) olup olmadığını denetlemek için screen -ls ve ayrılmış oturuma devam etmek için screen -r tuşlarını kullanın. Bu, arayüz yapılandırma dosyanızda herhangi bir hata olmaması durumunda çalışır, yani ağ hizmeti başarıyla yeniden başlatılır.

Aşağıdaki hileyi de kullanabilirsiniz:

$ cp -v current_conf_file current_conf_file.bak
$ echo "mv current_conf_file.bak current_conf_file && service network restart" | at now+10min

Arayüz yapılandırma dosyanızı düzenlemeye ve ağ hizmetini yeniden başlatmaya devam edin. Bir hata durumunda, önceki yapılandırmanın yeniden uygulanması ve ağ hizmetinin yeniden başlatılması için sadece 10 dakika beklemeniz gerekir.


-3

ifup & ifdown hakkında konuşan tüm cevaplar soruya göre değildir. ifup & ifdown sadece arayüzü yukarı ve aşağı getirmek, ağ hizmetini etkilemez. Linux ağ servisi için sadece ip kurulumu arayüzleri anlamına gelmez.

daha fazla bilgi için lütfen /etc/rc.d/network komut dosyasına bakın.


1
Hangi noktayı yaptığınızdan emin değilim. OP, ağ hizmetini yeniden başlatmayı değil , yalnızca bireysel bir arabirimi yeniden başlatmayı sormaz . Dahası, OP, önerdiğiniz komutları açıkça kullanan bir yanıtı kabul etti. Benden -1.
MadHatter Monica
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.