multicast routing - CentOS 5

6,833

I consider multicast routing kind of a black magic, but here are few shots ...

  • Check if igmpproxy creates the multicast route using ip mroute command.

  • If it does, your kernel is probably still filtering the input.

  • Most common cause is missing route to the source. Did you try disabling iptables? Or use TRACE target?

  • And if multicast route is not created I'd suggest using pimd (that's what I use for routing my IPTV multicasts).

  • And it seems you use altnet wrong. According to mrouted documentation, it means

Specifies an additional subnet (network) attached to the physical interface described in the phyint entry. mask_len is the length of the network mask.

Share:
6,833

Related videos on Youtube

Dima
Author by

Dima

Updated on September 18, 2022

Comments

  • Dima
    Dima over 1 year

    I'm trying to pass mulitcast stream from interface eth1 (192.168.20.41) to interface tun0 (192.168.100.40) on CentOS 5.

    I can see incoming multicast stream on eth1:

    tcpdump -n -i eth1

    type=1700 audit(1324681169.542:52): dev=eth1 prom=256 old_prom=0 auid=4294967295 ses=4294967295
    Dec 23 17:59:29 localhost kernel: device eth1 entered promiscuous mode
    Dec 23 17:59:29 localhost kernel: type=1700 audit(1324681169.542:52): dev=eth1 prom=256 old_prom=0 auid=4294967295 ses=4294967295
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
    17:59:29.576192 IP 192.168.20.20.52194 > 224.1.1.1.search-agent: UDP, length 1328
    17:59:29.576277 IP 192.168.20.20.52194 > 224.1.1.1.search-agent: UDP, length 1328
    17:59:29.576801 IP 192.168.20.20.52194 > 224.1.1.1.search-agent: UDP, length 1328
    

    But I cannot see multicast on tun0 interface. What I'm doing wrong? The configuration is attached below:

    /etc/igmpproxy.conf file:

    phyint eth1 upstream  ratelimit 0  threshold 1
            altnet 192.168.100.0/24
    phyint tun0 downstream  ratelimit 0  threshold 1
    phyint eth0 disabled
    phyint eth5 disabled
    

    iptable configuration:

    iptables -A INPUT -p igmp -j ACCEPT
    iptables -A INPUT -d 224.0.0.0/240.0.0.0 -p udp -m udp -j ACCEPT
    iptables -A FORWARD -d 224.0.0.0/240.0.0.0 -p udp -j ACCEPT
    modprobe ipt_TTL
    iptables -t mangle -A PREROUTING -d 224.0.0.0/240.0.0.0 -p udp -j TTL --ttl-inc 1
    

    tun0 adapter is GRE tunnel over eth0: cat /etc/sysconfig/network-scripts/ifcfg-tun0

    DEVICE=tun0
    TYPE=GRE
    ONBOOT=yes
    MY_INNER_IPADDR=192.168.100.40
    PEER_INNER_IPADDR=192.168.100.30
    PEER_OUTER_IPADDR=192.168.20.30
    
    • Zoredache
      Zoredache over 12 years
      What is tun? Is that a vpn, openvpn perhaps, if openvpn, then you know it doesn't do multicast over a routed interface right?
    • Olipro
      Olipro over 12 years
      multicast is possible over a tun interface, but that would require that the program managing the tun (OpenVPN?) will route /all/ traffic to the other endpoint regardless of destination address - thus, if you are using OpenVPN, this will only work in p2p mode.
    • Dima
      Dima over 12 years
      tun it is not OpenVPN, it is just GRE tunnel over eth0: cat /etc/sysconfig/network-scripts/ifcfg-tun0 DEVICE=tun0 TYPE=GRE ONBOOT=yes MY_INNER_IPADDR=192.168.100.40 PEER_INNER_IPADDR=192.168.100.30 PEER_OUTER_IPADDR=192.168.20.30
  • Dima
    Dima over 12 years
    Does pimd available as pre-compiled RPM for CentOS?