Aruba SD-Branch: Notes on Staging Dynamic Segmentation

These are a few notes that helped me configure tunneled node in a SD-Branch deployment

Access Switches on AOS Switch

The three types of VLANs:

Transit VLAN for GRE Tunnels – Keep in mind that the trunk ports for your APs and Switch to Switch uplinks should have the transit VLAN configured. (Jumbo frame, ip dhcp-client set)

Untagged (Native) VLAN for Client Access Ports – Some people leave it on VLAN 1 for various reasons. This is typically the “quarantine VLAN”. However, the VLAN ID and the initial role should be standardized. (no ip address, jumbo, ip helper address)

Client VLANs with no ip address – These VLANs are strictly layer 2 with no ip address. These are for segmenting clients into different subnets. Switch settings should be jumbo. (no ip address, jumbo, ip helper address)

Access Switch Protocol

This isn’t the official Aruba standard, but just a personal preference for standardizing access switch configuration.

SFP Ports and port 1 – set as switch to switch uplinks with transit VLAN as untagged.

Check and make sure client VLANs are set

Set native VLAN for client access ports

Set tunneled-node-server settings, and set interfaces between first and last as tunneled-node-server

Gateway, ClearPass Policy Manager and Device Insight Configuration

Its assumed basic setup has been completed prior.

Policy Manager – Create roles, role mapping, enforcement profile/policy

Device Insight – update tagging to profiled devices

Policy Manager – update role mapping to device insight tagging

Gateway – Match roles from policy manager and update associated policies

AOS-CX: Setting up management network on VRF and other basic setup

Aruba recommends setting up the management network on a VRF.

interface mgmt
no shutdown
ip static 10.251.1.4/24
default 10.251.1.254
exit

session-timeout 180
ssh server vrf mgmt
https-server vrf mgmt
https-server rest access-mode read-write
exit


session-timeout 0
user admin password

ip dns server-address 8.8.8.8 vrf mgmt
ntp server 10.251.1.15 iburst
ntp vrf mgmt
ntp enable
ntp authentication
ntp authentication-key 1 sha1 password trusted
clock timezone us/eastern
end

write memory
copy run checkpoint initial

AOS-CX: Configuring VSX

Configuring VSX is a bit more involved than VSF.

General Components:

  • ISL (Interswitch Link)
  • Keep Alive Mechanism
  • Active-Forwarding
  • Active-Gateway
  • Linkup-Delay
  • VSX LAG

On both members…make sure the two members are running the same port speeds:

system interface-group 4 speed 25g

sh int brief

Configure new LAG interface 10, add it to port 1/1/46

int lag 10
no routing
no shutdown
lacp mode active
lacp rate fast
vlan trunk allowed all
interface 1/1/46
no shutdown
lag 10

Configure VSX on LAG 10

On Primary

sh lacp interfaces
config t
vsx
system-mac 00:00:00:AB:CD:01
inter-switch-link lag 10
role primary

On Secondary

sh lacp interfaces
config t
vsx
system-mac 00:00:00:AB:CD:01
inter-switch-link lag 10
role secondary

On primary, check and see VSX members are peered and sync’d

show vsx brief
sh vsx status
sh vsx configuration inter-switch-link
SH VSX configuration inter-switch-link vsx-peer
show vsx config-consistency

For the keep alive, we’ll be using a VRF as part of the configuration. Keepalive will be configured on interface 1/1/47

On Primary

conf t
vrf keepalive
int 1/1/47
vrf attach keepalive
ip address 10.1.18.41/30
no shutdown
end
vsx
keepalive peer 10.1.18.42 source 10.1.18.41 vrf keepalive

On Secondary

conf t
vrf keepalive
int 1/1/47
vrf attach keepalive
ip address 10.1.18.42/30
no shutdown
end

vsx
keepalive peer 10.1.18.41 source 10.1.18.42 vrf keepalive

Next, configure the Active Gateway for vlan interface 14

On Primary

vlan 14
exit

int vlan 14
ip add 10.1.14.2/24
l3-counters
active-gateway ip 10.1.14.1 mac 00:00:00:00:10:FE
no shutdown
end

On Secondary

vlan 14
exit

int vlan 14
ip add 10.1.14.3/24
l3-counters
active-gateway ip 10.1.14.1 mac 00:00:00:00:10:FE
no shutdown


Last, configure LAG 12 from VSX Pair to VSF Stack or a switch via LACP. Tags VLAN 14

On Primary

int lag 12 multi-chassis
no routing
no shutdown
description To-VSF
vlan trunk allow all
lacp mode active
lacp rate fast
int 1/1/1-1/1/2
lag 12
no shutdown
end

On Secondary

int lag 12 multi-chassis
no routing
no shutdown
description To-VSF
vlan trunk allow all
lacp mode active
lacp rate fast
int 1/1/1-1/1/2
lag 12
no shutdown
end


AOS-CX: Configure VSF on Two Members

Please note, Aruba AOS-CX switches can only establish VSF links via SFP ports. I assume the user knows which commands require configuration mode.

First verify that the switches are connected

sh int brief
sh lldp neighbor

On the primary member, set the VSF configuration. Port 1/1/28 on primary is connected to port 1/1/28 on the secondary.

vsf member 1
link 1 1/1/28

On the secondary member, set the following:

vsf member 1
link 1 1/1/28
exit
vsf renumber-to 2

The secondary member should reboot and attempt to form a VSF stack.

On the primary, renumber the second member after it joins the stack:

vsf secondary-member 2

On the primary, you can status with the following commands:

sh vsf
sh int brief
sh vsf top
sh vsf member 2

Aruba Instant and Sonos Clients

Clients are a Play:1 and a Play:3. Both clients were able to group and ungroup, stream music, and update firmware from the Android and Windows 10 clients. I didn’t experience any issues streaming music from Pandora or Amazon Music.

Aruba Instant 8.4+, 300 series APs

In the CLI, add the following:

airgroupservice Sonos
enable
id urn:schemas-upnp-org:service:GroupRenderingControl:1
id urn:schemas-sonos-com:service:Queue:1
id urn:schemas-upnp-org:service:AVTransport:1
id urn:schemas-upnp-org:service:RenderingControl:1
id urn:schemas-tencent-com:service:QPlay:1
id urn:schemas-upnp-org:service:GroupManagement:1
id urn:schemas-upnp-org:service:ZoneGroupTopology:1
id urn:schemas-upnp-org:service:DeviceProperties:1
id urn:schemas-upnp-org:service:MusicServices:1
id urn:schemas-upnp-org:service:AlarmClock:1
id urn:schemas-upnp-org:device:ZonePlayer:1
id urn:schemas-upnp-org:service:SystemProperties:1
id urn:schemas-upnp-org:service:ContentDirectory:1
id urn:schemas-upnp-org:service:ConnectionManager:1
id urn:schemas-upnp-org:service:HTControl:1
id urn:smartspeaker-audio:service:SpeakerGroup:1
id urn:schemas-upnp-org:service:VirtualLineIn:1
id urn:schemas-upnp-org:service:AudioIn:1
id urn:schemas-upnp-org:device:EmbeddedNetDevice:1
id urn:schemas-upnp-org:service:EmbeddedNetDeviceControl:1

Troubleshooting:

show airgroup blocked-queries
show airgroup blocked-service-id

Reference: Airheads Post

Active Directory and LDAP Queries

Query Examples

Example 2

<filter> ::= '(' <filtercomp> ')'
<filtercomp> ::= <and> | <or> | <not> | <item><and> ::= '&' <filterlist>
<or> ::= '|' <filterlist>
<not> ::= '!' <filter>
<filterlist> ::= <filter> | <filter> <filterlist>
<item>::= <simple> | <present> | <substring>
<simple> ::= <attr> <filtertype> <value><filtertype> ::= <equal> | <approx> | <ge> | <le>
<equal> ::= '='
<approx> ::= '~='
<ge> ::= '>='
<le> ::= '<='
<present> ::= <attr> '=*'
<substring> ::= <attr> '=' <initial> <any> <final>
<initial> ::= NULL | <value><any> ::= '*' <starval>
<starval> ::= NULL | <value>'*' <starval>
<final> ::= NULL | <value>

AD Schema

OpenSSL Commands for Certificate Request and PFX File Generation

Generate CSR for domain

openssl req -new -newkey rsa:2048 -nodes -keyout wildcard.alexkuo.com.key -out wildcard.alexkuo.com.csr

Combine CA , Private, and Public certificate files into PFX file

openssl pkcs12 -export -in public.key -certfile intermediate-ca.key -inkey wildcard.alexkuo.com.key -out wildcard.alexkuo.com.pfx
  • public.key – Public SSL Key returned from CSR
  • intermediate-ca.key – Intermediate/Root CA Public Certificate
  • wildcard.alexkuo.com.key – private key
  • wildcard.alexkuo.com.pfx – combined file

ClearPass and SQL Database Authentication Source

When writing queries for checking a mac address in a table, denoting the correct filter for a mac address can be confusing, depending on the format stored in the table. Here’s a few options

  • %{Authentication:Username}
  • %{Connection:Client-Mac-Address}
  • %{Connection:Client-Mac-Address-NoDelim}
  • %{Connection:Client-Mac-Address-Hyphen}
  • %{Connection:Client-Mac-Address-Dot}
  • %{Connection:Client-Mac-Address-Upper-Hyphen}

Example SQL Server Query

Select top 1 mac from clientmac where mac = ‘%{Authentication:Username}’ or mac = ‘%{Connection:Client-Mac-Address}’

In the enforcement policy, using an exists comparison should be sufficient, although most official examples add another rule to compare the returned value from the query.

Subnet Size Blocks


Addresses Hosts Netmask Amount of a Class C
/3042255.255.255.2521/64
/2986255.255.255.2481/32
/281614255.255.255.2401/16
/273230255.255.255.2241/8
/266462255.255.255.1921/4
/25128126255.255.255.1281/2
/24256254255.255.255.01
/23512510255.255.254.02
/2210241022255.255.252.04
/2120482046255.255.248.08
/2040964094255.255.240.016
/1981928190255.255.224.032
/181638416382255.255.192.064
/173276832766255.255.128.0128
/166553665534255.255.0.0256

References

Subnet Mask Cheat Sheet