Jump to content
Калькуляторы

Cisco vrf и multicast между ними

Идея конфигурации следующая

 

Используются vrf и route leaking между ними. Для каждой группы vlan-ов(клиенских подсетей) выделен отдельный vrf. На каждом vrf статично прописан маршрут по умолчанию. Так же есть vrf main.

 

Мультикаст поток приходит с адреса 192.168.1.2 каналы 232.0.0.1 - 232.0.0.10

 


ip vrf forwarding

ip vrf main
rd 65000:4444
route-target export 65000:4444
route-target import 65000:100
!
!пример клиентского vrf
!
ip vrf test_net
rd 65000:100
route-target export 65000:100
route-target import 65000:4444
!
ip multicast-routing vrf main 
ip multicast-routing vrf test_net

! Клиентские вланы выглядят так:
interface Vlan900
ip vrf forwarding test_net
ip address 10.222.0.1 255.255.0.0
ip pim sparse-mode
!
!
!на один из vlan в main vrf приходит мультикаст поток от сервера.
interface Vlan50
ip vrf forwarding main
ip address 192.168.1.1 255.255.255.0
ip pim sparse-mode

ip pim vrf main rp-address 192.168.1.1
ip pim vrf test_net rp-address 192.168.1.1

 

Задача отдавать этот поток клиентам из разных vrf

 

Вывод show ip mroute vrf main

 

show ip mroute vrf main    
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,
      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
      V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 232.0.0.1), 00:00:03/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:03/00:02:55

(192.168.1.2, 232.0.0.1), 00:00:03/00:02:59, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 232.0.0.2), 00:13:18/stopped, RP 192.168.1.1, flags: SJCE
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:13:18/00:02:24
 Extranet receivers in vrf test_net:
(*, 232.0.0.2), 00:12:38/stopped, RP 192.168.1.1, OIF count: 1, flags: SJCF

(192.168.1.2, 232.0.0.2), 00:13:18/00:02:55, flags: TE
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

 Extranet receivers in vrf test_net:
 (192.168.1.2, 232.0.0.2), 00:12:38/stopped, OIF count: 1, flags: FT

(*, 232.0.0.3), 00:00:03/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:03/00:02:55

(192.168.1.2, 232.0.0.3), 00:00:03/00:02:59, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 232.0.0.4), 00:00:03/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:03/00:02:55

(192.168.1.2, 232.0.0.4), 00:00:03/00:02:59, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 232.0.0.5), 00:00:03/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:03/00:02:55

(192.168.1.2, 232.0.0.5), 00:00:03/00:02:59, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 232.0.0.6), 00:00:03/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:03/00:02:55

(192.168.1.2, 232.0.0.6), 00:00:03/00:02:59, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 232.0.0.7), 00:00:03/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:03/00:02:55

(192.168.1.2, 232.0.0.7), 00:00:05/00:02:58, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 232.0.0.8), 00:00:05/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:05/00:02:54

(192.168.1.2, 232.0.0.8), 00:00:05/00:02:58, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 232.0.0.9), 00:00:05/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:05/00:02:54

(192.168.1.2, 232.0.0.9), 00:00:05/00:02:58, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 232.0.0.10), 00:00:05/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:05/00:02:54

(192.168.1.2, 232.0.0.10), 00:00:05/00:02:58, flags: PT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, RPF-MFD
 Outgoing interface list: Null

(*, 224.0.1.40), 00:00:05/00:02:54, RP 192.168.1.1, flags: SJCLE
 Incoming interface: Null, RPF nbr 0.0.0.0
 Outgoing interface list:
   Vlan50, Forward/Sparse, 00:00:05/00:02:54
 Extranet receivers in vrf test_net:
(*, 224.0.1.40), 00:00:05/stopped, RP 192.168.1.1, OIF count: 1, flags: SJCL

 

Вывод show ip mroute vrf test_net (с хоста 10.222.0.100) делается попытка получить поток 232.0.0.2

 

show ip mroute vrf test_net
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,
      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
      V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.255.255.250), 00:00:15/stopped, RP 192.168.1.1, flags: SJC
 Incoming interface: Vlan50, RPF nbr 192.168.1.1, using vrf main
 Outgoing interface list:
   Vlan900, Forward/Sparse, 00:00:15/00:02:44

(*, 232.0.0.2), 00:00:13/stopped, RP 192.168.1.1, flags: SJCF
 Incoming interface: Vlan50, RPF nbr 192.168.1.1, using vrf main
 Outgoing interface list:
   Vlan900, Forward/Sparse, 00:00:13/00:02:46

(192.168.1.2, 232.0.0.2), 00:00:13/stopped, flags: FT
 Incoming interface: Vlan50, RPF nbr 0.0.0.0, using vrf main, Registering
 Outgoing interface list:
   Vlan900, Forward/Sparse, 00:00:13/00:02:46

(*, 224.0.1.40), 00:00:19/stopped, RP 192.168.1.1, flags: SJCL
 Incoming interface: Vlan50, RPF nbr 192.168.1.1, using vrf main
 Outgoing interface list:
   Vlan900, Forward/Sparse, 00:00:19/00:02:48

 

sh ip pim vrf main rp
Group: 239.255.255.250, RP: 192.168.1.1, next RP-reachable in 00:00:55
Group: 232.0.0.1, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.2, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.3, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.4, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.5, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.6, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.7, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.8, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.9, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 232.0.0.10, RP: 192.168.1.1, next RP-reachable in 00:00:12
Group: 224.0.1.40, RP: 192.168.1.1, next RP-reachable in 00:00:12

sh ip pim vrf test_net rp
Group: 239.255.255.250, RP: 192.168.1.1, uptime 00:26:09, expires never
Group: 232.0.0.2, RP: 192.168.1.1, uptime 00:26:11, expires never
Group: 224.0.1.40, RP: 192.168.1.1, uptime 00:26:52, expires never

 

в сетях, подключенных к vrf main мультикаст работает нормально. А в vrf test_net мультикаст не работает. В интернете толкой найти ничего не могу.

Edited by Joneg

Share this post


Link to post
Share on other sites

А почему у тебя Hub-and-Spoke между vrf'ами так и задуманно?

Share this post


Link to post
Share on other sites

Это значит, что vrf-ы могет обмениваться друг с другом трафиком? Да, так и задумано.

Share this post


Link to post
Share on other sites

Надо проверить MDT

Проверить с какими ext-community у вас маршруты к источнику мультикаста =)

Share this post


Link to post
Share on other sites

Подниму тему. Необходимо также обменяться мультикаст маршрутами между vrf и grt (либо хотя бы между vrf).

 

Сейчас мультикаст есть в одном vrf, пробовал аналогично настраивать, как описано выше, юникаст роуты ходят нормально, мультикаст не хочет ни как.

 

 

Может есть у кого-нибудь примеры конфигов как это можно сделать?

Share this post


Link to post
Share on other sites

Спасибо, а можете часть конфига скинуть? Я у себя настроил, в vrf при запросе группы начал появляться маршрут в сторону источника, но т.к. источник в global таблице то трафика нет.

Share this post


Link to post
Share on other sites

да собсно это все, команда указывает куда дальше идти за подпиской, тут нечего больше конфигурить.

на ios xr малясь посложнее, но мы же про обычную циску говорим

Share this post


Link to post
Share on other sites

Да, про обычную

 

Switch Ports Model              SW Version            SW Image
------ ----- -----              ----------            ----------
*    1 28    WS-C3560G-24TS     15.0(2)SE4            C3560-IPSERVICESK9-M

 

Вот часть конфига касающаяся мультикаста

 

ip domain multicast multicast.domain
ip name-server x.x.x.x

ip multicast-routing distributed
ip multicast-routing vrf test distributed
ip multicast vrf test rpf select global group-list range

ip igmp vrf test ssm-map enable
ip igmp ssm-map enable

ip pim ssm range range
ip pim vrf test ssm range range

ip access-list standard range
permit 232.0.0.0 0.255.255.255
permit 224.0.0.0 0.255.255.255

 

При таких настройках в врф мультикаст не приходит

Share this post


Link to post
Share on other sites

ну не знаю. у нас всегда был обычный мультикаст с RP

набросал схемку с SSM, тоже все прекрасно заработало

 

R1 генерит трафик

R1#ping 232.0.0.1 source 192.168.12.1 repeat 1000000
Type escape sequence to abort.
Sending 1000000, 100-byte ICMP Echos to 232.0.0.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.12.1 
......................................................................
......................................................................
......................................................................

 

 

R3 - PE
R3#show ip mro | b \( 
(192.168.12.1, 232.0.0.1), 00:06:32/stopped, flags: sTE
 Incoming interface: FastEthernet0/1, RPF nbr 192.168.23.2
 Outgoing interface list: Null

 Extranet receivers in vrf a:
 (192.168.12.1, 232.0.0.1), 00:06:32/00:02:50, OIF count: 1, flags: sT

 

R4 трафик получает

R4#debug ip packet 100
IP packet debugging is on for access list 100
R4#
*Aug  2 21:58:04.703: IP: s=192.168.12.1 (FastEthernet0/0), d=232.0.0.1, len 100, input feature, MCI Check(101), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
R4#
*Aug  2 21:58:06.707: IP: s=192.168.12.1 (FastEthernet0/0), d=232.0.0.1, len 100, input feature, MCI Check(101), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
R4#
*Aug  2 21:58:08.711: IP: s=192.168.12.1 (FastEthernet0/0), d=232.0.0.1, len 100, input feature, MCI Check(101), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
R4#
*Aug  2 21:58:10.703: IP: s=192.168.12.1 (FastEthernet0/0), d=232.0.0.1, len 100, input feature, MCI Check(101), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE

 

А у вас какая-то ересь про ssm-map, потому что если не используется dns мапинг, то как минимум не хватает "ip igmp ssm-map static access-list source-address"

 

Вот конфиг РЕ (R3)

R3#sh run | i ip multicast|^ip pim
ip multicast-routing 
ip multicast-routing vrf a 
ip multicast vrf a rpf select global group-list 1
ip pim ssm default
ip pim vrf a ssm default

R3#show access-l 1
Standard IP access list 1
   10 permit 232.0.0.0, wildcard bits 0.255.255.255

R3#sh run int fa0/0
Building configuration...

Current configuration : 138 bytes
!
interface FastEthernet0/0
ip vrf forwarding a
ip address 192.168.34.3 255.255.255.0
ip pim sparse-mode
end

R3#sh run int fa0/1
Building configuration...

Current configuration : 117 bytes
!
interface FastEthernet0/1
ip address 192.168.23.3 255.255.255.0
ip pim sparse-mode
end

Share this post


Link to post
Share on other sites

Спасибо за примеры, да мы используем dns маппинг.

 

Собрал схему в GNS, всё заработало и с ssm и без. Пробую на 3560g не работает. Причём маршруты все создаются правильно, запрос на присоединение к группе из врф уходит,нужный трафик в глобале начинает литься, до тех пор пока в vrf не выключишь приёмник, т.е. с виду всё работает как нужно, но вот трафик мультикастовый в врф не попадает, т.е. в глобале доходит до каталиста и в врф не уходит. На 3560g никаких багов нет в этом плане?

Share this post


Link to post
Share on other sites

На 3560g никаких багов нет в этом плане?

 

да легко, если стенд тестовый, то попробуйте разные ветки софта

Share this post


Link to post
Share on other sites

Завелось на 12.2(58)SE2, на 15 ветке никак не хочет работать

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this