Çıkarılan ağ kablosunu veya sunucuyu nasıl taklit edebilirim?


14

Netem ile ağ gecikmesini simüle ettim ve harika. Şimdi, takılı olmayan ağ kablosunu veya sunucu kapandığında taklit etmek istiyorum. Uygulamamın test edilmesini kolaylaştırmak için buna ihtiyacım var ve web'de bana yardımcı olacak hiçbir şey bulamadım. Sunucularım sanal CentOS bulut sunucuları ve Virtualbox'ta. Bunu bir php web sayfasından yapmak istiyorum.

Yanıtlar:


17

Sadece arayüzü indir. Örneğin, eth0 ile:

ip link set eth0 down

Arayüzü yeniden getirmek için:

ip link set eth0 up

teşekkür ederim, burada
Safe

1
başarıyla çalışıyor ama ip link set eth0 upçalışmıyor :( ve ikisine de ihtiyacım var
SafeY

@NancySmith "Çalışmıyor" anlamlı değil. Hangi hata mesajları oluşur? Bir IP ve ağ maskesi atadınız mı?
Chris Down

Ben ip link set eth0 downphp ve ping üzerinden kullanılan demek sunucum ulaşılamaz olduğunu gösterir. sonra geri "yukarı" almak istedim, ip link set eth0 uphala php ve sunucu üzerinden idam .
Güvenli

3
@NancySmith Bağlandığı her şeye erişimi olmayan başka bir ağ arabirimi oluşturun (yolları kullanarak, vb.). Bu arabirimi kullanarak ana bilgisayara SSH. Eğer ki arayüz aşağı getir değil aracılığıyla SSH bağlanırken.
Chris Down

7

SSH üzerinden bağlandığınız bir makinede en iyi oyu alan cevabı kullanırken, ağı indirip geri getirmenin bir yolu yoktur. Aşağıdakiler, SSH bağlantısındayken onu indirmenin ve geri getirmenin bir yoludur.

Arayüz kullanma örneği ens32:

Eğer koşarsan:

ip link set ens32 down

Ve SSH üzerinden bağlanıyorsunuz, ağınızı devre dışı bıraktığınızdan ve bu nedenle sunucunuza SSH yapamayacağınız için onu tekrar açamayacaksınız.

20 saniyelik kesinti simülasyonu için aşağıdaki komut dosyasını kullanıyorum:

#!/bin/sh
ip link set ens32 down
sleep 20
ip link set ens32 up

Downtime.sh kaydedin, dosyanın yürütme haklarına sahip olduğundan emin olun ve çalıştırın:

sudo ./downtime.sh

1
iyi şeyler. Ayrıca, hangi arayüzün kesileceğinden
Jeutnarg

1
erm ... Ben linux bir acemi değilim ama burada bazı kötü tavsiyeler olabilir: Bu komut dosyası nohup yoksa, ne olur onu yürütmek, oturum (bağlantı kesilmesi nedeniyle) ölür ve komut dosyası durur ( ve net arayüzü asla canlandırmaz). Nohup ile ilgili bazı okumaların değerli olması gerektiğini düşünüyorum!
DraxDomax

@DraxDomax söyledikleriniz mantıklı geliyor, ancak geri dönmemekle ilgili herhangi bir sorun yaşamadım. Oysa kabul edilen cevapla ilgili sorunlar yaşadım.
alay

@Mocking Üzgünüm, yorumumu düzenleyemedim. Mutlaka "kötü tavsiye" değildir. Aslında güzel bir proaktif cevap, çünkü bu soruyu bulan insanların% 90'ı aynı şeyi yapmaya çalışıyor: "Yazılımımın makine bağlantısı kesildikten sonra çalışıp çalışmadığını test etmem gerekiyor. Sanallaştırma ana bilgisayarına erişimim yok" . Aslında, senaryonuza başvurdum (sadece adaptörüm br0 idi) - benim durumumda işe yaramadı (MacOS'tan CentOS'a SSH) ve ağı tekrar getirmek için BT adamımızı çağırmak zorunda kaldım.
DraxDomax

1

Sanal kutu konsol pencerenizde bir Makine menüsünün aşağı çekilmesi gerekir. Bunun altında birkaç eylem var. Bunlardan biri Güç kapalı. Hemen kapanma için bir tane seçmeniz gerekir. Bu, fiziksel bir sunucunun güç kablosunu sormaya en yakın şeydir.


Bunu bir web sayfasından yapmak istiyorum. somurtkan makineleri nasıl kapatacağımı biliyorum.
Güvenli

ve bunu taklit etmek istemiyorum. Gerçekten kapatıp tekrar önyükleme yapmayın.
Güvenli

Bahsederek netem, sorunun gerçekten kablosunu güç sunucusundan değil, bir sunucudan çıkarmakla ilgili olduğunu varsayıyorum (açık olmasa da).
Chris Down

Soruyu daha açık hale getirmek için düzenleyeceğim, teşekkürler
Safe
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.