cancel
Showing results forĀ 
Search instead forĀ 
Did you mean:Ā 
cancel
493
Views
0
Helpful
3
Replies

Setting up multicast service reflection

kbtechnology
Level 1
Level 1

Hi there,

I'm trying unsuccessfully to setup multicast service reflection on a cisco virtual router, but this may be down to by lack of knowledge on how to configure the cisco or my test rig.

This is complicated because i'm using a cisco virtual router which i can not currently directly connect anything too, so using VPN's into the cisco router to simulate network traffic.

My test setup is hub and spoke setup with the cisco router being the hub and 2 draytek routers as the spokes. I've setup the vpn between the 2 drayteks and the cisco. This is to test sending a multicast message from the draytek A to the cisco router via the VPN and for the Cisco to send this on to the draytek B via it's VPN as a unicast message.

I've setup the cisco following the instructions on here https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/ip-multicast/b-ip-multicast/m_imc_service_reflect-0.html#GUID-CE674DC6-4973-4A75-8420-82DA1FA43B9A

But the multicast message does not seem to flow from Draytek A through to Draytek B via the Cisco router. If i have a VPN between Draytek A and B via a VPN it works ok.

Draytek A internal network is 192.168.1.0/24 

Draytek B internal network is 192.168.22.0/24

My multicast client runs from 192.168.1.19 and my unicast host is on 192.168.22.172

My multicast group is 238.1.1.10 on port 7878, and on the cisco when running sh ip mroute i can see the message has been received, which i think that's what this is telling me

#show ip mroute 238.1.1.10
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route,
x - VxLAN group, c - PFP-SA cache created entry,
* - determined by Assert, # - iif-starg configured on rpf intf,
e - encap-helper tunnel flag, l - LISP Decap Refcnt Contributor
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 238.1.1.10), 00:00:06/stopped, RP 192.168.2.1, flags: SJC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
GigabitEthernet2, Forward/Dense, 00:00:06/stopped

(192.168.1.19, 238.1.1.10), 00:00:03/00:02:56, flags: PJTX
Incoming interface: GigabitEthernet2, RPF nbr <external IP>
Outgoing interface list: Null

# sh ip mroute count (snippet)

Group: 238.1.1.10, Source count: 0, Packets forwarded: 0, Packets received: 2
RP-tree: Forwarding: 0/0/0/0, Other: 2/2/0

My assumption so far is that the vif1 interface should receive all multicast traffic, unless i've misunderstood how these types of interfaces work, but when showing the interface, i can see no traffic being consumed by this interface, so i'm assuming this is my problem, maybe.

Vif1 is up, line protocol is up
Hardware is PGMVIF
Internet address is 10.1.1.1/24
MTU 1514 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation LOOPBACK, loopback not set
Keepalive set (10 sec)
Last input never, output 00:00:09, output hang never
Last clearing of "show interface" counters never
Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/0 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
0 packets output, 0 bytes, 0 underruns
Output 0 broadcasts (0 IP multicasts)
0 output errors, 0 collisions, 0 interface resets
0 unknown protocol drops
0 output buffer failures, 0 output buffers swapped out

Below is my config in case someone can highlight where I'm going wrong, as i assume this is possible, so please let me know if i'm barking up the wrong tree here as to what is possible.

Building configuration...

Current configuration : 7588 bytes
!
! Last configuration change at 17:21:26 UTC Thu Jul 6 2023 by <user>
!
version 17.6
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
no service dhcp
service call-home
platform qfp utilization monitor load 80
platform punt-keepalive disable-kernel-core
platform console virtual
!
hostname kbtech
!
boot-start-marker
boot-end-marker
!
!
vrf definition EQUINIX-MGMT
!
address-family ipv4
exit-address-family
!
logging buffered 100000
!
no aaa new-model
no ip gratuitous-arps
!
ip multicast-routing distributed
!
!
!
!
!
!
ip name-server 8.8.8.8 8.8.4.4
ip domain name nfvportal.equinix.com
ip pgm host
!
!
!
login on-failure log
login on-success log
!
!
!
!
!
!
!
subscriber templating
!
!
!
!
!
!
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
crypto pki trustpoint SLA-TrustPoint
enrollment pkcs12
revocation-check crl
!
!
crypto pki certificate chain SLA-TrustPoint
certificate ca 01
30820321 30820209 A0030201 02020101 300D0609 2A864886 F70D0101 0B050030
32310E30 0C060355 040A1305 43697363 6F312030 1E060355 04031317 43697363
6F204C69 63656E73 696E6720 526F6F74 20434130 1E170D31 33303533 30313934
3834375A 170D3338 30353330 31393438 34375A30 32310E30 0C060355 040A1305
43697363 6F312030 1E060355 04031317 43697363 6F204C69 63656E73 696E6720
526F6F74 20434130 82012230 0D06092A 864886F7 0D010101 05000382 010F0030
82010A02 82010100 A6BCBD96 131E05F7 145EA72C 2CD686E6 17222EA1 F1EFF64D
CBB4C798 212AA147 C655D8D7 9471380D 8711441E 1AAF071A 9CAE6388 8A38E520
1C394D78 462EF239 C659F715 B98C0A59 5BBB5CBD 0CFEBEA3 700A8BF7 D8F256EE
4AA4E80D DB6FD1C9 60B1FD18 FFC69C96 6FA68957 A2617DE7 104FDC5F EA2956AC
7390A3EB 2B5436AD C847A2C5 DAB553EB 69A9A535 58E9F3E3 C0BD23CF 58BD7188
68E69491 20F320E7 948E71D7 AE3BCC84 F10684C7 4BC8E00F 539BA42B 42C68BB7
C7479096 B4CB2D62 EA2F505D C7B062A4 6811D95B E8250FC4 5D5D5FB8 8F27D191
C55F0D76 61F9A4CD 3D992327 A8BB03BD 4E6D7069 7CBADF8B DF5F4368 95135E44
DFC7C6CF 04DD7FD1 02030100 01A34230 40300E06 03551D0F 0101FF04 04030201
06300F06 03551D13 0101FF04 05300301 01FF301D 0603551D 0E041604 1449DC85
4B3D31E5 1B3E6A17 606AF333 3D3B4C73 E8300D06 092A8648 86F70D01 010B0500
03820101 00507F24 D3932A66 86025D9F E838AE5C 6D4DF6B0 49631C78 240DA905
604EDCDE FF4FED2B 77FC460E CD636FDB DD44681E 3A5673AB 9093D3B1 6C9E3D8B
D98987BF E40CBD9E 1AECA0C2 2189BB5C 8FA85686 CD98B646 5575B146 8DFC66A8
467A3DF4 4D565700 6ADF0F0D CF835015 3C04FF7C 21E878AC 11BA9CD2 55A9232C
7CA7B7E6 C1AF74F6 152E99B7 B1FCF9BB E973DE7F 5BDDEB86 C71E3B49 1765308B
5FB0DA06 B92AFE7F 494E8A9E 07B85737 F3A58BE1 1A48A229 C37C1E69 39F08678
80DDCD16 D6BACECA EEBC7CF9 8428787B 35202CDC 60E4616A B623CDBD 230E3AFB
418616A9 4093E049 4D10AB75 27E86F73 932E35B5 8862FDAE 0275156F 719BB2F0
D697DF7F 28
quit
!
!
!
!
!
!
!
!
license udi pid C8000V sn 9U5XPYICI1K
license boot level network-advantage addon dna-advantage
license smart url https://tools.cisco.com/its/service/oddce/services/DDCEService
license smart url smart https://tools.cisco.com/its/service/oddce/services/DDCEService
license smart transport callhome
diagnostic bootup level minimal
memory free low-watermark processor 68484
!
!
spanning-tree extend system-id
!
username kbadmin privilege 15 secret 9 <password>
!
redundancy
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
crypto isakmp policy 10
encryption 3des
hash sha
authentication pre-share
group 1
lifetime 28800
crypto isakmp key test123 address <draytek B external IP>
crypto isakmp key test123 address <draytek A external IP>
!
!
crypto ipsec transform-set MYSET esp-3des esp-sha-hmac
mode tunnel
!
!
!
!

crypto map vpnaccess 10 ipsec-isakmp
set peer <draytek B external IP>
set transform-set MYSET
match address 120
crypto map vpnaccess 20 ipsec-isakmp
set peer <draytek A external IP>
set transform-set MYSET
match address 110
!
!
!
!
!
!
!
!
interface Loopback0
ip address 192.168.2.1 255.255.255.255
ip pim sparse-dense-mode
!
interface GigabitEthernet1
description EQUINIX-MGMT-INTERFACE
vrf forwarding EQUINIX-MGMT
ip address dhcp
ip pim sparse-mode
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet2
description PUBLIC INTERFACE
ip address <cisco external IP> 255.255.255.254
no ip redirects
no ip unreachables
no ip proxy-arp
ip pim dense-mode
negotiation auto
ipv6 nd ra suppress all
no ipv6 redirects
no ipv6 unreachables
no keepalive
no lldp transmit
no lldp receive
no mop enabled
no mop sysid
crypto map vpnaccess
!
interface GigabitEthernet3
ip address 192.168.12.2 255.255.255.0
ip pim sparse-mode
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet4
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet5
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet6
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet7
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet8
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet9
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet10
no ip address
shutdown
negotiation auto
no mop enabled
no mop sysid
!
interface Vif1
ip address 10.1.1.1 255.255.255.0
ip pim dense-mode
ip service reflect GigabitEthernet2 destination 238.1.1.10 to 192.168.22.172 mask-len 32 source 10.
1.1.1
!
no ip forward-protocol nd
no ip forward-protocol udp
ip pim rp-address 192.168.2.1 mcast-content-provider-groups override
no ip http server
no ip http secure-server
ip http client source-interface GigabitEthernet2
!
ip route 0.0.0.0 0.0.0.0 <cisco external IP>
ip ssh time-out 60
ip ssh logging events
ip ssh version 2
ip ssh dh min size 4096
ip ssh pubkey-chain
username kbadmin
key-hash ssh-rsa <hash>
!
ip access-list standard mcast-content-provider-groups
10 permit 238.1.1.0 0.0.0.255
!
!
ip access-list extended 110
10 permit ip any 192.168.1.0 0.0.0.255
ip access-list extended 120
10 permit ip any 192.168.22.0 0.0.0.255
!
!
!
!
control-plane
!
!
mgcp behavior rsip-range tgcp-only
mgcp behavior comedia-role none
mgcp behavior comedia-check-media-src disable
mgcp behavior comedia-sdp-force disable
!
mgcp profile default
!
!
!
!
!
banner login ^C
==========================================================

Access to this system is limited to authorized users for
company business purposes only.

WARNING: All unauthorized access is prohibited.

==========================================================
^C
!
line con 0
exec-timeout 30 0
login local
stopbits 1
line aux 0
line vty 0 4
exec-timeout 30 0
login local
length 0
transport input ssh
transport output ssh
!
call-home
! If contact email address in call-home is configured as sch-smart-licensing@cisco.com
! the email address configured in Cisco Smart License Portal will be used as contact email address
to send SCH notifications.
contact-email-addr sch-smart-licensing@cisco.com
profile "CiscoTAC-1"
active
destination transport-method http
ntp server time.google.com prefer
!
!
!
!
!
!
end

Cheers

Paul

 

3 Replies 3

ip pim rp-address 192.168.2.1 mcast-content-provider-groups override <<- why you need these keyword?

Thanks for the response.

TBH that was just copied from the example syntax from the cisco document on setting up the multicast to unicast example.

Is that a problem?

I tested it without that access-list but still the same result.

Cheers
Paul

kbtechnology
Level 1
Level 1

OK i've got this to work now, although unclear why.

I went back to use ip pim sparse-mode rather than dense mode

I also added the explicit join to the vif1 interface, even though i thought this was only needed for redirecting to multicast, for redirect to unicast it wasn't needed.

ip igmp static-group 238.1.1.10

But that still didn't work, until i change the static-group to the wildcard i.e.

ip igmp static-group *

Then it worked, but not sure why i need to specify the wildcard rather than just the group i'm interested in.