Generate simple config
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Some checks reported errors
continuous-integration/drone/push Build encountered an error
This commit is contained in:
parent
708147f415
commit
dead47287a
5 changed files with 54 additions and 33 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 %}
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
---
|
---
|
||||||
wireguard_packages:
|
wireguard_packages:
|
||||||
- kmod-wireguard
|
|
||||||
- wireguard-tools
|
- wireguard-tools
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue