Determine altnet option for igmpproxy (IPTV)

I need help with my igmpproxy config, first step (the only one I'm asking about here) is to determine the altnet option.

This guide https://openwrt.org/docs/guide-user/network/wan/udp_multicast mentions this /etc/config/igmpproxy

config igmpproxy
        option quickleave 1

config phyint
        option network wan
        option zone wan # the upstream firewall zone for forward rules
        option direction upstream
        list altnet 0.0.0.0/0 # a description of allowed source addresses for multicast packets

config phyint
        option network lan
        option zone lan #the downstream firewall zone for forward rules
        option direction downstream

I am in doubt whether the line list altnet 0.0.0.0/0 should be modified or not. In other guides, e.g. this one [1], they mention setting specific altnets. 0.0.0.0/0 reads to my like any network / a catch all configuration.

I don't see list altnet readily in the documentation [2] either.

Should it be altnet a.b.c.d/e or list altnet a.b.c.d/e?

This guide [1] runs igmpproxy in debug mode to determine the altnets: igmpproxy -d -v /etc/igmpproxy.conf. Doing that and setting the IPTV-box to initialize itself yields this output: https://yapb.in/G5fA.txt

I am not certain which altnets that output tells me to set.

Any help greatly appreciated.

New user limitation of two links:

[1] https://wiki.alpinelinux.org/wiki/IPTV_How_To

[2] https://manned.org/igmpproxy.conf.5

@jonascj, welcome to the community!

altnet is the network you expect the IPTV traffic's source address to be.

Not sure what this phrase means in relation to the documentation you posted. See the altnet section:

Screenshot%20from%202019-10-14%2016-52-05

New useres, such as myself, can only include two links in a post, so I just numbered the links and put them in a reply.

I read the documentation, and it does not mention "0.0.0.0/0" as a way to accept everything. Neither does it mention the syntax "list altnet". So how should I think about the line "list altnet 0.0.0.0/0" from the openwrt guide (https://openwrt.org/docs/guide-user/network/wan/udp_multicast) ?

Should it be "list altnet a.b.c.d/n" where a.b.c.d/n is a network mentioned in the debug output here: https://yapb.in/G5fA.txt ?

I'm quite confused at your response...and I'm lost at your question.

Perhaps you are not aware of the UCI interface - that integrates all (99.97%) of configs into a OpenWrt-compatible file structure?

That file for igmpproxy is located at /etc/config/igmpproxy

Please be advised that the UCI also creates the relevant firewall rules, so editing /etc/config/igmpproxy is necessary.

The UCI parses that file and creates /etc/igmpproxy.conf - this is the file that you're expecting to see the syntax from the [non-OpenWrt] documentation to be found.

No. You need the source of the actual IPTV stream(s). If you don't know, accepting all (0.0.0.0/0) would work until you can use a program like tcpdump to see it. This is a network address (which in the case of 0.0.0.0/0 means the whole Internet), so I wouldn't expect the documentation to explicitly tell you the network.

@lleachii thank you for your input, I am very thankful you take your time to reply.

Respectfully, have you looked at https://yapb.in/G5fA.txt ? It is the debug output of igmpproxy, it is my understanding the networks mentioned there are the networks I need for the config file (i.e. to replace a.b.c.d/n with something). If it is easier to get the network information from tcpdump/wireshark I'll look into that.

Just to make sure I understand you correctly. You do expect "altnet 0.0.0.0/0" to work, accepting igmp messages from all networks?

I am not sure I got whether you knew anything about "list altnet a.b.c.d/n" vs. "altnet a.b.c.d/n". Do you know whether it is one or the other? So far I've only seen "list altnet a.b.c.d/n" in the openwrt guide ...

Lastly, I know the config file in question is /etc/config/igmpproxy (it might be something else on another linux system, of course) and the openwrt iptv guide says it is necessary to edit it to match ones setup. So I'll have to look over interface names etc. to make sure they match. The guide also mentions the automatic creation of firewall rules, but those rules will only be correct if the interface names are correct, as far as I understand.

IGMP doesn't come from all networks. I think you confuse this data with the actual UDP IPTV stream.

Yes, you may need to add the the networks that do not begin with 2xx.x.x.x, perhaps; but you can actually see where the traffic comes from, so donno why you would guess.

???

Keep the syntax in the file list altnet - that's what it's supposed to be (why would developers confuse you by adding "list" to a file for you to remove it???) to be clear, I don't understand why you wanna change it. If you've been removing "config", "list" and "option" from UCI files, that may be your issue.

https://openwrt.org/docs/guide-user/base-system/uci

Firewall zone and the interface name.

That was actually one of my original questions. How do I know the size of the routing prefix (/n) for IP 100.84.26.209? Couldn't it be at last 8, 16 and 24?

So the list in "list altnet a.b.c.d/n" is from UCL (https://openwrt.org/docs/guide-user/base-system/uci#file_syntax) ? The reason why I am confused as to whether "list" should be there or not is because it is not in the official igmpproxy documentation and non-openwrt writings.

Thank you again, I'll give everything a second try.

  • Check its registration size on the Internet
  • Ask your ISP for the network(s) from which they distribute the IPTV content (more accurate)
  • There are more prefixes than that (/0 whole Internet - /32 single IP)