| 
					
				 | 
			
			
				@@ -0,0 +1,54 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+--- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: Install wireguard-tools 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  yum: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name: wireguard-tools 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state: installed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: Copy wireguard config 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  template: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    src: wg.conf.j2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dest: /etc/wireguard/{{ wg_interface }}.conf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    owner: root 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    group: root 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mode: '0644' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  notify: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Restart wireguard interface 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: Add {{ wg_interface }} to external zone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  firewalld: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    zone: external 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    interface: "{{ wg_interface }}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    permanent: yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state: enabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: Add {{ ansible_interfaces | sort | first }} to internal zone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  firewalld: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    zone: internal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    interface: "{{ ansible_interfaces | sort | first }}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    permanent: yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state: enabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: Allow source networks to use wireguard 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  firewalld: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    source: "{{ item }}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    zone: external 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state: enabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    permanent: yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  with_items: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - "{{ allowed_access_cidrs }}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: Allow services 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  firewalld: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    zone: external 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    service: "{{ item }}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state: enabled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    permanent: yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    immediate: yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  with_items: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - "{{ allowed_services }}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- name: Start/Enable {{ wg_interface }} interface 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  systemd: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name: wg-quick@{{ wg_interface }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state: started 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    enabled: yes 
			 |