Community discussions

MikroTik App
 
meckanix
just joined
Topic Author
Posts: 4
Joined: Sat Nov 09, 2013 11:22 am

IGMP with PPPoE

Sat Nov 09, 2013 5:14 pm

I've been reading the forums for a while trying to find the answer to the following question, but it appears that no-one I can see is also using PPPoE for their connection back to their ISP. Now I'm no multicast expert, so please bear with me.

So here's my issue. My ISP is now offering IPTV with their package. After speaking with my provider I have found that the multicast traffic is IGMP v3 and it will be delivered over the physical ethernet interface, as well as the PPPoE connection, as the source of the IPTV stream is my local BT MSAN down the street (see the diagram attached). I can see the IPTV channels in my EPG, but when I select the channel, I get no stream :(

Here's my current set up:
Home SetUp.png
Router Version

ros code

version: 6.5
               build-time: Oct/16/2013 15:32:33
              free-memory: 45.1MiB
             total-memory: 64.0MiB
                      cpu: MIPS 24Kc V7.4
                cpu-count: 1
            cpu-frequency: 400MHz
                 cpu-load: 1%
           free-hdd-space: 103.1MiB
          total-hdd-space: 128.0MiB
  write-sect-since-reboot: 200
         write-sect-total: 170989
               bad-blocks: 0%
        architecture-name: mipsbe
               board-name: RB750GL
                 platform: MikroTik

Firewall

ros code

ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic 
 0   chain=input action=accept protocol=igmp in-interface=all-ppp 

 1   chain=input action=accept protocol=igmp in-interface=ether1-gateway 

 2   chain=input action=drop protocol=tcp in-interface=ISP src-port=22 

 3 X ;;; default configuration
     chain=input action=accept protocol=icmp 

 4   ;;; default configuration
     chain=input action=accept connection-state=established 

 5   ;;; default configuration
     chain=input action=accept connection-state=related 

 6   ;;; default configuration
     chain=input action=drop in-interface=ISP 

 7   ;;; Port scanners to list 
     chain=input action=add-src-to-address-list protocol=tcp psd=21,3s,3,1 address-list=port scanners 
     address-list-timeout=2w 

 8   ;;; NMAP FIN Stealth scan
     chain=input action=add-src-to-address-list tcp-flags=fin,!syn,!rst,!psh,!ack,!urg protocol=tcp 
     address-list=port scanners address-list-timeout=2w 

 9   ;;; SYN/FIN scan
     chain=input action=add-src-to-address-list tcp-flags=fin,syn protocol=tcp address-list=port scanners 
     address-list-timeout=2w 

10   ;;; SYN/RST scan
     chain=input action=add-src-to-address-list tcp-flags=syn,rst protocol=tcp address-list=port scanners 
     address-list-timeout=2w 

11   ;;; FIN/PSH/URG scan
     chain=input action=add-src-to-address-list tcp-flags=fin,psh,urg,!syn,!rst,!ack protocol=tcp 
     address-list=port scanners address-list-timeout=2w

ros code

ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic 
 0   ;;; default configuration
     chain=srcnat action=masquerade to-addresses=0.0.0.0 out-interface=ISP 

 1   chain=dstnat action=dst-nat to-addresses=192.168.1.107 protocol=igmp in-interface=ISP

Attempt at using IGMP proxy

ros code

routing igmp-proxy print
              quick-leave: yes
           query-interval: 2m5s
  query-response-interval: 10s

ros code

routing igmp-proxy interface print 
Flags: X - disabled, I - inactive, D - dynamic, U - upstream 
 #    INTERFACE                                                                                        THRESHOLD
 0  U ISP                                                                                                1
 1    all                                                                                                      1
 2 D  ether2-master-local                                                                                      1

Attempt at using PIM

ros code

routing pim print
           switch-to-spt: yes
  switch-to-spt-interval: 1m40s
     switch-to-spt-bytes: 0

ros code

routing pim interface print 
Flags: X - disabled, I - inactive, D - dynamic, R - designated-router, v1 - IGMPv1, v2 - IGMPv2, v3 - IGMPv3 
 #      INTERFACE                                            PROTOCOLS                                          
 0 I v3 ISP                                              pim                                                
                                                             igmp                                               
 1 I v3 ether1-gateway                                       pim                                                
                                                             igmp
You do not have the required permissions to view the files attached to this post.
Last edited by meckanix on Mon Nov 11, 2013 9:50 pm, edited 1 time in total.
 
eflanery
Member
Member
Posts: 376
Joined: Fri May 28, 2004 10:11 pm
Location: Moscow, ID
Contact:

Re: IGMP with PPPoE

Mon Nov 11, 2013 7:01 pm

IGMP doesn't deliver the multicast traffic itself, it just signals the path. (It isn't a tunneling protocol.)

From the sounds of it, your IPTV is delivered in parallel to the PPPoE internet connection, and that the two are not related except that they are carried on the same medium.

There are several ways of approaching this, but the easiest is probably just to bridge your WAN connection with the port that connects to your STB/IPTV.

Something like this would probably work:
/int br add name=WAN-bridge
/int br po add br=WAN-bridge int=Actual-WAN-port
/int br po add br=WAN-bridge int=Port-that-connects-to-STB
/int pppoe-client set 0 int=WAN-bridge
--Eric
 
meckanix
just joined
Topic Author
Posts: 4
Joined: Sat Nov 09, 2013 11:22 am

Re: IGMP with PPPoE

Thu Nov 14, 2013 6:42 pm

There are several ways of approaching this, but the easiest is probably just to bridge your WAN connection with the port that connects to your STB/IPTV.
--Eric
I'll try that over this weekend. In the meantime I noticed last night that I had the IGMP upsteam and downstream in the wrong directions, so I've swapped it to:

ros code

routing igmp-proxy interface print
Flags: X - disabled, I - inactive, D - dynamic, U - upstream
 #    INTERFACE                                                                                        THRESHOLD
 0  D ISP                                                                                                      1
 1    all                                                                                                      1
 2 U  ether2-master-local                                                                                      1
 
meckanix
just joined
Topic Author
Posts: 4
Joined: Sat Nov 09, 2013 11:22 am

Re: IGMP with PPPoE

Sun Dec 22, 2013 10:05 am

So I managed to fix this without creating a bridge interface. Turns out all I needed was:
  • The IP subnet being used by my ISP IPTV service
    Create a unrelated IP on the ether1-gateway interface
Here's the config I applied:

ros code

[admin@MikroTik] > ip address print
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         INTERFACE                                                                                                                                   
 0   ;;; default configuration
     192.168.1.1/24     192.168.1.0     ether2-master-local                                                                                                                         
 2   ;;; IPTV IP Interface
     192.168.0.1/32     255.255.255.0   ether1-gateway

ros code

[admin@MikroTik] > routing igmp-proxy interface print detail 
Flags: X - disabled, I - inactive, D - dynamic, U - upstream 
 0  U interface=ether1-gateway threshold=1 alternative-subnets=1.1.1.0/24 upstream=yes 

 1    interface=ether2-master-local threshold=1 alternative-subnets="" upstream=no
NOTE: the subnet 1.1.1.0/24 in the ‘routing igmp-proxy interface print detail’ output is that of my ISPs IPTV provider

Now I'm not sure if these 'firewall filter's are needed, and there's been no hits on the counters for these rules, but for the just in case:

ros code

[admin@MikroTik] > ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic 
 0   chain=input action=accept protocol=igmp src-address-list=IPTV Multicast IPs in-interface=ISP 

 1   chain=input action=accept protocol=udp src-address-list=IPTV Multicast IPs in-interface=ISP

Who is online

Users browsing this forum: No registered users and 65 guests