diff --git a/Bundler/openvpn.xml b/Bundler/openvpn.xml
new file mode 100644
index 0000000..00a3a5a
--- /dev/null
+++ b/Bundler/openvpn.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Cfg/etc/openvpn/main.down/info.xml b/Cfg/etc/openvpn/main.down/info.xml
new file mode 100644
index 0000000..a0b21f3
--- /dev/null
+++ b/Cfg/etc/openvpn/main.down/info.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Cfg/etc/openvpn/main.down/main.down b/Cfg/etc/openvpn/main.down/main.down
new file mode 100755
index 0000000..9ae603c
--- /dev/null
+++ b/Cfg/etc/openvpn/main.down/main.down
@@ -0,0 +1,11 @@
+#!/bin/bash
+#
+# Fichier gere par BCfg2 avec le plugin Cfg
+#
+# Configuration des routes lorsque la connexion principale tombe
+
+# La connexion principale est inactive => on passe par la connexion de
+# secours. Si la connexion de secours est down ne marche pas ça
+# changera rien mais de toutes facons on peut pas faire mieux...
+route del -net 10.231.136.0 netmask 255.255.255.0 &> /dev/null
+route add -net 10.231.136.0 netmask 255.255.255.0 dev tun-rescue
diff --git a/Cfg/etc/openvpn/main.up/info.xml b/Cfg/etc/openvpn/main.up/info.xml
new file mode 100644
index 0000000..a0b21f3
--- /dev/null
+++ b/Cfg/etc/openvpn/main.up/info.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Cfg/etc/openvpn/main.up/main.up b/Cfg/etc/openvpn/main.up/main.up
new file mode 100755
index 0000000..7284544
--- /dev/null
+++ b/Cfg/etc/openvpn/main.up/main.up
@@ -0,0 +1,10 @@
+#!/bin/bash
+#
+# Fichier gere par BCfg2 avec le plugin Cfg
+#
+# Configuration des routes lorsque la connexion principale est
+# disponible
+
+# La connexion principale est active => on l'utilise
+route del -net 10.231.136.0 netmask 255.255.255.0 &> /dev/null
+route add -net 10.231.136.0 netmask 255.255.255.0 dev $dev
diff --git a/Cfg/etc/openvpn/rescue.down/info.xml b/Cfg/etc/openvpn/rescue.down/info.xml
new file mode 100644
index 0000000..a0b21f3
--- /dev/null
+++ b/Cfg/etc/openvpn/rescue.down/info.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Cfg/etc/openvpn/rescue.down/rescue.down b/Cfg/etc/openvpn/rescue.down/rescue.down
new file mode 100755
index 0000000..da76677
--- /dev/null
+++ b/Cfg/etc/openvpn/rescue.down/rescue.down
@@ -0,0 +1,10 @@
+#!/bin/bash
+#
+# Fichier gere par BCfg2 avec le plugin Cfg
+#
+# Configuration des routes lorsque la connexion de secours tombe
+
+# Si c'était la route actuelle, alors tant pis...
+if [ "$(route -n|awk '$1 == "$ifconfig_remote" {print $8}')" = "$dev" ]; then
+ route del -net 10.231.136.0 netmask 255.255.255.0 &> /dev/null
+fi
diff --git a/Cfg/etc/openvpn/rescue.up/info.xml b/Cfg/etc/openvpn/rescue.up/info.xml
new file mode 100644
index 0000000..a0b21f3
--- /dev/null
+++ b/Cfg/etc/openvpn/rescue.up/info.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Cfg/etc/openvpn/rescue.up/rescue.up b/Cfg/etc/openvpn/rescue.up/rescue.up
new file mode 100755
index 0000000..cf2f67e
--- /dev/null
+++ b/Cfg/etc/openvpn/rescue.up/rescue.up
@@ -0,0 +1,11 @@
+#!/bin/bash
+#
+# Fichier gere par BCfg2 avec le plugin Cfg
+#
+# Configuration des routes lorsque la connexion de secours est
+# disponible
+
+# Si on a déjà une route vers le vlan adm alors on ne fait rien
+if [ -z "$(route -n|awk '$1 == "$ifconfig_remote" {print $8}')" ]; then
+ route add -net 10.231.136.0 netmask 255.255.255.0 dev $dev
+fi
diff --git a/Metadata/groups.xml b/Metadata/groups.xml
index efc8ca1..e11abd6 100644
--- a/Metadata/groups.xml
+++ b/Metadata/groups.xml
@@ -9,8 +9,8 @@
profile="true">
-
+
-
+
+
-
+
@@ -290,7 +291,7 @@
category="dns">
-
+
@@ -330,6 +331,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
@@ -447,6 +454,13 @@
+
+
+
+
+
+
+
+
+
+
@@ -648,11 +666,11 @@
category="dns-backend">
-
+
-
+
@@ -708,14 +726,6 @@
-
-
-
-
-
-
-
-
@@ -744,6 +754,11 @@
+
+
+
+
diff --git a/Python/etc/default/openvpn b/Python/etc/default/openvpn
new file mode 100644
index 0000000..5660fe2
--- /dev/null
+++ b/Python/etc/default/openvpn
@@ -0,0 +1,8 @@
+# -*- coding: utf-8; mode: python -*-
+
+header("Configuration des tunnels a lancer par defauts")
+
+if has("external"):
+ @AUTOSTART = "main rescue"
+else:
+ @AUTOSTART = "external"
diff --git a/Python/etc/openvpn/external.conf b/Python/etc/openvpn/external.conf
new file mode 100644
index 0000000..59ff37b
--- /dev/null
+++ b/Python/etc/openvpn/external.conf
@@ -0,0 +1,30 @@
+# -*- coding: utf-8; mode: python -*-
+
+include("ip")
+
+header("Configuration du tunnel vers les serveurs a 'exterieur")
+
+print """
+daemon tun-ovh
+dev tun-ovh
+
+tls-server
+ca /etc/ssl/certs/root.pem
+cert /etc/ssl/certs/vpn.pem
+tls-verify "/usr/share/openvpn/verify-cn ovh.vpn.crans.org"
+key /etc/ssl/private/vpn.pem
+
+log-append /var/log/openvpn/external.log
+
+port 1194
+
+ifconfig %s %s
+
+ping-timer-rem
+keepalive 10 60
+persist-tun
+
+verb 3
+
+dh /etc/openvpn/dh1024.pem
+""" % (admipof("komaz"), admipof("ovh"))
diff --git a/Python/etc/openvpn/main.conf b/Python/etc/openvpn/main.conf
new file mode 100644
index 0000000..9e06692
--- /dev/null
+++ b/Python/etc/openvpn/main.conf
@@ -0,0 +1,35 @@
+# -*- coding: utf-8; mode: python -*-
+
+include("ip")
+
+header("Configuration du tunnel vers la connexion principale")
+
+print """
+daemon tun-main
+dev tun-main
+
+tls-server
+ca /etc/ssl/certs/root.pem
+cert /etc/ssl/certs/vpn.pem
+tls-verify "/usr/share/openvpn/verify-cn komaz.vpn.crans.org"
+key /etc/ssl/private/vpn.pem
+
+log-append /var/log/openvpn/main.log
+
+port 1194
+
+ifconfig %s %s
+
+ping-timer-rem
+keepalive 10 60
+persist-tun
+
+verb 3
+
+dh /etc/openvpn/dh1024.pem
+up /etc/openvpn/up
+down /etc/openvpn/down
+up-restart
+
+remote %s
+""" % (admipof("ovh"), admipof("komaz"), pubipof("komaz"))
diff --git a/Python/etc/openvpn/rescue.conf b/Python/etc/openvpn/rescue.conf
new file mode 100644
index 0000000..4773c22
--- /dev/null
+++ b/Python/etc/openvpn/rescue.conf
@@ -0,0 +1,35 @@
+# -*- coding: utf-8; mode: python -*-
+
+include("ip")
+
+header("Configuration du tunnel vers la connexion principale")
+
+print """
+daemon tun-rescue
+dev tun-rescue
+
+tls-server
+ca /etc/ssl/certs/root.pem
+cert /etc/ssl/certs/vpn.pem
+tls-verify "/usr/share/openvpn/verify-cn freebox.vpn.crans.org"
+key /etc/ssl/private/vpn.pem
+
+log-append /var/log/openvpn/rescue.log
+
+port 1194
+
+ifconfig %s %s
+
+ping-timer-rem
+keepalive 10 60
+persist-tun
+
+verb 3
+
+dh /etc/openvpn/dh1024.pem
+up /etc/openvpn/up
+down /etc/openvpn/down
+up-restart
+
+remote %s
+""" % (admipof("ovh"), admipof("komaz"), pubipof("freebox"))
diff --git a/Rules/rules.xml b/Rules/rules.xml
index 6d23991..a8ad211 100644
--- a/Rules/rules.xml
+++ b/Rules/rules.xml
@@ -44,6 +44,8 @@
+
+