63 lines
1.2 KiB
Plaintext
63 lines
1.2 KiB
Plaintext
---
|
|
- name: Install Wireguard Server
|
|
apt:
|
|
pkg:
|
|
- wireguard
|
|
state: latest
|
|
update_cache: true
|
|
|
|
|
|
- name: Create directory for wg keys
|
|
ansible.builtin.file:
|
|
path: /etc/wireguard/keys
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Creating server privatekey and publickey
|
|
shell: wg genkey | tee privatekey | wg pubkey > publickey
|
|
args:
|
|
chdir: /etc/wireguard/keys
|
|
|
|
- name: Get Private Key [privatekey => var_privatekey]
|
|
shell: cat privatekey
|
|
register: var_privatekey
|
|
args:
|
|
chdir: /etc/wireguard/keys
|
|
|
|
|
|
#- name: Add WireGuard interface
|
|
# command: ip link add dev wg0 type wireguard
|
|
|
|
|
|
- name: Updating configuration
|
|
template:
|
|
src: wireguard_server.jinja
|
|
dest: /etc/wireguard/wg0.conf
|
|
|
|
#- name: Activating link
|
|
# command: ip link set up dev wg0
|
|
|
|
|
|
- name: Starting wg service
|
|
systemd:
|
|
state: started
|
|
name: wg-quick@wg0
|
|
enabled: yes
|
|
|
|
|
|
- name: Getting public key
|
|
shell: cat publickey
|
|
register: var_publickey
|
|
args:
|
|
chdir: /etc/wireguard/keys
|
|
|
|
|
|
- name: Check server public IP
|
|
shell: curl https://ipinfo.io/ip
|
|
register: var_server_ip
|
|
|
|
|
|
- name: Printing public key
|
|
debug:
|
|
msg: "Server {{ ansible_hostname }} reachable @{{var_server_ip}}. Public key is {{ var_publickey }}"
|