UDP को eth0 के बजाय लूपबैक (लोकलहोस्ट) पर जाने वाले यातायात को सीमित करें


1

मैं इसे Ubuntu सर्वर पर VMware वर्कस्टेशन + विंडोज 7 स्थानीय होस्ट के साथ ब्रिड किए गए कनेक्शन पर परीक्षण कर रहा हूं। बाद में इसे जियो सर्वर पर जाना होगा।

मेरे पास उबंटू में वीएलसी स्ट्रीमिंग वीडियो फ़ाइल है

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

बाद में इस धारा को इस प्रकार से चुना udpxyजाता है

udpxy -a lo -m eth0 -p 7777 &

मूल रूप से सब कुछ अच्छी तरह से काम करता है, लेकिन मेरा होस्टिंग प्रदाता यूडीपी ट्रैफिक की गिनती आउटबाउंड के रूप में कर रहा है, हालांकि मुझे बाहर कहीं भी इसकी आवश्यकता नहीं है। मेरा विचार मल्टीकास्ट यूडीपी आउटबाउंड ट्रैफिक को ब्लॉक करना है।

मैंने उपयोग करने की कोशिश की है

route add -net 239.0.0.0/8 dev lo

यातायात सीमित है (इसे बाहर तक नहीं पहुँचा जा सकता है) लेकिन

dumprtp 239.1.1.1 32321

एक ही सर्वर पर काम नहीं कर रहा है और न ही।

इसके अलावा मैंने /etc/network/interfacesइस तरह से मल्टीकास्ट पतों के लिए नया लूपबैक इंटरफ़ेस बनाने की कोशिश की है

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

मैं इसे पाने के लिए काम कर रहा था, लेकिन ऐसा नहीं है।

तो मूल रूप से मैं चाहता हूं कि मल्टीकास्ट udp ट्रैफ़िक बाहरी नेटवर्क से बाहर जाए बिना सर्वर के अंदर रहे। और यह मल्टीकास्ट udp होना चाहिए (स्ट्रीम को स्टोरेज सिस्टम और स्ट्रीम क्वालिटी टेस्ट द्वारा भी चुना जाता है)।

धन्यवाद।


क्या आपने iptables में देखा है ?
XZZZy

हाँ, मैंने किया। मेरी कोशिश थी iptables -A OUTPUT -p udp -d 239.1.1.1 --dport 32321 -o eth0 -j DROPऔर यह udp ट्रैफिक को पूरी तरह से ब्लॉक कर देता है। सर्वर के अंदर भी शामिल है। इसे साथ नहीं पढ़ सकतेdumprtp 239.1.1.1 32321
जॉनाटन

हम्म, हाँ, यह अजीब है ... उस नियम को केवल eth0 पर जाने वाले पैकेट को ब्लॉक करना चाहिए। शायद यूडीपी हमेशा eth0 से गुजरता है, क्योंकि यह एक नेटवर्क एड्रेस है। आप एक वर्चुअल नेटवर्क बनाने और उस नेटवर्क पर udp पैकेट भेजने की कोशिश कर सकते हैं। इसलिए केवल एक udp लूपबैक न बनाएं, आपको एक नया संपूर्ण इंटरफ़ेस बनाने की आवश्यकता होगी, जिसमें स्वयं का आईपी-पता हो।
XZZZy

यही कारण है कि मैं लूपबैक के लिए नया इंटरफ़ेस बनाकर कोशिश की है। शायद मैंने गलत किया? क्या पता 239.1.1.1 के साथ स्टेटिक इंटरफ़ेस बनाना वैध है? वह पता केवल मल्टीकास्ट के लिए आरक्षित है। लेकिन यह है कि मैं eth0 से फिर से रूट करने की आवश्यकता है।
जॉनाटन

1
अच्छी बात है कि मैंने फॉलो-अप करने का फैसला किया और देखा कि क्या गतिविधि है। संकेत: यदि आप @killermist जैसी किसी चीज़ से किसी व्यक्ति को "टैग" करते हैं, तो यह उन्हें सूचित करेगा कि उन्हें जवाब दे दिया गया है। वैसे भी, व्यापार पर। अंधेरे में गोली मार दी, क्या आपने cvlc कमांड में "dst = 239.1.1.1" के बजाय "dst = 127.0.0.1" (आधिकारिक लोकलहोस्ट आईपी) का उपयोग करने पर विचार किया है?
हत्यारे

जवाबों:


1

समाधान था:

  1. --miface=loVLC में नया विकल्प जोड़ें :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. loमल्टीकास पतों के लिए मार्ग जोड़ें :route add -net 239.1.1.0 netmask 255.255.255.0 dev lo

    2 ए। मार्ग को स्थायी बनाने के लिए हमें इसे /etc/network/interfacesउपसर्ग के साथ जोड़ना होगा up। ऐशे ही:up route add -net 239.1.1.0 netmask 255.255.255.0 dev lo

बस। अब VLC loइंटरफ़ेस को स्ट्रीम कर रहा है और नहीं eth0। इसके अलावा कोई भी एप्लिकेशन जो 239.1.1.1 - 239.1.1.254 के लिए सदस्यता लेना चाहता है, उसे loइंटरफ़ेस के माध्यम से करने वाला है ।

उम्मीद है कि यह किसी को स्ट्रीमिंग समस्या को हल करने में मदद करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.