IGMPproxy configuration

I don’t understand the meaning of this file a bit, and how it works, wiki didn’t help me in any way

Start with the topology of your network, explaining what you mean by

and installing igmpproxy if you did not do that already. Do you know how to work with the console of IPFire?

Network topology, Receiving network equipment = switch = PC + Router + TV set-top box

Insufficient information for me. Draw a network, with IP addresses included. Answer the other questions. You write one line, I answer with one line. Almost ready to give up.

1 Like

EDIT: Inserting a picture is preferred to a website link - moderator

1 Like

I assume you know how to work with the console, since you ignored the question.

This is what I would do with your network, however you have to find out from your provider which IPs are multicasting the IPTV stream to you, 239.0.0.0/8 and 77.0.0.0/8 are just examples of common IPTV sources. Possibly yours is/are different.

Also, this configuration is going to multicast only on the green network, to the IP address specified in the phyint green0 stanza, under altnet. You can add other IP addresses, if you plan to stream also to other machines. No blue0, no VPN, only green0.

Multicast means that even if the incoming packets are in one stream, they can be redistributed to several IP address by the local router (IPFire in your case). To do this, you need to use the IGMP protocol. In the configuration of the program that does that, igmpproxy, there is an input (upstream), and an output (downstream) from the point of view of IPFire. Both can be one address or several addresses (specified in altnet parameter). Some provider uses VLANS, as in the example of the wiki. In this case there are two network virtual interfaces intermingled into one physical ethernet card. Since you do not have a box upstream of IPFire, I assume you do not receive the multicast signal in a VLAN, therefore the incoming is red0 and not red0.8 as in the wiki. If I am wrong the configuration is more complex and you need to know which VLAN the provider is using.

Tutorial:

edit /etc/igmpproxy.conf

##------------------------------------------------------
## Enable Quickleave mode (Sends Leave instantly)
##------------------------------------------------------
quickleave

##------------------------------------------------------
## Configuration for eth0 (Upstream Interface)
##------------------------------------------------------
phyint red0 upstream  ratelimit 0  threshold 1
       altnet 239.0.0.0/8
       altnet 77.0.0.0/8

##------------------------------------------------------
## Configuration for eth1 (Downstream Interface)
##------------------------------------------------------
phyint green0 downstream  ratelimit 0  threshold 1
       altnet 192.168.50.106/32;   # receiver IP  TV set top box
       altnet 192.168.50.102/32;    # receiver IP PC


##------------------------------------------------------
## Disabled Interface
##------------------------------------------------------
phyint lo disabled
phyint blue0 disabled
phyint red0 disabled
phyint tun0 disabled
phyint ppp0 disabled
phyint imq0 disabled
phyint mast0 disabled

edit /etc/sysconfig/firewall.local

case "$1" in
  start)
        ## add your 'start' rules here
        # for igmpproxy
        /usr/sbin/igmpproxy /etc/igmpproxy.conf &
        /sbin/iptables -I IPTVINPUT -i red0 -d 224.0.0.0/4 -j ACCEPT
        /sbin/iptables -I IPTVFORWARD -i red0 -d 224.0.0.0/4 -j ACCEPT
        ## end for igmpproxy
        ;;
  stop)
        ## add your 'stop' rules here
        # for igmpproxy
        /sbin/iptables -D IPTVINPUT -i red0 -d 224.0.0.0/4 -j ACCEPT
        /sbin/iptables -D IPTVFORWARD -i red0 -d 224.0.0.0/4 -j ACCEPT
        killall igmpproxy
        # end for igmpproxy
        ;;
  reload)
        $0 stop
        $0 start
        ## add your 'reload' rules here
        ;;
  *)
        echo "Usage: $0 {start|stop|reload}"
        ;;
esac

edit /etc/sysconfig/rc.local

## net tv setting
/usr/sbin/igmpproxy /etc/igmpproxy.conf &

After you change these three files, you need to start igmpproxy in the background, either in the console enter

/usr/sbin/igmpproxy /etc/igmpproxy.conf &

and

/etc/sysconfig/firewall.local reload

or in alternative simply reboot. Probably you should reboot anyway.

This setting works for me, no guarantee it will work for you.

3 Likes

iptables: Bad rule (does a matching rule exist in that chain?).
iptables: Bad rule (does a matching rule exist in that chain?).
This is what I have writing after restarting


Everything is written in the console, and for some reason another network is being created

By the way, I also found out the multicast IP address

I have also those since long time. Probably nothing to do with igmpproxy setting.

You have a VLAN in red. I do not have direct experience with that. For sure then you need to put red0.8 in the config, not red0. However I am not sure how you need to put two different ethernet identifier as suggested in the wiki. Maybe someone more informed can give you an advice.

By the way, the comments in your config are wrong, red is upstream and green downstream.

Tell me how to do it?

Definitely 255.255.255.0 is not an IP number. It’s a netmask. You do not have the right parameter.

The provider does not have such information that is required

If you want to operate a firewall you need to understand IP address and netmask and CIDR notation.

3 Likes

maybe a forum of the users of your provider? Can you ask there? Maybe they have tuttorial on how to configure a third party router?

1 Like

There is no such forum for him

My provider is Rostelecom