Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
linuxaddict:administrer:reseau:novpnfor [13/12/2017, 21:59] – Claude Clerc | linuxaddict:administrer:reseau:novpnfor [10/08/2022, 01:53] (Version actuelle) – Claude Clerc | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Ne pas passer par le VPN pour certains domaines ====== | ====== Ne pas passer par le VPN pour certains domaines ====== | ||
- | Certains | + | Certains |
- | Ou bien, si votre VPN ralentit votre connexion, vous préférez ne pas passer par celui-ci pour télécharger des fichiers (mises à jour de paquets, | + | Ou bien, si votre VPN ralentit votre connexion, vous préférez ne pas passer par celui-ci pour télécharger des fichiers (mises à jour de paquets, par exemple). |
Voici comment faire : | Voici comment faire : | ||
+ | |||
+ | Installer les paquets iproute2 et traceroute : | ||
+ | apt install iproute2 traceroute | ||
Créez le fichier ''/ | Créez le fichier ''/ | ||
Ligne 26: | Ligne 29: | ||
extras.ubuntu.com | extras.ubuntu.com | ||
archive.canonical.com | archive.canonical.com | ||
+ | www.netflix.com | ||
</ | </ | ||
+ | |||
+ | Ensuite, créez le fichier ''/ | ||
+ | <sxh bash># | ||
+ | |||
+ | NOVPNFOR=/ | ||
+ | IP_ROUTEUR=192.168.0.254 | ||
+ | |||
+ | export NOVPNFOR | ||
+ | export IP_ROUTEUR | ||
+ | |||
+ | if [ ! -f $NOVPNFOR ]; then | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | if [ " | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | RT_TABLE9=$(echo -n $(cat / | ||
+ | |||
+ | if [ " | ||
+ | echo " | ||
+ | fi | ||
+ | |||
+ | if [ ! -f / | ||
+ | # echo -n $(stat -c %Y $NOVPNFOR) > / | ||
+ | touch / | ||
+ | fi | ||
+ | |||
+ | TSTAMP_OLD=" | ||
+ | TSTAMP_NEW=$(echo -n $(stat -c %Y $NOVPNFOR)) | ||
+ | FIRST_LINE=$(echo -n $(ip route show table specialvpn | tail -1)) | ||
+ | echo " | ||
+ | echo " | ||
+ | if [ " | ||
+ | for site in $(cat $NOVPNFOR | tr " | ||
+ | #route add -host $site gw 192.168.0.254 | ||
+ | for anip in $(host -c IN $site | awk ' | ||
+ | if [ " | ||
+ | echo $anip | ||
+ | ip route add $anip via $IP_ROUTEUR table specialvpn | ||
+ | fi | ||
+ | }; done | ||
+ | }; done | ||
+ | echo -n $(stat -c %Y $NOVPNFOR) > / | ||
+ | }; fi | ||
+ | |||
+ | SPECIALVPN_PRESENT=$(echo -n $(ip rule list | grep specialvpn)) | ||
+ | if [ " | ||
+ | ip rule add table specialvpn | ||
+ | fi | ||
+ | #service apparmor restart & | ||
+ | exit 0 | ||
+ | |||
+ | </ | ||
+ | |||
+ | Rendez ce fichier exécutable : | ||
+ | sudo chmod +x / | ||
+ | |||
+ | Enfin, créez le fichier ''/ | ||
+ | <sxh bash># | ||
+ | |||
+ | NOVPNFOR=/ | ||
+ | export NOVPNFOR | ||
+ | if [ ! -f $NOVPNFOR ]; then | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | if [ " | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | RT_TABLE9=$(echo -n $(cat / | ||
+ | |||
+ | if [ " | ||
+ | echo " | ||
+ | fi | ||
+ | |||
+ | SPEC_VPN=$(echo -n $(ip rule list | grep specialvpn)) | ||
+ | |||
+ | if [ " | ||
+ | ip rule del table specialvpn | ||
+ | fi | ||
+ | |||
+ | if [ ! -f / | ||
+ | touch / | ||
+ | fi | ||
+ | |||
+ | TSTAMP_OLD=" | ||
+ | TSTAMP_NEW=$(echo -n $(stat -c %Y $NOVPNFOR)) | ||
+ | |||
+ | if [ " | ||
+ | ip route flush table specialvpn | ||
+ | fi | ||
+ | |||
+ | exit 0 | ||
+ | |||
+ | </ | ||
+ | |||
+ | Rendez ce fichier exécutable : | ||
+ | sudo chmod +x / | ||
+ | |||
+ | Vous pouvez tester ces scripts avec les commandes : | ||
+ | <sxh bash> | ||
+ | # On suppose que vous êtes connecté au VPN. | ||
+ | sudo traceroute -m 1 DOMAINE_NON_LISTÉ | ||
+ | sudo traceroute -m 1 DOMAINE_LISTÉ | ||
+ | # Les deux commandes ci-dessus retournent l'IP du routeur de votre fournisseur de VPN. | ||
+ | sudo IFACE=tun0 / | ||
+ | sudo traceroute -m 1 DOMAINE_NON_LISTÉ | ||
+ | # La commande ci-dessus retourne l'IP du routeur de votre fournisseur de VPN. | ||
+ | sudo traceroute -m 1 DOMAINE_LISTÉ | ||
+ | # La commande ci-dessus retourne l'IP de votre routeur. (Pas de VPN pour ce domaine.) | ||
+ | sudo IFACE=tun0 / | ||
+ | sudo traceroute -m 1 DOMAINE_NON_LISTÉ | ||
+ | sudo traceroute -m 1 DOMAINE_LISTÉ | ||
+ | # Les deux commandes ci-dessus retournent l'IP du routeur de votre fournisseur de VPN | ||
+ | # si vous êtes connecté au VPN, de votre routeur sinon. | ||
+ | </ | ||
+ | où DOMAINE_NON_LISTÉ est un domaine qui ne fait pas partie de la liste contenue dans / | ||
+ | |||
+ | Le script ''/ | ||
+ | |||
+ | Le script ''/ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{counter|today| personne a visité cette page aujourd' | ||
+ | ~~YOURIP_BOX~~ |