Generate simple config
Some checks reported errors
continuous-integration/drone/push Build encountered an error

This commit is contained in:
Adrien Reslinger 2022-07-20 02:09:17 +02:00
parent 708147f415
commit dead47287a
Signed by: adrien
GPG key ID: DA7B27055C66D6DE
5 changed files with 54 additions and 33 deletions

View file

@ -2,6 +2,7 @@
wireguard_interface: wg0 wireguard_interface: wg0
wireguard_port: 51820 wireguard_port: 51820
# wireguard_address: 10.0.0.1/24 # wireguard_address: 10.0.0.1/24
# wireguard_allowed_ips:
# wireguard_dns: # wireguard_dns:
# wireguard_fwmark: # wireguard_fwmark:
# wireguard_mtu: # wireguard_mtu:
@ -10,6 +11,7 @@ wireguard_port: 51820
# wireguard_postup: # wireguard_postup:
# wireguard_predown: # wireguard_predown:
# wireguard_postdown: # wireguard_postdown:
wireguard_persistent_keepalive: 20
wireguard_save_config: true wireguard_save_config: true
skip_conf: false skip_conf: false

View file

@ -5,4 +5,14 @@
- epel-release - epel-release
- elrepo-release - elrepo-release
state: present state: present
update_cache: yes update_cache: true
- name: Install kernel driver for WireGuard
package:
name:
- kmod-wireguard
state: present
update_cache: true
when:
- ansible_os_family == 'RedHat'
- ansible_distribution_major_version < "9"

View file

@ -12,9 +12,10 @@
- name: Install packages for WireGuard - name: Install packages for WireGuard
package: package:
name: "{{ wireguard_packages }}" name:
- "{{ wireguard_packages }}"
state: present state: present
update_cache: yes update_cache: true
- name: Configure wireguard - name: Configure wireguard
block: block:
@ -24,7 +25,8 @@
shell: > shell: >
cat /etc/wireguard/privatekey cat /etc/wireguard/privatekey
register: wireguard_private_key register: wireguard_private_key
changed_when: no changed_when: false
check_mode: false
rescue: rescue:
- name: Generate private key - name: Generate private key
shell: > shell: >
@ -44,7 +46,8 @@
shell: > shell: >
cat /etc/wireguard/publickey cat /etc/wireguard/publickey
register: wireguard_public_key register: wireguard_public_key
changed_when: no changed_when: false
check_mode: false
rescue: rescue:
- name: Generate public key - name: Generate public key
shell: > shell: >
@ -58,28 +61,29 @@
group: root group: root
mode: 0600 mode: 0600
# - name: Set keys pair variable - name: Set keys pair variable
# set_facts: set_fact:
# wireguard_public_key: '{{ wireguard_public_key.stdout }}' wireguard_public_key: '{{ wireguard_public_key.stdout }}'
# wireguard_private_key: '{{ wireguard_private_key.stdout }}' wireguard_private_key: '{{ wireguard_private_key.stdout }}'
# check_mode: false
# - name: Install WireGuard configuration files
# template: - name: Install WireGuard configuration files
# src: "etc/wireguard/wireguard.conf.j2" template:
# dest: "/etc/wireguard/{{ wireguard_interface }}.conf" src: "etc/wireguard/wireguard.conf.j2"
# owner: root dest: "/etc/wireguard/{{ wireguard_interface }}.conf"
# group: root owner: root
# mode: 0644 group: root
# mode: 0644
# - name: Enable Wireguard service
# service: - name: Enable Wireguard service
# name: "wg-quick@{{ wireguard_interface }}" service:
# enabled: yes name: "wg-quick@{{ wireguard_interface }}"
# state: restarted enabled: true
# when: state: restarted
# - skip_conf|false when:
# tags: - not skip_conf
# - wireguard-conf tags:
# - wireguard-conf
tags: tags:
- wireguard - wireguard

View file

@ -46,10 +46,16 @@ SaveConfig = {{ wireguard_save_config }}
[Peer] [Peer]
# {{ host }} # {{ host }}
PublicKey = {{ public_key_files.results[0].stdout }} PublicKey = {{ hostvars[host].wireguard_public_key }}
#AllowedIPs = 0.0.0.0/0,::/0 #AllowedIPs = 0.0.0.0/0,::/0
AllowedIPs = {{ wireguard_address }} {% if hostvars[host].wireguard_allowed_ips is defined %}
Endpoint = {{ ansible_default_ipv4.address }}:{{ vpn_port }} AllowedIPs = {{hostvars[host].wireguard_allowed_ips}}
PersistentKeepalive = 20 {% else %}
AllowedIPs = {{ hostvars[host].wireguard_address.split('/')[0] }}/32
{% endif %}
Endpoint = {{ hostvars[host].ansible_default_ipv4.address }}:{{ wireguard_port }}
{% if hostvars[host].wireguard_persistent_keepalive is defined %}
PersistentKeepalive = {{hostvars[host].wireguard_persistent_keepalive}}
{% endif %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}

View file

@ -1,4 +1,3 @@
--- ---
wireguard_packages: wireguard_packages:
- kmod-wireguard
- wireguard-tools - wireguard-tools