From 2bcaaf01a5fcc2d2ce618da6af30a43a70d03d80 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Sun, 3 Nov 2013 05:54:11 +0100 Subject: 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. --- roles/common/tasks/firewall.yml | 8 ++++++-- roles/common/tasks/ipsec.yml | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) (limited to 'roles/common/tasks') 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 -- cgit v1.2.3