I’m trying to figure out if there is an inherent flaw in the way JUNOS handles sticky-mac
addresses across their switch-ports versus how Cisco handles them. I’ll elaborate.
Below, you can see that port Fa0/1
is configured for sticky-mac
, and once a device is plugged into the port, it loads the mac address into running-configuration
for that single port.
interface FastEthernet0/1
switchport mode access
switchport port-security
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security mac-address sticky 0010.9400.0002
!
Now, let’s say an end user has the mobility of a laptop, and decides to plug the laptop in somewhere else; we’ll assume they plug into port Fa0/2
on the same switch.
Obviously, Cisco switches will throw the port into an err-disabled
state since port Fa0/2
is attempting to connect with a mac-address that is already registered on the switch.
CiscoSwitch>show interface status
Port Name Status Vlan Duplex Speed Type
Fa0/1 notconnect 1 auto auto 10/100BaseTX
Fa0/2 err-disabled 1 auto auto 10/100BaseTX
Fa0/3 notconnect 1 auto auto 10/100BaseTX
Fa0/4 notconnect 1 auto auto 10/100BaseTX
Fa0/5 notconnect 1 auto auto 10/100BaseTX
Fa0/6 notconnect 1 auto auto 10/100BaseTX
Now, from my understanding, this isn’t necessarily a security mechanism. It’s more of a basic switch function; not really knowing what to do with more than 2 mac-address entires being registered on the same switch. Although this isn’t a security control, per se, it does work twofold in ensuring the administrator has proper port control; with a fully populated 6550, this might mean the difference of entire floors, VLANs, or even subnets.
Now, the configuration that will net you the same desired outcome in JUNOS are as follows. Also, yes, I understand that the family ethernet-switching
commands are missing. We will also assume we are using the same laptop in the Cisco example.
user@switch# show
interface ge-0/0/0.0 {
mac-limit 1;
persistent-learning;
}
interface ge-0/0/1.0 {
mac-limit 1;
persistent-learning;
}
After verifying the mac-address has been registered persistently.
user@switch> show ethernet-switching table persistent-mac
VLAN MAC address Type Interface
default 00:10:94:00:00:02 installed ge-0/0/0.0
Now comes the strange part, if you change the port, JUNOS automatically migrates the mac-address over to the port it sees the mac-address on next.
user@switch> show ethernet-switching table persistent-mac
VLAN MAC address Type Interface
default 00:10:94:00:00:02 installed ge-0/0/1.0
I’m not sure if this was the design goal, but from someone who is in a heavy transition to Juniper, I find this shortcoming a big deal since 802.1X is not yet feasible in our environment.
What have others done? Has anyone else found a way around this dynamically?