diff --git a/group_vars/all/mirror.yml b/group_vars/all/mirror.yml
index 2e1221096057c462473881e39cc537787e2ca2a8..0b7e3177f76675255aab2f68df296dae1f45b78e 100644
--- a/group_vars/all/mirror.yml
+++ b/group_vars/all/mirror.yml
@@ -1,7 +1,8 @@
 ---
 glob_mirror:
   hostname: mirror.adm.crans.org
-  ip: 172.16.10.30
+  ip: 172.16.10.104
 
 debian_mirror: http://mirror.adm.crans.org/debian
 debian_components: main contrib non-free
+proxmox_mirror: http://mirror.adm.crans.org/proxmox/debian/pve
diff --git a/group_vars/cachan/borg.yml b/group_vars/cachan/borg.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2f1b3e2bbf8443350600bcde554a9cbd55330b63
--- /dev/null
+++ b/group_vars/cachan/borg.yml
@@ -0,0 +1,20 @@
+---
+glob_borg:
+  to_exclude:
+    - /var/lib/lxcfs
+  to_backup:
+    - /etc
+    - /var
+  path: /backup/borg
+  remote:
+    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
+  retention:
+    - ["daily", 4]
+    - ["monthly", 6]
+  consistency_check:
+    - disabled
+  extra_init:
+    - make-parent-dirs
+  encryption_passphrase: "{{ vault.borgbackup_passwd }}"
+  ssh_privkey: "{{ vault.borgbackup_ssh_privkey }}"
+  ssh_options: ""
diff --git a/group_vars/cachan/home_nounou.yml b/group_vars/cachan/home_nounou.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5ec94551c173b0ba76a77129c676579b6be43aa9
--- /dev/null
+++ b/group_vars/cachan/home_nounou.yml
@@ -0,0 +1,10 @@
+---
+glob_home_nounou:
+  mounts:
+  - ip: 172.17.10.9
+    mountpoint: /pool/home
+    target: /home_nounou
+    name: home_nounou
+    owner: root
+    group: _user
+    mode: '0750'
diff --git a/group_vars/cachan/ldap.yml b/group_vars/cachan/ldap.yml
new file mode 100644
index 0000000000000000000000000000000000000000..310835d0cc9d261ab76b95cd245f537f26cf2419
--- /dev/null
+++ b/group_vars/cachan/ldap.yml
@@ -0,0 +1,7 @@
+---
+glob_ldap:
+  uri: 'ldaps://re2o-ldap.cachan-adm.crans.org/'
+  users_base: 'cn=Utilisateurs,dc=crans,dc=org'
+  servers:
+    - 172.17.10.204
+  base: 'dc=crans,dc=org'
diff --git a/group_vars/cachan/mirror.yml b/group_vars/cachan/mirror.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a0031f7396f332847f5ee9674363e5f83517696c
--- /dev/null
+++ b/group_vars/cachan/mirror.yml
@@ -0,0 +1,8 @@
+---
+glob_mirror:
+  hostname: mirror.cachan-adm.crans.org
+  ip: 172.17.10.30
+
+debian_mirror: http://mirror.cachan-adm.crans.org/debian
+debian_components: main contrib non-free
+proxmox_mirror: http://mirror.cachan-adm.crans.org/proxmox/debian/pve
diff --git a/group_vars/cachan/network_interfaces.yml b/group_vars/cachan/network_interfaces.yml
new file mode 100644
index 0000000000000000000000000000000000000000..90bca5083d5891b4467bcd6fdb2bdf2dab89c2aa
--- /dev/null
+++ b/group_vars/cachan/network_interfaces.yml
@@ -0,0 +1,22 @@
+glob_network_interfaces:
+  vlan:
+    - name: cachan_srv
+      id: 2
+      gateway: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv') | ipv4 | first }}"
+      dns: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv') | ipv4 | first }}"
+      gateway_v6: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv') | ipv6 | first }}"
+    - name: cachan_srv_nat
+      id: 3
+      gateway: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv-nat') | ipv4 | first }}"
+      dns: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv-nat') | ipv4 | first }}"
+      gateway_v6: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv-nat') | ipv6 | first }}"
+    - name: cachan_adm
+      id: 10
+      dns: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-adm') | ipv4 | first }}"
+      extra:
+        - "post-up /sbin/ip route add 172.16.10.0/24 via {{ query('ldap', 'ip', 'terenez', 'cachan-adm') | ipv4 | first }}"
+    # extra_v6:
+    #   - "post-up /sbin/ip -6 route add fd00:0:0:10::/64 {{ query('ldap', 'ip', 'terenez', 'cachan-adm') | ipv6 | first }}"
+    - name: infra
+      id: 11
+      dns: "{{ query('ldap', 'ip', 'routeur-gulp', 'infra') | ipv4 | first }}"
diff --git a/group_vars/cachan/ntp.yml b/group_vars/cachan/ntp.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3a295b38ee645bd5e5c1956ba1e8a40e1d617b9b
--- /dev/null
+++ b/group_vars/cachan/ntp.yml
@@ -0,0 +1,3 @@
+glob_ntp_client:
+  servers:
+    - ntp.cachan-adm.crans.org
diff --git a/group_vars/cachan/prometheus_nginx_exporter.yaml b/group_vars/cachan/prometheus_nginx_exporter.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f5cead32422d905cb3fd48a2fc27cd2371c0a8e3
--- /dev/null
+++ b/group_vars/cachan/prometheus_nginx_exporter.yaml
@@ -0,0 +1,3 @@
+---
+loc_prometheus_nginx_exporter:
+  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
diff --git a/group_vars/cachan/prometheus_node_exporter.yaml b/group_vars/cachan/prometheus_node_exporter.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..988720db4b1fb64977e3d776bb1aac13ce0af803
--- /dev/null
+++ b/group_vars/cachan/prometheus_node_exporter.yaml
@@ -0,0 +1,3 @@
+---
+glob_prometheus_node_exporter:
+  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
diff --git a/group_vars/cachan/rsyslog_client.yml b/group_vars/cachan/rsyslog_client.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6879c318aad39031f142c3160d05cb3b910d9a36
--- /dev/null
+++ b/group_vars/cachan/rsyslog_client.yml
@@ -0,0 +1,3 @@
+---
+glob_rsyslog_client:
+  server: "{{ query('ldap', 'ip', 'gulp', 'adm') | ipv4 | first }}"
diff --git a/group_vars/server/ntp.yml b/group_vars/server/ntp.yml
index 5b27f698287c94ebaeacaf0c2026cfb1d4c625d3..5edaa35332b7f70fa3ed0d62c3b602fd2db51caf 100644
--- a/group_vars/server/ntp.yml
+++ b/group_vars/server/ntp.yml
@@ -1,3 +1,3 @@
 glob_ntp_client:
   servers:
-    - charybde.adm.crans.org
+    - ntp.adm.crans.org
diff --git a/group_vars/virtu.yml b/group_vars/virtu.yml
deleted file mode 100644
index abde6dc6fe3c1083ff1eaca134c45da973f41e9e..0000000000000000000000000000000000000000
--- a/group_vars/virtu.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-proxmox_mirror: http://mirror.adm.crans.org/proxmox/debian/pve
diff --git a/host_vars/airbus.cachan-adm.crans.org.yml b/host_vars/airbus.cachan-adm.crans.org.yml
index 45ed67e3c37c585ddd1fd51aa52f0fe6e12066aa..4dc1ad624be05633b116aa004791732e176c34a1 100644
--- a/host_vars/airbus.cachan-adm.crans.org.yml
+++ b/host_vars/airbus.cachan-adm.crans.org.yml
@@ -1,26 +1,3 @@
 ---
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-glob_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
+interfaces:
+  cachan_adm: ens18
diff --git a/host_vars/charybde.cachan-adm.crans.org.yml b/host_vars/charybde.cachan-adm.crans.org.yml
index 366f8a16d4231d6e30e1d7f901aa0906e34dbf19..eab890371902a4d83535f2ef25220cb11cda99f1 100644
--- a/host_vars/charybde.cachan-adm.crans.org.yml
+++ b/host_vars/charybde.cachan-adm.crans.org.yml
@@ -1,32 +1,8 @@
 ---
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-loc_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-glob_prometheus_nginx_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
+interfaces:
+  cachan_adm: eth0.10
+  cachan_srv: eth1.2
+  infra: eth0.111
 
 loc_vsftpd:
   root: /pool/mirror/pub
diff --git a/host_vars/fyre.cachan-adm.crans.org.yml b/host_vars/fyre.cachan-adm.crans.org.yml
index 5ef1dfa3c3100fdbd3ccba57edb7ecd63be736ab..97ead58ddd201b10bf9c39a2cfad7e4636bbc712 100644
--- a/host_vars/fyre.cachan-adm.crans.org.yml
+++ b/host_vars/fyre.cachan-adm.crans.org.yml
@@ -2,19 +2,11 @@
 interfaces:
   adm: ens18
 
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
 loc_ldap:
   servers:
     - 172.17.10.9
   base: 'dc=crans,dc=org'
 
-loc_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
 debian_mirror: http://mirror.cachan-adm.crans.org/debian
 
 loc_borg:
diff --git a/host_vars/omnomnom.cachan-adm.crans.org.yml b/host_vars/omnomnom.cachan-adm.crans.org.yml
index 5c8c18ca38836449ffbe973c885f098d026c7dc2..329042ac86ea6256f721cf28c128d6225be07b80 100644
--- a/host_vars/omnomnom.cachan-adm.crans.org.yml
+++ b/host_vars/omnomnom.cachan-adm.crans.org.yml
@@ -1,29 +1,3 @@
 ---
 interfaces:
-  adm: eno1.10
-
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-loc_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
+  cachan_adm: eno1.10
diff --git a/host_vars/re2o-ldap.cachan-adm.crans.org.yml b/host_vars/re2o-ldap.cachan-adm.crans.org.yml
index 45ed67e3c37c585ddd1fd51aa52f0fe6e12066aa..4dc1ad624be05633b116aa004791732e176c34a1 100644
--- a/host_vars/re2o-ldap.cachan-adm.crans.org.yml
+++ b/host_vars/re2o-ldap.cachan-adm.crans.org.yml
@@ -1,26 +1,3 @@
 ---
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-glob_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
+interfaces:
+  cachan_adm: ens18
diff --git a/host_vars/re2o.cachan-adm.crans.org.yml b/host_vars/re2o.cachan-adm.crans.org.yml
index 5b798430f9cad40849745b63d5aee6c4ad6cab7a..eedea2f31b4378e297e6935fada4baaed1ef2787 100644
--- a/host_vars/re2o.cachan-adm.crans.org.yml
+++ b/host_vars/re2o.cachan-adm.crans.org.yml
@@ -1,29 +1,7 @@
 ---
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-glob_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
+interfaces:
+  cachan_adm: ens18
+  cachan_srv_nat: ens19
 
 loc_re2o:
   owner: root
diff --git a/host_vars/rodauh.cachan-adm.crans.org.yml b/host_vars/rodauh.cachan-adm.crans.org.yml
index 489f49b7c4b05e23d0451998ac796d9e14f4b559..9d8fb425209c30d8e5b567e18fa80c8100efd0d3 100644
--- a/host_vars/rodauh.cachan-adm.crans.org.yml
+++ b/host_vars/rodauh.cachan-adm.crans.org.yml
@@ -1,22 +1,7 @@
 ---
 interfaces:
-  cachan-adm: ens18
-  srv: ens19
-
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-glob_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
+  cachan_adm: ens18
+  cachan_srv: ens19
 
 loc_certbot:
   - dns_rfc2136_server: '185.230.79.9'
@@ -44,17 +29,3 @@ loc_reverseproxy:
     - {from: re2o.crans.org, to: 172.17.10.203}
 
   redirect_sites: []
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-glob_prometheus_nginx_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
diff --git a/host_vars/routeur-gulp.cachan-adm.crans.org/cachan.yml b/host_vars/routeur-gulp.cachan-adm.crans.org/cachan.yml
deleted file mode 100644
index ceac53ca1a36d3b0c89fbd6ab799191dd1bcee13..0000000000000000000000000000000000000000
--- a/host_vars/routeur-gulp.cachan-adm.crans.org/cachan.yml
+++ /dev/null
@@ -1,26 +0,0 @@
----
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-loc_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
diff --git a/host_vars/terenez.cachan-adm.crans.org.yml b/host_vars/terenez.cachan-adm.crans.org.yml
index c01f9e652718c958542cea87ab409359ab4ccad4..e95fa59b444487bac1b485b31235d0ca6a6b2139 100644
--- a/host_vars/terenez.cachan-adm.crans.org.yml
+++ b/host_vars/terenez.cachan-adm.crans.org.yml
@@ -1,29 +1,19 @@
 ---
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
+interfaces:
+  cachan_adm: ens18
+  cachan_srv: ens19
+  infra: ens20
 
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-glob_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-glob_prometheus_nginx_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
+loc_network_interfaces:
+  vlan:
+    - name: cachan_srv
+      id: 2
+      gateway: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv') | ipv4 | first }}"
+      dns: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv') | ipv4 | first }}"
+      gateway_v6: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-srv') | ipv6 | first }}"
+    - name: cachan_adm
+      id: 10
+      dns: "{{ query('ldap', 'ip', 'routeur-gulp', 'cachan-adm') | ipv4 | first }}"
+    - name: infra
+      id: 11
+      dns: "{{ query('ldap', 'ip', 'routeur-gulp', 'infra') | ipv4 | first }}"
diff --git a/host_vars/unifi.cachan-adm.crans.org.yml b/host_vars/unifi.cachan-adm.crans.org.yml
index f70a17e698384c6f2bab1ebccd88b94786b16bb0..f033a76ab7c65c9b14dc9edd6124c7e6d444ab7d 100644
--- a/host_vars/unifi.cachan-adm.crans.org.yml
+++ b/host_vars/unifi.cachan-adm.crans.org.yml
@@ -3,29 +3,3 @@ interfaces:
   cachan_adm: ens18
   cachan_srv_nat: ens19
   infra: ens20
-
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-glob_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-loc_borg:
-  remote:
-    - borg@zephir.cachan-adm.crans.org:/backup/borg/{{ ansible_hostname }}
-  ssh_options: ""
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
diff --git a/host_vars/zephir.cachan-adm.crans.org.yml b/host_vars/zephir.cachan-adm.crans.org.yml
index 8696c084016a85837c719b530fae32128d389092..1b99d652fe0e2a158e67a26e7a1a6940b935674a 100644
--- a/host_vars/zephir.cachan-adm.crans.org.yml
+++ b/host_vars/zephir.cachan-adm.crans.org.yml
@@ -1,32 +1,3 @@
 ---
 interfaces:
-  adm: eno1
-
-loc_home_nounou:
-  ip: 172.17.10.9
-  mountpoint: /rpool/home
-
-loc_ldap:
-  servers:
-    - 172.17.10.9
-  base: 'dc=crans,dc=org'
-
-loc_ntp_client:
-  servers:
-    - terenez.cachan-adm.crans.org
-
-debian_mirror: http://mirror.cachan-adm.crans.org/debian
-
-loc_borg:
-  remote:
-    - /backup/borg/zephir
-  ssh_options: ""
-  to_exclude:
-    - /var/lib/backuppc
-    - /var/lib/lxcfs
-
-glob_prometheus_node_exporter:
-  listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
-
-loc_rsyslog_client:
-  server: "{{ query('ldap', 'ip', 'gulp', 'cachan-adm') | ipv4 | first }}"
+  cachan_adm: eno1
diff --git a/hosts b/hosts
index 2a2c6a5f1531cdfb00904594764728317d869690..602be1f41e10d288b9a9fe103ee99f6c86ce074d 100644
--- a/hosts
+++ b/hosts
@@ -197,11 +197,16 @@ gitlab
 [roundcube]
 roundcube.adm.crans.org
 
+[routeurs_cachan]
+routeur-gulp.cachan-adm.crans.org
+
 [routeurs_vm]
 routeur-daniel.adm.crans.org
 routeur-jack.adm.crans.org
 routeur-sam.adm.crans.org
-routeur-gulp.cachan-adm.crans.org
+
+[routeurs_vm:children]
+routeurs_cachan
 
 [rsyncd]
 charybde.cachan-adm.crans.org
@@ -228,10 +233,15 @@ zamok.adm.crans.org
 
 [virtu]
 daniel.adm.crans.org
-gulp.cachan-adm.crans.org
 jack.adm.crans.org
 sam.adm.crans.org
 
+[virtu:children]
+virtu_cachan
+
+[virtu_cachan]
+gulp.cachan-adm.crans.org
+
 [vsftpd]
 charybde.cachan-adm.crans.org
 eclat.adm.crans.org
@@ -241,24 +251,44 @@ ptf.adm.crans.org
 kiwi.adm.crans.org
 sputnik.adm.crans.org
 
+[cachan:children]
+cachan_physical
+cachan_vm
+
+[cachan_physical]
+charybde.cachan-adm.crans.org
+# omnomnom.cachan-adm.crans.org
+zephir.cachan-adm.crans.org
+
+[cachan_physical:children]
+virtu_cachan
+
+[cachan_vm]
+airbus.cachan-adm.crans.org
+fyre.cachan-adm.crans.org
+re2o.cachan-adm.crans.org
+re2o-ldap.cachan-adm.crans.org
+rodauh.cachan-adm.crans.org
+terenez.cachan-adm.crans.org
+# unifi.cachan-adm.crans.org
+
+[cachan_vm:children]
+routeurs_cachan
+
 [crans_routeurs:children]
 routeurs_vm
 
 [crans_physical]
-charybde.cachan-adm.crans.org
 #cochon.adm.crans.org
-gulp.cachan-adm.crans.org
-omnomnom.cachan-adm.crans.org
 zamok.adm.crans.org
-zephir.cachan-adm.crans.org
 
 [crans_physical:children]
 backups
 baie
+cachan_physical
 virtu
 
 [crans_vm]
-airbus.cachan-adm.crans.org
 belenios.adm.crans.org
 boeing.adm.crans.org
 c3po.adm.crans.org
@@ -268,7 +298,6 @@ constellation-dev.adm.crans.org
 eclat.adm.crans.org
 ethercalc.adm.crans.org
 fluxx.adm.crans.org
-fyre.cachan-adm.crans.org
 gitlab-ci.adm.crans.org
 gitzly.adm.crans.org
 hodaur.adm.crans.org
@@ -285,22 +314,18 @@ owl.adm.crans.org
 owncloud.adm.crans.org
 ptf.adm.crans.org
 # re2o.adm.crans.org
-re2o.cachan-adm.crans.org
 # re2o-ldap.adm.crans.org
-re2o-ldap.cachan-adm.crans.org
 redisdead.adm.crans.org
-rodauh.cachan-adm.crans.org
 roundcube.adm.crans.org
 silice.adm.crans.org
-terenez.cachan-adm.crans.org
 tracker.adm.crans.org
-# unifi.cachan-adm.crans.org
 vol447.adm.crans.org
 voyager.adm.crans.org
 yson-partou.adm.crans.org
 zamok-tmtc.adm.crans.org
 
 [crans_vm:children]
+cachan_vm
 routeurs_vm
 
 [ovh_physical]
diff --git a/roles/network-interfaces/templates/network/interfaces.d/ifalias.j2 b/roles/network-interfaces/templates/network/interfaces.d/ifalias.j2
index 057131a5c525b2ee7e650a1fb8a655316cb68675..a28afab7995d86ce964ad7258f6d661c21bbb5a5 100644
--- a/roles/network-interfaces/templates/network/interfaces.d/ifalias.j2
+++ b/roles/network-interfaces/templates/network/interfaces.d/ifalias.j2
@@ -34,6 +34,11 @@ iface {{ interfaces[item.name] }} inet static
 {% endfor %}
 {% endif %}
 {% endif %}
+{% if item.extra is defined %}
+{% for line in item.extra %}
+	{{ line }}
+{% endfor %}
+{% endif %}
 {% endif %}
 
 {% if (ips | ipv6 | length) > 0 %}
@@ -52,4 +57,9 @@ iface {{ interfaces[item.name] }} inet6 static
 {% endfor %}
 {% endif %}
 {% endif %}
+{% if item.extra_v6 is defined %}
+{% for line in item.extra_v6 %}
+	{{ line }}
+{% endfor %}
+{% endif %}
 {% endif %}