access: enable DHCP snooping on D-Link switches

Use the ifaces_dhcp custom context property to select interfaces where
we should expect DHCP replies.
This commit is contained in:
Timotej Lazar 2024-11-09 19:56:31 +01:00
parent bbf0798d5c
commit de05fd236b
2 changed files with 13 additions and 1 deletions

View file

@ -19,7 +19,7 @@
ansible_terminal_stderr_re: [] # some errors are not actually errors ansible_terminal_stderr_re: [] # some errors are not actually errors
register: result register: result
# These lines are not displayed by 'sho ru' and always reported as different, so ignore them. # These lines are not displayed by 'sho ru' and always reported as different, so ignore them.
changed_when: result.commands | reject('match', '^(no shutdown|no switchport access vlan|no voice vlan.*|switchport mode access|switchport mode hybrid|interface .*|no enable service web-server https?)$') changed_when: result.commands | reject('match', '^(no shutdown|no switchport access vlan|no voice vlan.*|switchport mode access|switchport mode hybrid|interface .*|no enable service web-server https?|no ip dhcp snooping|no ip dhcp snooping trust)$')
notify: write config notify: write config
- name: Run model-specific tasks - name: Run model-specific tasks

View file

@ -51,6 +51,12 @@ interface {{ iface.name }}
{% set mgmt.gw = iface.custom_fields.gateway.address %} {% set mgmt.gw = iface.custom_fields.gateway.address %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if iface.name in ifaces_dhcp | default([]) %}
ip dhcp snooping trust
{% else %}
no ip dhcp snooping trust
{% endif %}
{% endfor %} {% endfor %}
{%- if mgmt.ip %} {%- if mgmt.ip %}
@ -83,6 +89,12 @@ sntp server {{ address }}
ntp access-group default nomodify noquery ntp access-group default nomodify noquery
{% if ifaces_dhcp | default(false) %}
ip dhcp snooping
{% else %}
no ip dhcp snooping
{% endif %}
{% if mgmt.gw %} {% if mgmt.gw %}
ip route 0.0.0.0 0.0.0.0 {{ mgmt.gw | ipaddr('address') }} primary ip route 0.0.0.0 0.0.0.0 {{ mgmt.gw | ipaddr('address') }} primary
{% endif %} {% endif %}