diff --git a/interfaces.yml b/interfaces.yml
index 5c35aa32..431b69bc 100755
--- a/interfaces.yml
+++ b/interfaces.yml
@@ -27,16 +27,28 @@
 
 - hosts: boeing.adm.crans.org,cochon.adm.crans.org,tracker.adm.crans.org,voyager.adm.crans.org,lutim.adm.crans.org,gateau.adm.crans.org,owncloud-srv.adm.crans.org,charybde.adm.crans.org,cas-srv.adm.crans.org,fyre.adm.crans.org,silice.adm.crans.org
   vars:
-    - srv_gateway: 185.230.79.254
-    - srv_dns: 185.230.79.152 185.230.79.4
-    - ens_gateway: 138.231.136.254
-    - ens_dns: 138.231.136.152 138.231.136.4
-    - adm_dns: 10.231.136.152 10.231.136.4
-    - borne_dns: 10.231.148.52 10.231.148.4
-    - switch_dns: 10.231.100.152 10.231.100.4
-    - fil_gateway: 10.54.0.254
-    - fil_dns: 10.54.0.152 10.54.0.4
-    - adh_gateway: 185.230.78.254
-    - adh_dns: 185.230.78.152 185.230.78.4
+    vlan:
+      srv:
+        metric: 100
+        gateway: 185.230.79.254
+        dns: 185.230.79.152 185.230.79.4
+      ens:
+        metric: 300
+        gateway: 138.231.136.254
+        dns: 138.231.136.152 138.231.136.4
+      adm:
+        dns: 10.231.136.152 10.231.136.4
+      borne:
+        dns: 10.231.148.52 10.231.148.4
+      switch:
+        dns: 10.231.100.152 10.231.100.4
+      fil:
+        metric: 400
+        gateway: 10.54.0.254
+        dns: 10.54.0.152 10.54.0.4
+      adh:
+        metric: 200
+        gateway: 185.230.78.254
+        dns: 185.230.78.152 185.230.78.4
   roles:
     - interfaces
diff --git a/roles/interfaces/templates/network/interfaces.d/00-srv.j2 b/roles/interfaces/templates/network/interfaces.d/00-srv.j2
index 2bf4b97b..8ac4b8a5 100644
--- a/roles/interfaces/templates/network/interfaces.d/00-srv.j2
+++ b/roles/interfaces/templates/network/interfaces.d/00-srv.j2
@@ -7,9 +7,10 @@ iface {{ srv_iface.stdout }} inet static
 	network {{ srv.ipv4.network }}
 	netmask {{ srv.ipv4.netmask }}
 	broadcast {{ srv.ipv4.broadcast }}
-	gateway {{ srv_gateway }}
+	gateway {{ vlan.srv.gateway }}
+	metric {{ vlan.srv.metric }}
 	mtu 1496
-	dns-nameservers {{ srv_dns }}
+	dns-nameservers {{ vlan.srv.dns }}
 	dns-search crans.org
 	up /sbin/ip link set $IFACE alias srv
 {% if ansible_local.interfaces.sup_if_4 is defined %}
diff --git a/roles/interfaces/templates/network/interfaces.d/01-ens.j2 b/roles/interfaces/templates/network/interfaces.d/01-ens.j2
index e1f101e2..6c308f23 100644
--- a/roles/interfaces/templates/network/interfaces.d/01-ens.j2
+++ b/roles/interfaces/templates/network/interfaces.d/01-ens.j2
@@ -7,9 +7,10 @@ iface {{ ens_iface.stdout }} inet static
 	network {{ ens.ipv4.network }}
 	netmask {{ ens.ipv4.netmask }}
 	broadcast {{ ens.ipv4.broadcast }}
-	gateway {{ ens_gateway }}
+	gateway {{ vlan.ens.gateway }}
+	metric {{ vlan.ens.metric }}
 	mtu 1496
-	dns-nameservers {{ ens_dns }}
+	dns-nameservers {{ vlan.ens.dns }}
 	dns-search crans.org
 	up /sbin/ip link set $IFACE alias ens
 {% if ansible_local.interfaces.sup_if_4 is defined %}
diff --git a/roles/interfaces/templates/network/interfaces.d/02-adm.j2 b/roles/interfaces/templates/network/interfaces.d/02-adm.j2
index a78a660a..62fb1f1e 100644
--- a/roles/interfaces/templates/network/interfaces.d/02-adm.j2
+++ b/roles/interfaces/templates/network/interfaces.d/02-adm.j2
@@ -8,7 +8,7 @@ iface {{ adm_iface.stdout }} inet static
 	netmask {{ adm.ipv4.netmask }}
 	broadcast {{ adm.ipv4.broadcast }}
 	mtu 1496
-	dns-nameservers {{ adm_dns }}
+	dns-nameservers {{ vlan.adm.dns }}
 	dns-search adm.crans.org
 	up /sbin/ip link set $IFACE alias adm
 {% if ansible_local.interfaces.sup_if_4 is defined %}
diff --git a/roles/interfaces/templates/network/interfaces.d/03-borne.j2 b/roles/interfaces/templates/network/interfaces.d/03-borne.j2
index f9996740..7db48f6a 100644
--- a/roles/interfaces/templates/network/interfaces.d/03-borne.j2
+++ b/roles/interfaces/templates/network/interfaces.d/03-borne.j2
@@ -8,7 +8,7 @@ iface {{ borne_iface.stdout }} inet static
 	netmask {{ borne.ipv4.netmask }}
 	broadcast {{ borne.ipv4.broadcast }}
 	mtu 1496
-	dns-nameservers {{ borne_dns }}
+	dns-nameservers {{ vlan.borne.dns }}
 	dns-search borne.crans.org
 	up /sbin/ip link set $IFACE alias borne
 {% if ansible_local.interfaces.sup_if_4 is defined %}
diff --git a/roles/interfaces/templates/network/interfaces.d/04-switch.j2 b/roles/interfaces/templates/network/interfaces.d/04-switch.j2
index 57e6630f..586adef9 100644
--- a/roles/interfaces/templates/network/interfaces.d/04-switch.j2
+++ b/roles/interfaces/templates/network/interfaces.d/04-switch.j2
@@ -8,7 +8,7 @@ iface {{ switch_iface.stdout }} inet static
 	netmask {{ switch.ipv4.netmask }}
 	broadcast {{ switch.ipv4.broadcast }}
 	mtu 1496
-	dns-nameservers {{ switch_dns }}
+	dns-nameservers {{ vlan.switch.dns }}
 	dns-search switch.crans.org
 	up /sbin/ip link set $IFACE alias switch
 {% if ansible_local.interfaces.sup_if_4 is defined %}
diff --git a/roles/interfaces/templates/network/interfaces.d/21-fil.j2 b/roles/interfaces/templates/network/interfaces.d/21-fil.j2
index 198f2ca0..c5bb9508 100644
--- a/roles/interfaces/templates/network/interfaces.d/21-fil.j2
+++ b/roles/interfaces/templates/network/interfaces.d/21-fil.j2
@@ -7,9 +7,10 @@ iface {{ fil_iface.stdout }} inet static
 	network {{ fil.ipv4.network }}
 	netmask {{ fil.ipv4.netmask }}
 	broadcast {{ fil.ipv4.broadcast }}
-	gateway {{ fil_gateway }}
+	gateway {{ vlan.fil.gateway }}
+	metric {{ vlan.fil.metric }}
 	mtu 1496
-	dns-nameservers {{ fil_dns }}
+	dns-nameservers {{ vlan.fil.dns }}
 	dns-search fil.crans.org
 	up /sbin/ip link set $IFACE alias fil
 {% if ansible_local.interfaces.sup_if_4 is defined %}
diff --git a/roles/interfaces/templates/network/interfaces.d/23-adh.j2 b/roles/interfaces/templates/network/interfaces.d/23-adh.j2
index 45241e6b..de2b21b7 100644
--- a/roles/interfaces/templates/network/interfaces.d/23-adh.j2
+++ b/roles/interfaces/templates/network/interfaces.d/23-adh.j2
@@ -7,9 +7,10 @@ iface {{ adh_iface.stdout }} inet static
 	network {{ adh.ipv4.network }}
 	netmask {{ adh.ipv4.netmask }}
 	broadcast {{ adh.ipv4.broadcast }}
-	gateway {{ adh_gateway }}
+	gateway {{ vlan.adh.gateway }}
+	metric {{ vlan.adh.metric }}
 	mtu 1496
-	dns-nameservers {{ adh_dns }}
+	dns-nameservers {{ vlan.adh.dns }}
 	dns-search crans.org
 	up /sbin/ip link set $IFACE alias adh
 {% if ansible_local.interfaces.sup_if_4 is defined %}