Using a Brocade MLXe as a replicator to an IDS

Have you ever needed to replicate a lot of data transparently to an IDS without the use of a rack of optical taps?  Not enough budget for a Gigamon or cPacket?  Have a spare MLXe laying around?  you’re in luck, we were in that boat too.
Let me first preface this by saying that this would be fairly trivial using OpenFlow / SDN.  That being said, we didn’t have the time to set that up, so this is what we came with.

This would also work using an input interface of 100G, but of course the flows would be limited to 10G.
How this works is pretty simple, it just uses a policy based route to direct the flow of traffic out of the desired aggregate interface.  In this real world use case that this was built for, the destination was a Bro cluster, consuming as much of the data as possible.  The config on a brocade is pretty similar to Cisco IOS if you’re not familiar, but the VLAN bits are a tad different (actually more intuitive in my opinion).  Here are the bits to make all of this work:
Create the vlans and tag them appropriately

mlxe8# conf t
mlxe8(config)# vlan 100
mlxe8(config-vlan-100)# untag ethernet 1/1
mlxe8(config-vlan-100)# transparent-hw-flooding
mlxe8(config-vlan-100)# router-interface ve 100
mlxe8(config)# vlan 101
mlxe8(config-vlan-101)# untag ethernet 4/1

mlxe8(config-vlan-101)# untag ethernet 4/10
mlxe8(config-vlan-101)# router-interface ve 101
mlxe8(config-vlan-101)#exit
mlxe8(config)#interface ve 100
mlxe8(config-vlan-100)#ip policy route-map PBR-TRAFFIC
mlxe8(config-vlan-100)#ip access-group pbr-traffic-acl
mlxe8(config-vlan-101)#exit
mlxe8(config)#interface ve 101
mlxe8(config)#ip address 10.101.101.1/24
Enable all of the interfaces.
mlxe8(config)#interface ethernet 4/1
mlxe8(config)#enable


mlxe8(config)#interface ethernet 4/10
mlxe8(config)#enable

Create the LAG.


mlxe8(config)# lag “IDS” static

   mlxe8(config)#ports ethernet 4/1 to 4/10
   mlxe8(config)#primary-port 4/1
   mlxe8(config)#deploy

s
     Create the PBR ACL bits. This can also be done to filter types of traffic using more complex ACLs  if so desired
   

    mlxe8(config)#access-list pbr-traffic-acl permit ip any any

mlxe8(config)#exit
mlxe8(config)#route-map PBR-TRAFFIC permit 1
mlxe8(config)#match ip address pbr-traffic-acl 
mlxe8(config)#set ip next-hop 10.101.101.1
Create a static ARP entry to tie it all together. 
arp 10.101.101.1 c0ff.eec0.ffee ethernet 1/1


That’s it, let the security folks drink from the firehose.  =)

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]