diff --git a/radius-server/tasks/main.yml b/radius-server/tasks/main.yml index d1f0a96616b485fb228a34e2c99e660f9dae5598..2b3cec8717201043efae648a4f95c9db340d8b02 100644 --- a/radius-server/tasks/main.yml +++ b/radius-server/tasks/main.yml @@ -6,8 +6,6 @@ - freeradius - freeradius-config - freeradius-ldap - - freeradius-mysql - - freeradius-postgresql - freeradius-utils - winbind state: present @@ -18,7 +16,7 @@ - name: ensure freeradius server SSL configuration copy: src: "{{ radius_certs_dir }}/{{ item }}" - dest: /etc/freeradius/3.0/certs/ + dest: /etc/freeradius/certs/ owner: root group: freerad mode: '0640' @@ -36,7 +34,7 @@ - name: configure available modules template: src: "{{ item }}.j2" - dest: "/etc/freeradius/3.0/{{ item }}" + dest: "/etc/freeradius/{{ item }}" owner: root group: root mode: '0644' @@ -52,7 +50,7 @@ - name: ensure freeradius server sites and policies are configured template: src: "{{ item }}.j2" - dest: "/etc/freeradius/3.0/{{ item }}" + dest: "/etc/freeradius/{{ item }}" owner: root group: freerad mode: '0640' @@ -72,10 +70,19 @@ tags: - freeradius +- name: allow enabling freeradius server modules + file: + dest: "/etc/freeradius/mods-enabled/" + state: directory + notify: + - reload freeradius + tags: + - freeradius + - name: enable freeradius server modules file: - src: "/etc/freeradius/3.0/mods-available/{{ item }}" - dest: "/etc/freeradius/3.0/mods-enabled/{{ item }}" + src: "/etc/freeradius/mods-available/{{ item }}" + dest: "/etc/freeradius/mods-enabled/{{ item }}" state: link with_items: - ldap @@ -88,10 +95,19 @@ tags: - freeradius +- name: allow enabling freeradius server sites + file: + dest: "/etc/freeradius/sites-enabled/" + state: directory + notify: + - reload freeradius + tags: + - freeradius + - name: enable freeradius server sites file: - src: "/etc/freeradius/3.0/sites-available/{{ item }}" - dest: "/etc/freeradius/3.0/sites-enabled/{{ item }}" + src: "/etc/freeradius/sites-available/{{ item }}" + dest: "/etc/freeradius/sites-enabled/{{ item }}" state: link with_items: - default diff --git a/radius-server/templates/mods-available/ldap.j2 b/radius-server/templates/mods-available/ldap.j2 index 135c21e6972bcabdb051f2217d7a8b8fcc91c7f2..4dcce7d499925db0c091b80dc5cc2ba6427d5303 100644 --- a/radius-server/templates/mods-available/ldap.j2 +++ b/radius-server/templates/mods-available/ldap.j2 @@ -289,7 +289,7 @@ ldap { # The default is libldap's default, which varies based # on the contents of ldap.conf. - require_cert = 'demand' + require_cert = 'allow' } # As of version 3.0, the 'pool' section has replaced the diff --git a/radius-server/templates/mods-config/files/authorize.j2 b/radius-server/templates/mods-config/files/authorize.j2 index 1b93cecc1be3deb428fa31d356e3c59be311333b..8163beaf6473e7b80be073a820692151026d649d 100644 --- a/radius-server/templates/mods-config/files/authorize.j2 +++ b/radius-server/templates/mods-config/files/authorize.j2 @@ -27,13 +27,13 @@ DEFAULT Realm == {{ radius_default_realm }}, FreeRADIUS-Proxied-To == 127.0.0.1 User-Name = '%{User-Name}', Fall-Through = yes -{%- for assign in radius_vlan_assignments %} +{% for assign in radius_vlan_assignments %} DEFAULT {{ assign.key }} {{ assign.condition }} {{ assign.value }} Tunnel-Type = VLAN, Tunnel-Medium-Type = IEEE-802, Tunnel-Private-Group-Id = {{ assign.vlan }}, Fall-Through = yes -{% endfor -%} +{% endfor %} # # Deny access for a group of users. diff --git a/radius-server/templates/sites-available/default.j2 b/radius-server/templates/sites-available/default.j2 index 7b5a2db81f299912ee59752db2a8cb5bbf320e89..a83130d3933470887ef785320d4ca1deb96ea4a4 100644 --- a/radius-server/templates/sites-available/default.j2 +++ b/radius-server/templates/sites-available/default.j2 @@ -252,9 +252,11 @@ preacct { # The start time is: NOW - delay - session_length # +{% raw %} # update request { # FreeRADIUS-Acct-Session-Start-Time = "%{expr: %l - %{%{Acct-Session-Time}:-0} - %{%{Acct-Delay-Time}:-0}}" # } +{% endraw %} # diff --git a/radius-server/templates/sites-available/inner-tunnel.j2 b/radius-server/templates/sites-available/inner-tunnel.j2 index 904009fc87f35d2cadf7e78e54f05f99e4e6a6ac..a9fddacecf3eb12166f9a02512e9fa3eaceda4c9 100644 --- a/radius-server/templates/sites-available/inner-tunnel.j2 +++ b/radius-server/templates/sites-available/inner-tunnel.j2 @@ -94,22 +94,22 @@ authorize { -sql ldap - {%- for check in radius_tunnel_checks %} - {%- if check.station %} + {% for check in radius_tunnel_checks %} + {%- if check.station|default(False) %} if ( &Called-Station-SSID == "{{ check.station }}" ) { {% endif -%} if {{ check.condition }} { } else { update reply { - Reply-Message = "{{ check_error }}" + Reply-Message = "{{ check.error }}" } reject } - {%- if check.station %} + {%- if check.station|default(False) %} } {% endif -%} - {% endfor -%} + {% endfor %} expiration logintime