summaryrefslogtreecommitdiffstats
path: root/roles/common/tasks
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2013-11-03 05:54:11 +0100
committerGuilhem Moulin <guilhem@fripost.org>2015-06-07 02:50:35 +0200
commit2bcaaf01a5fcc2d2ce618da6af30a43a70d03d80 (patch)
tree020bd450fbc622e49c7284f70785749c31aa4429 /roles/common/tasks
parent6c30a3f5a131b6e628b588c0723d5e5374e115e1 (diff)
Use a dedicated, non-routable, IPv4 for IPSec.
At the each IPSec end-point the traffic is DNAT'ed to / MASQUERADE'd from our dedicated IP after ESP decapsulation. Also, some IP tables ensure that alien (not coming from / going to the tunnel end-point) is dropped.
Diffstat (limited to 'roles/common/tasks')
-rw-r--r--roles/common/tasks/firewall.yml8
-rw-r--r--roles/common/tasks/ipsec.yml16
2 files changed, 22 insertions, 2 deletions
diff --git a/roles/common/tasks/firewall.yml b/roles/common/tasks/firewall.yml
index b1cd9b1..5029932 100644
--- a/roles/common/tasks/firewall.yml
+++ b/roles/common/tasks/firewall.yml
@@ -24,10 +24,14 @@
mode=0755
- name: Make the iptable ruleset persistent
- copy: src=etc/network/if-pre-up.d/iptables
- dest=/etc/network/if-pre-up.d/iptables
+ copy: src=etc/network/{{ item }}
+ dest=/etc/network/{{ item }}
owner=root group=root
mode=0755
+ with_items:
+ - if-pre-up.d/iptables
+ - if-post-down.d/iptables
+
- name: Ensure the firewall is up to date
command: /usr/local/sbin/update-firewall.sh -c
diff --git a/roles/common/tasks/ipsec.yml b/roles/common/tasks/ipsec.yml
index d4270d7..3d7a1dd 100644
--- a/roles/common/tasks/ipsec.yml
+++ b/roles/common/tasks/ipsec.yml
@@ -37,3 +37,19 @@
mode=0644
notify:
- Restart IPSec
+
+- name: Auto-create a dedicated interface for IPSec
+ copy: src=etc/network/if-up.d/ipsec
+ dest=/etc/network/if-up.d/ipsec
+ owner=root group=root
+ mode=0755
+
+# XXX: As of 1.3.1 ansible doesn't accept relative src.
+# See https://github.com/ansible/ansible/issues/4459
+- name: Auto-deactivate the dedicated interface for IPSec
+ file: #src=../if-up.d/ipsec
+ src=/etc/network/if-up.d/ipsec
+ dest=/etc/network/if-down.d/ipsec
+ owner=root group=root state=link
+ notify:
+ - Reload networking