Bir yönlendiriciyi paketleri bırakacak, gecikme süresi verecek, verileri bozacak şekilde yapılandırma


13

Bir ağ üzerinden istek gönderirken / alırken kötü performans için bilerek tasarlanmış bir ortam kurma konusunda herhangi bir deneyim olup olmadığını merak ediyordum. Bir uygulama geliştiriyorum ve son derece kötü performans gösteren ağlar üzerinde sağlam hale getirmek istiyorum. Bir yönlendiriciyi şu şekilde yapılandırmanın mümkün olup olmadığını bilen var mı:

  1. paketleri aralıklı olarak bırakın
  2. paketlerde aralıklı olarak gecikme süresi
  3. paketlerdeki bozuk veriler (bu, paketin açılması, verilerin değiştirilmesi ve TCP katmanının bu tür bir sorunu yakalayacağı için sağlama toplamının güncellenmesini gerektireceği için gerekli değildir)

Bir yönlendiricide mümkün değilse, bir bilgisayarı yönlendirici olarak çalışacak şekilde yapılandırmak ve bunu yapmak mümkün müdür?

Çok teşekkürler!

Yanıtlar:


17

Yönlendirici olarak bir Linux kutusu kullanıyorsanız, netfilter, paket trafiğinizle uğraşmanın çeşitli yollarına sahiptir.

randomModül rastgele paketlerini düşürmek için kullanılabilir. Örneğin, bu:

iptables -A FORWARD -m random --average 10 -j DROP

yönlendiricinin paketleri ortalama% 10 oranında rastgele düşürmesine neden olur.

Ayrıca rastgele paketleri XOR hedefi ile bozabilirsiniz, ör.

iptables -A FORWARD -m random --average 1 -j XOR --key "junktoxortomypacket"

iletilen paketlerin% 1'ini verilen dizeden türetilen bir anahtarla XORing yaparak bozar.


Bu kulağa harika geliyor! Teşekkürler Steven! Bunu hiç kurdun mu? Hangi Linux dağıtımı?
Mark

Debian kullanarak küçük ağlar için yönlendiriciler oluşturmada başarılı oldum. Ancak, netfilter çekirdeğe yerleşik olduğundan, son zamanlarda çekirdeğe sahip herhangi bir Linux dağıtımının iyi olması gerekir. Asla burada açıklandığı gibi "kötü" bir yönlendirici oluşturmayı denemedim, ancak tembel bir Pazar öğleden sonra için ilginç bir proje olabilir ...
Steven Pazartesi

İptables 1.3.5 sürümünü kullanıyorsanız, yukarıdaki komut "iptables v1.3.5:` `random '' eşleşmesi yüklenemedi. Aşağıdaki komut benim için çalıştı - iptables -A FORWARD -m statistic --mode random - olasılık 0.2 -j DROP
prashantsunkari

3

WANem'i Almanya ve Hindistan arasındaki bir WAN'ın ağ koşullarını simüle etmek için başarıyla kullandım . WANem önyüklenebilir bir CD veya sanal cihaz olarak gelir. Sadece önyükleyin, istenen ağ özelliklerini yapılandırın ve ardından trafiğinizi içinden yönlendirin. Resmi açıklamadan alıntı:

WANem, bir LAN ortamı üzerinde uygulama geliştirme / test sırasında Geniş Alan Ağı / İnternet konusunda gerçek bir deneyim sağlamak için tasarlanmış bir Geniş Alan Ağı Emülatörüdür. Tipik olarak uygulama geliştiricileri, LAN üzerinde uygulamalar geliştirirken, amaçlanan amaç, WAN veya İnternet üzerinden aynı olan istemciler olabilir. Böylece WANem, uygulama geliştirme ekibinin Ağ gecikmesi, Paket kaybı, Paket bozulması, Bağlantı Kesmeleri, Paket yeniden siparişi, Değişken, vb. Gibi WAN özelliklerini simüle etmek için kullanılabilecek şeffaf bir uygulama ağ geçidi oluşturmasına izin verir. Veri / Ses trafiği için ağ koşulları ve yaygın olarak kabul edilebilir GPL v2 lisansı altında yayınlandı.


2

Mümkünse yukarı bağlantı portunu 10Mbps ve yarım dubleks olarak ayarlayın. Daha sonra sümükten ping atmak için ağdaki bir ana bilgisayarı kullanın. Bu seni terbiyesizce kısırlaştırmalı: D


Pinglerdeki paket boyutlarını da varsayılandan çok daha büyük olarak ayarlayın. Bu, doygun / genellikle kötü ağ bağlantılarını simüle etmenin gerçekten etkili ve kolay bir yolu olabilir - bant genişliğini 'saldıran' makinenin sahip olduğundan daha düşük bir değere ayarlayarak kasıtlı olarak belirttiğiniz şekilde saklayabilirseniz.
Andrew Barber

Ayrıca MTU ile de karışıklık olabilir, gerçek bir oddball boyutu seçin :)
SpacemanSpiff
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.