LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 08-01-2017, 11:23 AM   #1
Brean2010
LQ Newbie
 
Registered: Aug 2017
Location: France
Posts: 10

Rep: Reputation: Disabled
IGMP multicast proxy configuration issue (mcproxy)


Hello,
I post this message because I can't set up my IGMP proxy on Linux (computer with 3 ethernet interfaces on Kubuntu 16.10 amd64). I did a scheme of the network: http://i.imgur.com/4OzQ7tS.png
I link you the:And it's the configuration script of my server:
Code:
#!/bin/bash
 
#Test root
if [[ $EUID -ne 0 ]];
then
	echo "Error: This script must be run as root." 1>&2;
	exit 1;
fi
 
sysctl -w net.ipv4.ip_forward=1; #Enable packet forwarding
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0; #Enable ICMP
 
echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter;
 
#Routing table configuration
ip route flush table main;
route add -net 192.168.1.0/24 dev enp2s0f1 metric 0;
route add -net 192.168.0.0/24 dev eno1 metric 10;
route add -net 10.159.48.0/22 dev enp2s0f0 metric 100;
route add default gw 10.159.51.254 dev enp2s0f0 metric 10000;
 
#Firewall/NAT configuration
iptables -F INPUT;
iptables -F OUTPUT;
iptables -F FORWARD;
iptables -t mangle -F PREROUTING;
iptables -t nat -F POSTROUTING;
iptables -P INPUT ACCEPT;
iptables -P OUTPUT ACCEPT;
iptables -P FORWARD ACCEPT;
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 10.159.50.95;
To configure my IGMP proxy I use mcproxy (https://github.com/mcproxy/mcproxy). The check tool of mcproxy indicates that my kernel has all modules needful for the program (screenshot: http://i.imgur.com/QZXt9WP.png).

I also show you my mcproxy configuration file (mcproxy.conf):
Code:
protocol IGMPv2;
 
pinstance myProxy: enp2s0f1 ==> eno1;
After doing all configurations above, I have this problem:
When my client does an IGMP request (with VLC for example) to request a RTP stream, I note that my request goes to the proxy, the proxy forwards the request to the IGMP device, and in case of "IGMP join" the IGMP device transmits the RTP stream to the proxy but the proxy don't forwards the RTP stream to the client.

If someone sees something wrong in my configuration or if someone has a better tool to answer my need, It would help me a lot.

Thanks in advance.

Best regards,

Last edited by Brean2010; 08-02-2017 at 05:28 AM.
 
Old 08-03-2017, 03:24 PM   #2
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,839

Rep: Reputation: 160Reputation: 160
Do you debug the issue? Does IGMP device receive IGMP joining request and so on?
 
Old 08-04-2017, 05:41 AM   #3
Brean2010
LQ Newbie
 
Registered: Aug 2017
Location: France
Posts: 10

Original Poster
Rep: Reputation: Disabled
I haven't solved the problem. I have tested another tool (igmpproxy) but I have the same issue.

The IGMP device receives the IGMP "join request" that comes from the client and which is passed through the proxy. Therefore the IGMP device send the RTP stream to the proxy, the RTP stream reach the enp2s0f1 interface of the proxy but the proxy don't sends the RTP stream to the client.
 
Old 08-04-2017, 04:02 PM   #4
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,839

Rep: Reputation: 160Reputation: 160
You need use multicast test tool to test multicast proxy instead of multicast RTP stream at first. RTP stream could request unicast.
 
Old 08-07-2017, 04:47 AM   #5
Brean2010
LQ Newbie
 
Registered: Aug 2017
Location: France
Posts: 10

Original Poster
Rep: Reputation: Disabled
Hello,

What tool do you recommend to test multicast?
 
Old 08-07-2017, 03:20 PM   #6
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,839

Rep: Reputation: 160Reputation: 160
omping tool is good enough.
 
Old 08-08-2017, 06:38 AM   #7
Brean2010
LQ Newbie
 
Registered: Aug 2017
Location: France
Posts: 10

Original Poster
Rep: Reputation: Disabled
Hello,

Today, I did my test with omping. But I'm not sure to completely understand the results. When I use omping I see the RTP stream from the IGMP device go to the proxy like with VLC but I also see few UDP segments from the proxy go to the client. But I don't see an IGMP device RTP stream go to the client. Therefore, I don't know if my multicast working properly or not.

It's my omping command:
Code:
trias-test@triastest-Latitude-D620:~$ omping -m 232.0.6.10 -p 8200 192.168.0.1
192.168.0.1 : waiting for response msg
192.168.0.1 : joined (S,G) = (*, 232.0.6.10), pinging
192.168.0.1 :   unicast, seq=1, size=69 bytes, dist=0, time=0.041ms
192.168.0.1 : multicast, seq=1, size=69 bytes, dist=0, time=0.061ms
192.168.0.1 :   unicast, seq=2, size=69 bytes, dist=0, time=0.106ms
192.168.0.1 : multicast, seq=2, size=69 bytes, dist=0, time=0.129ms
192.168.0.1 :   unicast, seq=3, size=69 bytes, dist=0, time=0.108ms
192.168.0.1 : multicast, seq=3, size=69 bytes, dist=0, time=0.130ms
192.168.0.1 :   unicast, seq=4, size=69 bytes, dist=0, time=0.103ms
192.168.0.1 : multicast, seq=4, size=69 bytes, dist=0, time=0.124ms
192.168.0.1 :   unicast, seq=5, size=69 bytes, dist=0, time=0.157ms
192.168.0.1 : multicast, seq=5, size=69 bytes, dist=0, time=0.180ms
192.168.0.1 :   unicast, seq=6, size=69 bytes, dist=0, time=0.100ms
192.168.0.1 : multicast, seq=6, size=69 bytes, dist=0, time=0.122ms
192.168.0.1 :   unicast, seq=7, size=69 bytes, dist=0, time=0.107ms
192.168.0.1 : multicast, seq=7, size=69 bytes, dist=0, time=0.129ms
192.168.0.1 :   unicast, seq=8, size=69 bytes, dist=0, time=0.104ms
192.168.0.1 : multicast, seq=8, size=69 bytes, dist=0, time=0.127ms
192.168.0.1 :   unicast, seq=9, size=69 bytes, dist=0, time=0.105ms
192.168.0.1 : multicast, seq=9, size=69 bytes, dist=0, time=0.128ms
192.168.0.1 :   unicast, seq=10, size=69 bytes, dist=0, time=0.105ms
192.168.0.1 : multicast, seq=10, size=69 bytes, dist=0, time=0.128ms
^C
192.168.0.1 :   unicast, xmt/rcv/%loss = 10/10/0%, min/avg/max/std-dev = 0.041/0.104/0.157/0.028
192.168.0.1 : multicast, xmt/rcv/%loss = 10/10/0%, min/avg/max/std-dev = 0.061/0.126/0.180/0.028
And here is a link to download PCAP trame capture of the interfaces enp2s0f1 and eno1 of my IGMP proxy during the omping : https://tf.orange.com/DownloadTransa...btfDOje66E%3d&

Last edited by Brean2010; 08-08-2017 at 06:40 AM.
 
Old 08-08-2017, 03:45 PM   #8
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,839

Rep: Reputation: 160Reputation: 160
Based on your network topology, I can't find IP address of IGMP device.
The omping has to execute on IGMP device and client and command like following.
omping -m 232.0.6.10 -p 8200 192.168.0.1 "IP address of IGMP device"
 
Old 08-09-2017, 04:23 AM   #9
Brean2010
LQ Newbie
 
Registered: Aug 2017
Location: France
Posts: 10

Original Poster
Rep: Reputation: Disabled
I didn't specified but the "RTP Multicast Network" in my topology is an IPTV network and the IGMP device receives hundreds of IPTV streams and the rtp://232.0.6.10:8200 is part of this, and I use this RTP stream to do my tests. Basically, the IGMP device is configured to receive all IPTV streams and it's used for analysis purpose but it's also configured to resending IPTV streams when it receive an IGMP join request.

Last edited by Brean2010; 08-09-2017 at 04:34 AM.
 
Old 08-09-2017, 04:14 PM   #10
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,839

Rep: Reputation: 160Reputation: 160
For mcproxy, do you follow their README to test or debug mcproxy, such as multicast route and forwarding status?
 
Old 08-10-2017, 04:43 AM   #11
Brean2010
LQ Newbie
 
Registered: Aug 2017
Location: France
Posts: 10

Original Poster
Rep: Reputation: Disabled
Yes, I read the README and the documentation but the configuration part isn't very clear.

When I did my test, I launch mcproxy in debug mode with the command:

sudo mcproxy -dsvv -f ./mcproxy.conf

And during an omping, on the output, periodically I get this:
Code:
@@##-- proxy instance myProxy (table:0,lifetime:52sec) --##@@
pinstance myProxy upstream * in rulematching first 
pinstance myProxy upstream * out rulematching all 
##-- simple multicast routing information base --##
group: 232.0.6.10
        sources: 10.159.50.95(10sec,40x); 192.168.0.1(9sec,40x); 
        192.168.1.11(19sec); 
        10.159.50.95 ==> enp2s0f1
        192.168.0.1 ==> eno1
        192.168.1.11 ==> enp2s0f1
group: 239.255.255.250
        sources: 192.168.1.1(10sec,1x); 
        192.168.1.1 ==> enp2s0f1
##-- upstream interfaces --##
enp2s0f1(index:3) 

##-- downstream interface: eno1 (index:4) --##
querier version: IGMPv2
is querier: true
general query timer: 103sec
startup query count: 0
subscribed groups: 2
-- group address: 224.0.0.251
        IGMPv2, EXCLUDE_MODE(248sec)
        requested list(#0): 
        exclude_list(#0): 
-- group address: 232.0.6.10
        IGMPv2, EXCLUDE_MODE(248sec)
        requested list(#0): 
        exclude_list(#0):
Also during an omping I check the multicast routing table and I get this:
Code:
dev@dev-PC-OR6114253:~$ ip mroute show
(192.168.1.11, 232.0.6.10)       Iif: enp2s0f1   Oifs: eno1 
(192.168.0.1, 232.0.6.10)        Iif: eno1       Oifs: enp2s0f1 
(10.159.50.95, 232.0.6.10)       Iif: enp2s0f1   Oifs: eno1
 
Old 08-10-2017, 03:35 PM   #12
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,839

Rep: Reputation: 160Reputation: 160
Quote:
Also during an omping I check the multicast routing table and I get this:
What's your meaning, during omping? Do you mean that these routes are gone after omping?
 
Old 08-11-2017, 04:12 AM   #13
Brean2010
LQ Newbie
 
Registered: Aug 2017
Location: France
Posts: 10

Original Poster
Rep: Reputation: Disabled
I mean that I captured these logs on the proxy in same time that I did recurring ompings from the client to the IGMP Device.

These routes have been made during the time between the IGMP join request and the IGMP leave request does by the start and the stop of an omping command.
 
Old 08-11-2017, 04:09 PM   #14
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,839

Rep: Reputation: 160Reputation: 160
That means that multicast route isn't correct, proxy should keep these route entry. I can't find out how to control query time for mcproxy.
Following link give you more example for mcproxy. You can try it, keep checking multicast route.
Or you can try igmpproxy again, checking all information.
 
Old 08-28-2017, 03:57 AM   #15
Brean2010
LQ Newbie
 
Registered: Aug 2017
Location: France
Posts: 10

Original Poster
Rep: Reputation: Disabled
I'm sorry, I couldn't continue my tests lately. I don't find the link in your last post.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ubuntu14.04] Multicast issue SierraBravo Linux - Newbie 0 12-02-2015 05:45 PM
PPP Multicast proxy TheCrow33 Linux - Networking 0 08-14-2012 02:54 PM
Virtual Host Configuration - Issue (Utilization of Proxy Pass Method) sanjay.s Linux - Newbie 1 08-11-2009 04:55 AM
Odd 2.6.27 multicast issue taskswap Linux - Networking 1 12-08-2008 10:46 AM
VLAN id of IGMP multicast packets venkrm Linux - Newbie 1 04-02-2008 02:11 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 05:18 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration