Console mode, BASH scripts, SH

 Charge moyenne sur 1mn : 3.16 Charge moyenne sur 5mn : 1.30 Charge moyenne sur 15mn : 0.86


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 : Routage des sous réseaux clients

  • VPN IPSec + XL2TP : Routage des sous réseaux clients
Routage des sous réseaux clients pour le serveur VPN : IPSec + XL2TP.

Informations :

Dates
  • Publish : : Thursday 18 september 2014
  • Modification : Friday 24 april 2020

Share :

J'écris un script pour ajouter des (ou les) routes possibles vers les réseaux clients VPN au serveur.

Script qui ajoute des routes vers les sous-reseaux des tunnels

Ici c'est un peu différent, on fait plusieurs choses :

  1. On cherche une adresse IP particulière ici la 172.16.5.253 pour connaître l'interface réseau (ex: ppp0, ppp1),
  2. et on assigne les routes du client (du réseau chez le client) au serveur (pour qu'ils puissent communiquer).
  3. Ensuite on ajoute une tache planifiée (crontab) sur ce script (vpn-add-routes-clients.sh) toutes les minutes par exemple.

Script avec 106 lignes

001#!/bin/sh
002
003#####---------------------------- INFORMATIONS --------------------------------#####
004#
005#       Name : vpn-add-routes-clients.sh
006#       Desc : Script qui ajoute des routes vers les sous-reseaux des tunnels
007#       Auteur : O.Romain Jaillet-ramey alias Kss*
008#       Mail : orj AT lab3w DOT fr
009#       Date-created : 2018-01-11
010#       Date-modified : 2020-04-24
011#
012#####---------------------------- INFORMATIONS --------------------------------#####
013
014#####---------------------------- CONFIG VPN LOC ------------------------------#####
015
016HOSTNAME=`/bin/hostname`
017NOW=$(date +"%b %d %H:%M:%S")
018
019LOCAL_IPv4="172.16.5.199"
020LOCAL_IPv6="2001:0bc8:25bb:ff5e:5000:0000:0000:0199/128"
021
022SITE_A_LOCAL_IPv6="2001:0bc8:25bb:ff5e:8000:003a:0:0199/92"
023
024#####---------------------------- CONFIG VPN SITE_N ------------------------------#####
025
026#------------------------
027SITE_A=true
028SITE_A_NAME="NOM DE CHEZ TOI"
029SITE_A_IP="172.16.5.253"
030#------------------------
031declare -a SITE_A_NETWORKS
032SITE_A_NET_V4=('10.1.100.0' '10.100.10.0')
033declare -a SITE_A_BROADCAST
034SITE_A_CAST_V4=('24' '24')
035#------------------------
036declare -a SITE_A_NET_V6
037SITE_A_NET_V6=('2001:0bc8:25bb:ff70::' '2001:bc8:25bb:ff71:0001:00A0::' '2001:bc8:25bb:ff74:0001:00AC:FF00::')
038declare -a SITE_A_CAST_V6
039SITE_A_CAST_V6=('64' '96' '104')
040#------------------------
041
042SITE_A_SEARCH_IP=`/sbin/ifconfig |/bin/grep "${SITE_A_IP}"|/usr/bin/cut -d":" -f2|/usr/bin/cut -d" " -f1`
043SITE_A_SEARCH_IF=`/sbin/ifconfig |/bin/grep -B 1 "${SITE_A_IP}" |/usr/bin/cut -d" " -f1 |/bin/sed '/^$/d'`
044
045#####---------------------------- CONFIG VPN SITE_A ------------------------------#####
046
047#####---------------------------- SCRIPT VPN SITE_A ------------------------------#####
048
049if [ "${SITE_A}" = true ];
050then
051if [ "${LOCAL_IPv4}" = "${SITE_A_SEARCH_IP}" ];
052then
053        echo "$NOW $HOSTNAME VPN $SITE_A_NAME: Iface $SITE_A_SEARCH_IF + IPv4 ${LOCAL_IPv4} <> $SITE_A_IP OK";
054
055        #-----------------------------------------------------------------
056        for i in "${!SITE_A_NET_V4[@]}"
057        do
058                SITE_A_SEARCH_ROUTE=`/sbin/ip -4 route show|/bin/grep "${SITE_A_SEARCH_IF}"|/usr/bin/cut -d" " -f1|/bin/grep "${SITE_A_NET_V4[$i]}"`
059                if [ "${SITE_A_SEARCH_ROUTE}" != "${SITE_A_NET_V4[$i]}/${SITE_A_CAST_V4[$i]}" ]
060                then
061#                       echo -n IPV4 $i
062#                       echo " "${SITE_A_NET_V4[$i]}/${SITE_A_CAST_V4[$i]}
063
064                        /bin/echo "$NOW $HOSTNAME VPN $SITE_A_NAME: Iface $SITE_A_SEARCH_IF |+ Ajout de la route ${SITE_A_NET_V4[$i]}/${SITE_A_CAST_V4[$i]}";
065                        /sbin/ip -4 route add "${SITE_A_NET_V4[$i]}/${SITE_A_CAST_V4[$i]}" dev "${SITE_A_SEARCH_IF}"
066                else
067                        /bin/echo "$NOW $HOSTNAME VPN $SITE_A_NAME: Iface $SITE_A_SEARCH_IF |+ Route ${SITE_A_NET_V4[$i]}/${SITE_A_CAST_V4[$i]} OK";
068                fi
069        done
070        #-----------------------------------------------------------------
071
072        #-----------------------------------------------------------------
073        SITE_A_SEARCH_IPv6=`/sbin/ifconfig |/bin/grep "${SITE_A_LOCAL_IPv6}"`
074        if [ "${SITE_A_SEARCH_IPv6}" ]
075        then
076                echo "$NOW $HOSTNAME VPN $SITE_A_NAME: Iface $SITE_A_SEARCH_IF + IPv6 $SITE_A_LOCAL_IPv6 OK";
077        else
078                /bin/echo "$NOW $HOSTNAME VPN $SITE_A_NAME: Ajout de laddress IPv6 $SITE_A_LOCAL_IPv6 sur $SITE_A_SEARCH_IF";
079                CMD=`/sbin/ip -6 address add "${SITE_A_LOCAL_IPv6}" dev $SITE_A_SEARCH_IF`
080        fi
081
082        for i in "${!SITE_A_NET_V6[@]}"
083        do
084                SITE_A_SEARCH_ROUTE=`/sbin/ip -6 route show|/bin/grep "${SITE_A_SEARCH_IF}"|/usr/bin/cut -d" " -f1|/bin/grep "${SITE_A_NET_V6[$i]}"`
085                if [ "${SITE_A_SEARCH_ROUTE}" != "${SITE_A_NET_V6[$i]}/${SITE_A_CAST_V6[$i]}" ]
086                then
087#                       echo -n IPV6 $i
088#                       echo " "${SITE_A_NET_V6[$i]}/${SITE_A_CAST_V6[$i]}
089
090                        /bin/echo "$NOW $HOSTNAME VPN $SITE_A_NAME: Iface $SITE_A_SEARCH_IF |+ Ajout de la route ${SITE_A_NET_V6[$i]}/${SITE_A_CAST_V6[$i]}";
091                        /sbin/ip -6 route add "${SITE_A_NET_V6[$i]}/${SITE_A_CAST_V6[$i]}" dev "${SITE_A_SEARCH_IF}"
092                else
093                        /bin/echo "$NOW $HOSTNAME VPN $SITE_A_NAME: Iface $SITE_A_SEARCH_IF |+ Route ${SITE_A_NET_V6[$i]}/${SITE_A_CAST_V6[$i]} OK";
094                fi
095        done
096        #-----------------------------------------------------------------
097
098
099else
100#        exit 2;
101        echo "SITE : $SITE_A_NAME DOWN";
102fi
103
104
105fi
106#####---------------------------- SCRIPT VPN SITE_A ------------------------------#####

Puis on met le script en crontab -e.

Script avec 1 ligne

001*/1 * * * * /bin/sh /root/vpn-add-routes-clients.sh 1>>/var/log/syslog 2>/dev/null 2>&1

<< Configurer un VPN client : IPSec + XL2TP

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



Liens ZW3B.VPN :

  1. Virtual Private Network (VPN)
  2. GNU/Linux > Sécurité > Howto VPN serveur : IPSec + XL2TP
  3. GNU/Linux > Sécurité > Howto VPN client : IPSec + XL2TP
  4. Windows > Sécurité > Configurer un VPN client : IPSec + XL2TP
  5. GNU/Linux > Shells > VPN IPSec + XL2TP : Routage des sous réseaux clients
  6. GNU/Linux > Shells > VPN IPSec + XL2TP : IPv(4/6) Remount du client et des routes
  7. Anonymat sur InterNet

Liens : ZW3B.IPv6 : Internet Protocol V6

Liens qui peuvent aussi vous intéresser :




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