Console mode, BASH scripts, SH

 Charge moyenne sur 1mn : 0.79 Charge moyenne sur 5mn : 0.93 Charge moyenne sur 15mn : 0.78


How to use the console, to make scripts BASH, SHells ?

Make scripts BASH, SHells ! Use user files like .bashrc and .profile.





Site user blocks : Account info / user rights / summary

Identify yourself

Authenticate with your ZW3B account and take advantage of member services.

Username :
Password :
  
  

VPN IPSec + XL2TP : IPv(4/6) Remount du client et des routes

  • VPN IPSec + XL2TP : IPv(4/6) Remount du client et des routes
Script client VPN : On vérifie que la connexion IPSEC + XL2TP est ESTABLISHED ou on la relance.

Informations :

Dates
  • Publish : : Thursday 11 january 2018
  • Modification : Thursday 11 january 2018

  • 296 views

Share :

Je souhaite relancer mon VPN (IPSEC + XL2TP) si la connexion cliente se coupe. Puis je vérifie que l'adresse IPv6 et que les routes sont actives.

Le script vpn-remount.sh :

Script avec 132 lignes

001#!/bin/bash
002
003#####---------------------------- INFORMATIONS --------------------------------#####
004#
005#       Name : vpn-remount.sh
006#       Desc : Script qui remount les address IPv(4/6) et ajoute des routes IPv(4/6)
007#       Auteur : O.Romain JAILLET-RAMEY alias Kss*
008#       Mail : orj AT lab3w DOT fr
009#       Date : 2018-01-11
010#
011#####---------------------------- INFORMATIONS --------------------------------#####
012
013#--------------------------------------------------------------------------------
014# Declaration
015
016DEV="ppp0"
017
018SEARCH_DEV="`cat /proc/net/dev | grep $DEV`"
019
020LOC_IPv4="172.16.5.253"
021LOC_IPv6="2001:bc8:25bb:ff00:1ab3:3a:c10d:253"
022
023CMD_ADD_ADDR_IPv6="/sbin/ip -6 address add 2001:bc8:25bb:ff00:1ab3:3a:c10d:253/112 dev ppp0"
024
025CMD_ADD_ROUTE_IPv4="/sbin/route add -net 10.59.199.0 netmask 255.255.255.0 dev ppp0"
026CMD_ADD_ROUTE_IPv6="/sbin/ip -6 route add default dev ppp0"
027
028#SEARCH_IPSEC_OK="/usr/sbin/ipsec status | grep -i 'INSTALLED, TRANSPORT' -B1 -A1"
029
030SEARCH_ADDR_IPv6_OK="/sbin/ip -6 a show dev $DEV"
031SEARCH_ROUTE_IPv6_OK="/sbin/ip -6 route show | grep default"
032
033SEARCH_ROUTE_IPv4_OK="/sbin/ip -4 route show dev ppp0 | grep 10.59.199.0"
034
035# Declaration
036#--------------------------------------------------------------------------------
037
038#--------------------------------------------------------------------------------
039# Fonctions
040
041ipsec_l2tp()
042{
043                /etc/init.d/ipsec 
044                /etc/init.d/xl2tpd 
045}
046
047vpn_check_config()
048{
049        IPv4="`/sbin/ip -4 address show dev $DEV | grep inet | awk '{print }'`"
050        IPv6="`/sbin/ip -6 address show dev $DEV | grep inet | awk '{print }'`"
051
052        echo "+-----------------------------------"
053        echo "|"
054        echo "+ VPN"
055        echo "|"
056        echo "+--+ Iface $DEV exist !"
057        echo "|  |"
058        echo "|  +--+ IPv4 -> $IPv4"
059
060        # IPv4 : Route
061        echo "|  |  |"
062        if [ "`/sbin/ip -4 route show dev $DEV | grep 10.59.199.0`" ]; then
063                echo -n "|  |  +-- Route"
064                echo " -> `/sbin/ip -4 route show dev $DEV | grep 10.59.199.0`"
065        else
066                echo -n "|  |  +-- Route ADD"
067                ${CMD_ADD_ROUTE_IPv4}
068                echo " -> `/sbin/ip -4 route show dev $DEV | grep 10.59.199.0`"
069        fi
070
071        echo "|  |"
072        # IPv6 : Address
073        if [ "`${SEARCH_ADDR_IPv6_OK}`" ]; then
074                echo "|  +--+ IPv6 -> $IPv6"
075        else
076                echo -n "|  +-- On ajoute l'address IPv6"
077                ${CMD_ADD_ADDR_IPv6}
078                echo " -> `/sbin/ip -6 address show dev $DEV | grep inet | awk '{print }'`"
079        fi
080
081        # IPv6 : Route
082        echo "|     |"
083        if [ "`/sbin/ip -6 route show | grep "default dev $DEV"`" ]; then
084                echo -n "|     +-- Route"
085                echo " -> `/sbin/ip -6 route show | grep "default dev ${DEV}"`"
086        else
087                echo -n "|     +-- Route ADD"
088                ${CMD_ADD_ROUTE_IPv6}
089                echo " -> `/sbin/ip -6 route show | grep "default dev ${DEV}"`"
090        fi
091
092        echo "|"
093        echo "+-----------------------------------"
094
095}
096
097# Fonctions
098#--------------------------------------------------------------------------------
099
100#--------------------------------------------------------------------------------
101# Script
102
103echo ""
104
105if [ "${SEARCH_DEV}" ]; then
106
107        vpn_check_config
108
109else
110        echo "+-----------------------------------"
111        echo "+ VPN"
112        echo "|"
113        echo "+--+ Iface $DEV nexist pas !"
114        echo "   |"
115        echo "   +-- On remonte le VPN...."
116        echo "   |"
117
118        ipsec_l2tp restart && sleep 2
119
120        /usr/sbin/ipsec up zw3b.fr && sleep 2
121
122        echo "c zw3b" >> /var/run/xl2tpd/l2tp-control && sleep 20
123
124        vpn_check_config
125
126        echo "|"
127        echo "+-----------------------------------"
128fi
129
130
131# Script
132#--------------------------------------------------------------------------------

Vous remarquerez que la route par default IPv6 passe par le VPN pour ressortir depuis une des adresse IPv6 de mon serveur LAB3W (ONLINE). Cela est un fait exprès vu que je n'ai pas d'IPv6 chez mon Fournisseur d'Accès InterNet (Orange (contrat non pro)).

Pour tester on lance le script de cette façon : sh vpn-remount.sh ou on le met en tâche planifiée toutes les N minutes.

Par exemple :

Script avec 1 ligne

001*/3 * * * *     sh /root/vpn-remount.sh 1>>/var/log/syslog 2>/dev/null 2>&1

La sortie du script va dans syslog et les erreurs ne sont pas affichées ;)

Sortie du script :

Script avec 15 lignes

001+-----------------------------------
002|
003+ VPN
004|
005+--+ Iface ppp0 exist !
006|  |
007|  +--+ IPv4 -> 172.16.5.199/32
008|  |  |
009|  |  +-- Route -> 10.59.199.0/24 scope link
010|  |
011|  +--+ IPv6 -> 2001:bc8:25bb:ff00:1ab3:3a:c10d:253/112
012|     |
013|     +-- Route -> default dev ppp0 metric 1024  pref medium
014|
015+-----------------------------------

Bon Virtual Private Network ;)

Cordialement,
Romain


<< VPN IPSec + XL2TP : Routage des sous réseaux clients

Comment-faire un réseau IPv6 ? >>





Translate this page with Google

Author of the page

O.Romain.Jaillet-ramey

O.Romain.Jaillet-ramey

  • Firstname : Olivier Romain Luc
  • Lastname : : Jaillet-ramey
  • Arrived on tuesday 19 october 1976 (1976/10/19 00:00)
    44 years activity !

Firefox Nighlty

Our friends from Framasoft are interested in Mozilla and asked them questions about Nightly: Firefox Night-club, free entry !






Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready