UDP giden trafiğini eth0 yerine loopback (localhost) ile sınırlandırın


1

Atm, Ubuntu Sunucusunda VMware Workstation + Windows 7 yerel ana bilgisayarında köprülü bağlantı ile test ediyorum. Daha sonra bunun canlı sunucuya gitmesi gerekiyor.

Ubuntu'da VLC video akışı var

cvlc -vvv /home/user/file.avi --loop --sout '#rtp{access=udp,mux=ts,dst=239.1.1.1,port=32321,caching=10000}'

daha sonra bu akış udpxyolarak

udpxy -a lo -m eth0 -p 7777 &

Temelde her şey iyi çalışıyor, ancak barındırma sağlayıcım UDP trafiğini dışarıda olduğu gibi saymama rağmen dışarıda sayıyor. Benim fikrim çok noktaya yayın UDP giden trafiğini engellemektir.

Kullanmaya çalıştım

route add -net 239.0.0.0/8 dev lo

trafik sınırlıdır (dışarıdan erişilememektedir) ancak

dumprtp 239.1.1.1 32321

Aynı sunucuda da çalışmıyor.

Ayrıca, bunun /etc/network/interfacesgibi çok noktaya yayın adresleri için yeni bir geridöngü arabirimi oluşturmayı da denedim

auto lo lo:udp
iface lo inet loopback

iface lo:udp inet static
    address 239.1.1.1
    netmask 255.0.0.0
    network 239.0.0.0

Sadece işe koyulmaya çalışıyordum ama işe yaramadı.

Yani temelde, çok noktaya yayın udp trafiğinin dış ağa gitmeden sunucuda kalmasını istiyorum. Ve çok noktaya yayın udp olmalıdır (akış ayrıca depolama sistemi ve akış kalitesi testleri tarafından da toplanır).

Teşekkürler.


iptables'a baktın mı?
XyZZy

Evet yaptım. Benim denemeydi iptables -A OUTPUT -p udp -d 239.1.1.1 --dport 32321 -o eth0 -j DROPve It bloklar udp trafiği tamamen. İç sunucu dahil olmak üzere. İle okunamıyordumprtp 239.1.1.1 32321
Johnatan

hmm, evet, bu çok garip ... bu kural sadece eth0 paketlerini bloke etmeli. Belki de UDP her zaman eth0'dan geçer, çünkü bu bir ağ adresidir. Sanal bir ağ oluşturmayı ve bu ağa udp paketleri göndermeyi deneyebilirsiniz. bu yüzden sadece bir udp geridöngü oluşturmayın, kendi IP adresiyle yeni bir tam arabirim oluşturmanız gerekir.
XyZZy

Geri döngü için yeni bir arayüz oluşturarak bunu denedim. Belki yanlış yaptım? 239.1.1.1 adresine sahip statik bir arayüz oluşturmak geçerli midir? Bu adres yalnızca çok noktaya yayın için ayrılmıştır. Fakat bu, eth0'dan yeniden yönlendirmem gereken şey.
Johnatan

1
İyi bir şey izlemeye karar verdim ve aktivite olup olmadığını görmek. İpucu: @killermist gibi bir şeye sahip bir kişiyi "etiketlerseniz", yanıtlandıklarını bildirir. Her neyse, işe gidiyoruz. Karanlıkta vurdu, cvlc komutunda "dst = 239.1.1.1" yerine "dst = 127.0.0.1" (yetkili localhost IP) kullanmayı düşündünüz mü?
katilist

Yanıtlar:


1

Çözüm şuydu:

  1. --miface=loVLC'ye yeni seçenek ekleyin :cvlc -vvv /home/user/file.avi --loop --sout '#rtp{access=udp,mux=ts,dst=239.1.1.1,port=32321,caching=10000}' --miface=lo
  2. loMulticas adresleri için rota ekle :route add -net 239.1.1.0 netmask 255.255.255.0 dev lo

    2a. Rotayı kalıcı kılmak için /etc/network/interfacesönek ile eklemeliyiz up. Bunun gibi:up route add -net 239.1.1.0 netmask 255.255.255.0 dev lo

Bu kadar. Şimdi VLC, loarayüze değil akışa bakıyor eth0. Ayrıca 239.1.1.1 - 239.1.1.254'e abone olmak isteyen herhangi bir uygulama loarayüz üzerinden yapacaktır .

Umarım bu, birisinin akış sorununu çözmesine yardımcı olur.

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.