access: enable port-security
Should prevent one way of network coming down. Again.
This commit is contained in:
		
							parent
							
								
									fe30b550de
								
							
						
					
					
						commit
						07fa350ae6
					
				
					 1 changed files with 16 additions and 1 deletions
				
			
		|  | @ -10,6 +10,7 @@ ip ssh server | |||
| 
 | ||||
| vlan {{ vlans | map(attribute='vid') | compact_numlist }} | ||||
| 
 | ||||
| {# bond members #} | ||||
| {% for iface in interfaces | selectattr('lag') %} | ||||
| interface {{ iface.name }} | ||||
| {% if iface.enabled %} no{% endif %} shutdown | ||||
|  | @ -17,13 +18,21 @@ interface {{ iface.name }} | |||
| 
 | ||||
| {% endfor %} | ||||
| 
 | ||||
| {# access interfaces #} | ||||
| {%- set mgmt = namespace(ip=false, gw=false) %} | ||||
| {%- for iface in interfaces | rejectattr('lag') %} | ||||
| interface {{ iface.name }} | ||||
| {% if iface.type.value != 'lag' %} | ||||
| {# common setup for user-facing interfaces #} | ||||
| {% if iface.type.value != 'lag' and not iface.mgmt_only %} | ||||
|  switchport port-security | ||||
|  switchport port-security maximum 250 | ||||
|  switchport port-security violation shutdown | ||||
|  switchport port-security aging time 5 | ||||
|  switchport port-security aging type inactivity | ||||
| {% if iface.enabled %} no shutdown{% else %} shutdown{% endif %} | ||||
| {% endif %} | ||||
| 
 | ||||
| {# set VLAN for untagged ports #} | ||||
| {%+ if iface.mode and iface.mode.value == 'access' %} | ||||
|  switchport mode access | ||||
| {% if iface.untagged_vlan and iface.untagged_vlan.vid != 1 %} | ||||
|  | @ -37,6 +46,9 @@ interface {{ iface.name }} | |||
|  no voice vlan enable | ||||
| {% endif %} | ||||
| 
 | ||||
| {# set tagged and native VLANs for tagged ports #} | ||||
| {# if native (untagged) VLAN is set, add it to the list of tagged VLANs #} | ||||
| {# without this, the switch won’t forward traffic #} | ||||
| {%+ elif iface.mode and iface.mode.value == 'tagged' %} | ||||
|  switchport mode trunk | ||||
| {% if iface.untagged_vlan %} | ||||
|  | @ -48,10 +60,12 @@ interface {{ iface.name }} | |||
| {% endif %} | ||||
|  switchport trunk allowed vlan {{ iface_vlans | map(attribute='vid') | compact_numlist }} | ||||
| 
 | ||||
| {# we don’t support any other mode #} | ||||
| {%+ else %} | ||||
| 
 | ||||
| {% endif %} | ||||
| 
 | ||||
| {# store management address and gateway for later #} | ||||
| {%- if iface.mgmt_only and iface.ip_addresses %} | ||||
| {% set mgmt.ip = iface.ip_addresses[0].address %} | ||||
| {% if iface.custom_fields.gateway %} | ||||
|  | @ -66,6 +80,7 @@ interface {{ iface.name }} | |||
| {% endif %} | ||||
| {% endfor %} | ||||
| 
 | ||||
| {# management VLAN #} | ||||
| {%- if mgmt.ip %} | ||||
| interface Vlan1 | ||||
|  ip address {{ mgmt.ip | ipaddr('address') }} {{ mgmt.ip | ipaddr('netmask') }} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue