diff --git a/group_vars/all/network_interfaces.yml b/group_vars/all/network_interfaces.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2a5a4e94b58ed32cf1e0841e7de96ebdedb5a9ab
--- /dev/null
+++ b/group_vars/all/network_interfaces.yml
@@ -0,0 +1,30 @@
+glob_network_interfaces:
+  vlan:
+    - name: srv
+      id: 2
+      gateway: 185.230.79.4  # 185.230.79.62
+      dns: 185.230.79.4  # 185.230.79.62
+      gateway_v6: 2a0c:700:2::ff:fe00:9902
+    - name: srv_nat
+      id: 3
+      gateway: 172.16.3.99
+      dns: 172.16.3.99
+      gateway_v6: 2a0c:700:3::ff:fe00:9903
+    - name: san
+      id: 4
+    - name: adm
+      id: 10
+      dns: 172.16.10.101 172.16.10.102
+    - name: infra
+      id: 11
+      dns: 172.16.32.99
+    - name: adh
+      id: 12
+      gateway: 185.230.78.99
+      dns: 185.230.78.99
+      gateway_v6: 2a0c:700:12::ff:fe00:9912
+    - name: adh_nat
+      id: 13
+      gateway: 100.64.0.99
+      dns: 100.64.0.99
+      gateway_v6: 2a0c:700:13::ff:fe00:9913
diff --git a/host_vars/bakdaur.adm.crans.org.yml b/host_vars/bakdaur.adm.crans.org.yml
deleted file mode 100644
index 358634070ac5fbd2cdf2fa2e8b0f34586200cecf..0000000000000000000000000000000000000000
--- a/host_vars/bakdaur.adm.crans.org.yml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-interfaces:
-  adm: eth0
-  srv: eth1
-
-loc_keepalived:
-  instances:
-    - name: proxy
-      tag: VI_DAUR
-      state: MASTER
-      priority: 150
diff --git a/host_vars/cas.adm.crans.org.yml b/host_vars/cas.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5cde204461d4051fcc160eab974a5c25e3663a6c
--- /dev/null
+++ b/host_vars/cas.adm.crans.org.yml
@@ -0,0 +1,3 @@
+---
+interfaces:
+  adm: eth0
diff --git a/host_vars/eap.adm.crans.org.yml b/host_vars/eap.adm.crans.org.yml
deleted file mode 100644
index 31f6cfa6a623920b1a6cc50b382b8780c78dc821..0000000000000000000000000000000000000000
--- a/host_vars/eap.adm.crans.org.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-
-interfaces:
-  adm: eth0
-  bornes: eth1
-  switches: eth2
-
-loc_keepalived:
-  instances:
-    - name: radius
-      tag: VI_RAD
-      state: BACKUP
-      priority: 100
diff --git a/host_vars/ethercalc-srv.adm.crans.org b/host_vars/ethercalc-srv.adm.crans.org
deleted file mode 100644
index bd946faf1a83aa78c7a005febc27a994bd89f894..0000000000000000000000000000000000000000
--- a/host_vars/ethercalc-srv.adm.crans.org
+++ /dev/null
@@ -1,2 +0,0 @@
-ethercalc:
-  ipv4: '172.16.10.133'
diff --git a/host_vars/ethercalc.adm.crans.org.yml b/host_vars/ethercalc.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..78460542d26a36d77db65e93d49c9fb01ed3c070
--- /dev/null
+++ b/host_vars/ethercalc.adm.crans.org.yml
@@ -0,0 +1,7 @@
+---
+interfaces:
+  adm: eth0
+  srv_nat: eth1
+
+ethercalc:
+  ipv4: '172.16.10.133'
diff --git a/host_vars/frontdaur.adm.crans.org.yml b/host_vars/frontdaur.adm.crans.org.yml
deleted file mode 100644
index 69bfb5ea098bff534c355b7f5409ff2f90450de6..0000000000000000000000000000000000000000
--- a/host_vars/frontdaur.adm.crans.org.yml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-interfaces:
-  adm: eth1
-  srv: eth0
-
-loc_keepalived:
-  instances:
-    - name: proxy
-      tag: VI_DAUR
-      state: BACKUP
-      priority: 100
diff --git a/host_vars/gitlab-ci.adm.crans.org.yml b/host_vars/gitlab-ci.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2eb6f993a4287225249a71040a352e24e4c0e15b
--- /dev/null
+++ b/host_vars/gitlab-ci.adm.crans.org.yml
@@ -0,0 +1,4 @@
+---
+interfaces:
+  adm: eth0
+  srv_nat: eth1
diff --git a/host_vars/gulp.adm.crans.org.yml b/host_vars/gulp.adm.crans.org.yml
deleted file mode 100644
index cc5c83dd1a1e93c34771c86d5ff73b262a941272..0000000000000000000000000000000000000000
--- a/host_vars/gulp.adm.crans.org.yml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-interfaces:
-  adm: eno1.2
-  fil_pub: ens1f0.23
-  srv: ens1f0.24
-  fil_new: ens1f0.21
-  wifi_new: ens1f0.22
-  zayo: ens1f0.26
-
-firewall:
-  version: gulp
-
-loc_keepalived:
-  instances:
-    - name: router
-      tag: VI_ROUT
-      state: MASTER
-      priority: 150
diff --git a/host_vars/hodaur.adm.crans.org.yml b/host_vars/hodaur.adm.crans.org.yml
index ddf9701620a899ac2973c8fa009362769530c9d7..4bc596b8c73190051cc30d92835f48eef197a22a 100644
--- a/host_vars/hodaur.adm.crans.org.yml
+++ b/host_vars/hodaur.adm.crans.org.yml
@@ -1,4 +1,8 @@
 ---
+interfaces:
+  adm: ens18
+  srv: ens19
+
 loc_certbot:
   - dns_rfc2136_server: '172.16.10.147'
     dns_rfc2136_name: certbot_challenge.
diff --git a/host_vars/horde.adm.crans.org.yml b/host_vars/horde.adm.crans.org.yml
index f0914f81882cd7cce111a7b20e2fcb225411d2d5..32703bcae856a32f2edc5135f8ea45f81f49e69b 100644
--- a/host_vars/horde.adm.crans.org.yml
+++ b/host_vars/horde.adm.crans.org.yml
@@ -1,3 +1,7 @@
+---
+interfaces:
+  adm: eth0
+
 loc_horde:
   ipv6: 'fd00::10:400:ff:fe01:810'
   ipv4: '172.16.10.108'
diff --git a/host_vars/irc.adm.crans.org.yml b/host_vars/irc.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..53d3a98a63a5a588ccdc109e84b1082b780f441b
--- /dev/null
+++ b/host_vars/irc.adm.crans.org.yml
@@ -0,0 +1,4 @@
+---
+interfaces:
+  adm: ens18
+  srv: ens19
diff --git a/host_vars/jitsi.adm.crans.org.yml b/host_vars/jitsi.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..53d3a98a63a5a588ccdc109e84b1082b780f441b
--- /dev/null
+++ b/host_vars/jitsi.adm.crans.org.yml
@@ -0,0 +1,4 @@
+---
+interfaces:
+  adm: ens18
+  srv: ens19
diff --git a/host_vars/kenobi.adm.crans.org.yml b/host_vars/kenobi.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..92076e1af085513ba213226f7ceebaafd6bd4752
--- /dev/null
+++ b/host_vars/kenobi.adm.crans.org.yml
@@ -0,0 +1,4 @@
+---
+interfaces:
+  adm: ens18
+  srv_nat: ens19
diff --git a/host_vars/kiwi.adm.crans.org.yml b/host_vars/kiwi.adm.crans.org.yml
index fb1eb81f5427dc7f13d305f06347b129a30e2cb0..162f19448fa5423c41fe5ae04aa910bb07cd0c3f 100644
--- a/host_vars/kiwi.adm.crans.org.yml
+++ b/host_vars/kiwi.adm.crans.org.yml
@@ -1,6 +1,6 @@
 ---
 interfaces:
-  adm: ens18
+  adm: ens19
 
 to_backup:
   - {
diff --git a/host_vars/linx.adm.crans.org.yml b/host_vars/linx.adm.crans.org.yml
index 9f8e71f2cb2fb516f86e43a9a11816a2dcdd4a43..f11123bbf06d7d816f94dbc4224d72992bb49020 100644
--- a/host_vars/linx.adm.crans.org.yml
+++ b/host_vars/linx.adm.crans.org.yml
@@ -1,3 +1,6 @@
 ---
+interfaces:
+  adm: ens18
+
 loc_linx:
   ip: "{{ query('ldap', 'ip', 'linx', 'adm') | first }}"
diff --git a/host_vars/odlyd.adm.crans.org.yml b/host_vars/odlyd.adm.crans.org.yml
deleted file mode 100644
index 988fb0ca906e86e11fd23bd406bd23615d191ca9..0000000000000000000000000000000000000000
--- a/host_vars/odlyd.adm.crans.org.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-interfaces:
-  adm: eth0.2
-  bornes: eth0.3
-  switches: eth0.4
-  accueil: eth0.7
-  fil_new: ens1f0.21
-  wifi_new: ens1f0.22
-  fil_pub: ens1f0.23
-  srv: ens1f0.24
-  zayo: ens1f0.26
-
-loc_keepalived:
-  instances:
-    - name: radius
-      tag: VI_RAD
-      state: BACKUP
-      priority: 50
-    - name: router
-      tag: VI_ROUT
-      state: BACKUP
-      priority: 100
diff --git a/host_vars/owncloud.adm.crans.org.yml b/host_vars/owncloud.adm.crans.org.yml
index 85395a8d129d9107effba843da8356737b2964ef..d8091980ce454f32575c2c09c47e75de648d193d 100644
--- a/host_vars/owncloud.adm.crans.org.yml
+++ b/host_vars/owncloud.adm.crans.org.yml
@@ -1,4 +1,9 @@
 ---
+interfaces:
+  adm: eth0
+  san: eth1
+  srv_nat: eth2
+
 loc_ldap:
   base_dn: "cn=admin,dc=crans,dc=org"
   password: "{{ vault_ldap_master_password }}"
diff --git a/host_vars/re2o-dev.adm.crans.org.yml b/host_vars/re2o-dev.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2eb6f993a4287225249a71040a352e24e4c0e15b
--- /dev/null
+++ b/host_vars/re2o-dev.adm.crans.org.yml
@@ -0,0 +1,4 @@
+---
+interfaces:
+  adm: eth0
+  srv_nat: eth1
diff --git a/host_vars/re2o-ldap.adm.crans.org.yml b/host_vars/re2o-ldap.adm.crans.org.yml
index 71431fa6e0ae31ea0d10184d61f2150411a5b22d..aed012f93e905b5157dea5201d6cd47c5e35d5d2 100644
--- a/host_vars/re2o-ldap.adm.crans.org.yml
+++ b/host_vars/re2o-ldap.adm.crans.org.yml
@@ -1,2 +1,5 @@
 ---
+interfaces:
+  adm: ens18
+
 backports: true
diff --git a/host_vars/re2o-newinfra.adm.crans.org.yml b/host_vars/re2o-newinfra.adm.crans.org.yml
deleted file mode 100644
index 19f4c3f612c05b4632f882adb1bc6488b3e9f7d4..0000000000000000000000000000000000000000
--- a/host_vars/re2o-newinfra.adm.crans.org.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-interfaces:
-  adm: eth0
-  srv_nat: eth1
-
-
-loc_re2o:
-  owner: root
-  group: nounou
-  version: master_freeradius_python3
-  settings_local_owner: root
-  settings_local_group: nounou
diff --git a/host_vars/roundcube.adm.crans.org.yml b/host_vars/roundcube.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2eb6f993a4287225249a71040a352e24e4c0e15b
--- /dev/null
+++ b/host_vars/roundcube.adm.crans.org.yml
@@ -0,0 +1,4 @@
+---
+interfaces:
+  adm: eth0
+  srv_nat: eth1
diff --git a/host_vars/silice.adm.crans.org.yml b/host_vars/silice.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..736408c89ab9eb9a903aef26c5f21fd45b40befa
--- /dev/null
+++ b/host_vars/silice.adm.crans.org.yml
@@ -0,0 +1,4 @@
+---
+interfaces:
+  adm: eth1
+  srv: eth0
diff --git a/host_vars/tracker.adm.crans.org.yml b/host_vars/tracker.adm.crans.org.yml
new file mode 100644
index 0000000000000000000000000000000000000000..92076e1af085513ba213226f7ceebaafd6bd4752
--- /dev/null
+++ b/host_vars/tracker.adm.crans.org.yml
@@ -0,0 +1,4 @@
+---
+interfaces:
+  adm: ens18
+  srv_nat: ens19
diff --git a/hosts b/hosts
index 960f7c88531a9fccb7578736edc3a8958b16fce0..aa7a76433f97c64a54df0f61395f4ed5c8f6172d 100644
--- a/hosts
+++ b/hosts
@@ -47,7 +47,6 @@ voyager.adm.crans.org
 
 [freebox]
 boeing.adm.crans.org
-#titanic.adm.crans.org
 
 [git]
 gitzly.adm.crans.org
@@ -140,7 +139,7 @@ virtu
 [crans_vm]
 #belenios.adm.crans.org
 #bigbluebutton.adm.crans.org
-#boeing.adm.crans.org
+boeing.adm.crans.org
 cas.adm.crans.org
 #codichotomie.adm.crans.org
 ethercalc.adm.crans.org
@@ -164,7 +163,6 @@ re2o-ldap.adm.crans.org
 redisdead.adm.crans.org
 roundcube.adm.crans.org
 silice.adm.crans.org
-#titanic.adm.crans.org
 tracker.adm.crans.org
 voyager.adm.crans.org
 #unifi.adm.crans.org
diff --git a/plays/network-interfaces.yml b/plays/network-interfaces.yml
deleted file mode 100755
index 8d7a0511f0525eea39cc7adb3d615fb0af6706ac..0000000000000000000000000000000000000000
--- a/plays/network-interfaces.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env ansible-playbook
----
-- hosts: crans_vm,!routeurs_vm
-  vars:
-    vlan:
-      - name: srv
-        id: 2
-        gateway: 185.230.79.4  # 185.230.79.62
-        dns: 185.230.79.4  # 185.230.79.62
-        gateway_v6: 2a0c:700:2::ff:fe00:9902
-      - name: srv_nat
-        id: 3
-        gateway: 172.16.3.99
-        dns: 172.16.3.99
-        gateway_v6: 2a0c:700:3::ff:fe00:9903
-      - name: san
-        id: 4
-      - name: adm
-        id: 10
-        dns: 172.16.10.101 172.16.10.102
-      - name: infra
-        id: 11
-        dns: 172.16.32.99
-      - name: adh
-        id: 12
-        gateway: 185.230.78.99
-        dns: 185.230.78.99
-        gateway_v6: 2a0c:700:12::ff:fe00:9912
-      - name: adh_nat
-        id: 13
-        gateway: 100.64.0.99
-        dns: 100.64.0.99
-        gateway_v6: 2a0c:700:13::ff:fe00:9913
-  roles:
-    - interfaces
diff --git a/plays/network_interfaces.yml b/plays/network_interfaces.yml
new file mode 100755
index 0000000000000000000000000000000000000000..0673e11b8c5d4d58bdbebc96e8f3f045741ad4b8
--- /dev/null
+++ b/plays/network_interfaces.yml
@@ -0,0 +1,7 @@
+#!/usr/bin/env ansible-playbook
+---
+- hosts: crans_vm,!routeurs_vm
+  vars:
+   network_interfaces: "{{ glob_network_interfaces | default({}) | combine(loc_network_interfaces | default({})) }}"
+  roles:
+    - network_interfaces
diff --git a/plays/root.yml b/plays/root.yml
index 7c3dee2f68a37ddc9c653e049976bee923b0e0fc..b2d6a03d6712e9937675ee532b9f6e043dcdfe15 100755
--- a/plays/root.yml
+++ b/plays/root.yml
@@ -77,3 +77,4 @@
 
 - import_playbook: borgbackups_client.yml
 - import_playbook: monitoring.yml
+- import_playbook: network_interfaces.yml
diff --git a/roles/interfaces/tasks/main.yml b/roles/network-interfaces/tasks/main.yml
similarity index 94%
rename from roles/interfaces/tasks/main.yml
rename to roles/network-interfaces/tasks/main.yml
index b3a7e4eb959c6e55191fb277b86b54d0faa85051..ec282137b572a94ed5b1cecf1a9c749b9fd0af8e 100644
--- a/roles/interfaces/tasks/main.yml
+++ b/roles/network-interfaces/tasks/main.yml
@@ -25,4 +25,4 @@
     dest: "/etc/network/interfaces.d/{{ '%02d' | format(item.id) }}-{{ item.name | replace('_', '-') }}"
     mode: 0644
   when: item.name in interfaces
-  loop: "{{ vlan }}"
+  loop: "{{ network_interfaces.vlan }}"
diff --git a/roles/interfaces/templates/network/interfaces.d/ifalias.j2 b/roles/network-interfaces/templates/network/interfaces.d/ifalias.j2
similarity index 100%
rename from roles/interfaces/templates/network/interfaces.d/ifalias.j2
rename to roles/network-interfaces/templates/network/interfaces.d/ifalias.j2
diff --git a/roles/interfaces/templates/network/interfaces.j2 b/roles/network-interfaces/templates/network/interfaces.j2
similarity index 100%
rename from roles/interfaces/templates/network/interfaces.j2
rename to roles/network-interfaces/templates/network/interfaces.j2