Aller au contenu

Un script dans la barre de menu pour modifier le fichier hosts ?


Invité LolYangccool

Messages recommandés

Bonjour,

J'utilise mon NAS comme serveur CalDAV pour mes calendriers et mes rappels et je vais essayer de faire de même pour mes notes.

Du coup, je dois à chaque fois que je rentre ou sort de chez moi, modifier le fichier /etc/hosts via le terminal pour commenter ou dé-commenter la ligne de mon NAS afin d'utiliser mon DynDNS en local, les livebox ne possédant pas de loopback, mais je vous en ai déjà parlé...

 

Faute de pouvoir retrouver le loopback qui m'était si utile, je cherche à faire les modifications dans le fichier hosts de manière automatique suivant que je sois chez moi ou à l'extérieur.

Si ce n'est pas possible automatiquement, au moins avoir un script dans ma barre de menu qui, en un clic, me commenterait ou pas la ligne du fichier hosts.

 

Concrètement, quand je suis chez moi, le fichier devra être comme ça :

Fichier%20hosts%20local.png

Et à l'extérieur comme ça :

Fichier%20hosts%20exte%CC%81rieur.png

Il y a juste un dièse qui permet de commenter la ligne concernant mon syno, mais ce dièse est très important car sans lui, la synchro à l'extérieur ne fonctionnera pas et avec lui, la synchro en local ne fonctionnera pas...

 

Je risque en fait d'avoir des soucis de synchronisation de mes calendriers si c'est pas automatique et si je ne pense pas à modifier mon fichier hosts.

 

Par avance, je vous remercie si vous avez une solution à m'apporter.

 

Bonne journée. :)

 

PS : Ah, oui, si vous avez une solution pour Windows, même si on est sur un forum Mac, si vous pouviez me l'indiquer en même temps...

Ça m'évitera de re-poster la même question sur un forum Windows...

 

Merci beaucoup. :)

Lien vers le commentaire
Partager sur d’autres sites

Un script pour se mettre en mode "intérieur" :

 

#!/bin/sh

grep -v lolyangccool.synology.me /etc/hosts > /tmp/hosts
echo "192.168.1.13 lolyangccool.synology.me" >> /tmp/hosts
chmod 644 /tmp/hosts
chown root /tmp/hosts
sudo mv /tmp/hosts /etc/hosts
 

Le même pour se mette en mode "extérieur" :

 

#!/bin/sh

grep -v lolyangccool.synology.me /etc/hosts > /tmp/hosts
chmod 644 /tmp/hosts
chown root /tmp/hosts
sudo mv /tmp/hosts /etc/hosts
Avec toutes les réserves d'usage (pas testé, etc...)
Lien vers le commentaire
Partager sur d’autres sites

Merci pehache. :)

Comment exécute-t'on le script ? Quel format de fichier pour le rendre exécutable ?

En gros, comment dois-je l'utiliser ?

 

Edit : Bon, tant que je n'ai pas de loopback je ne vais pas utiliser mon NAS pour héberger ces services.

Simplement parce que modifier le fichier hosts sur l'iPhone + le Mac + éventuellement l'iPad à chaque fois...

Déjà sur l'iPhone et l'iPad c'est pas possible, ils ne sont pas jailbreaké. Puis c'est trop contraignant.

 

Plus tard je ferais bien attention au choix du FAI quand j'emménagerais, le loopback sera un critère important. ;)

Lien vers le commentaire
Partager sur d’autres sites

Qu'est-ce que tu t'emmerdes avec le fichier host ?

un bon petit serveur DNS sur le NAS, info donnée éventuellement par le DHCP. Et dans ton serveur DNS, tu renseignes ton adresse locale pour ton synology.

 

Quand tu es chez toi, le DHCP donne ton nas comme DNS. donc ton nas est interrogé pour savoir qui est synology.me. il répond alors que c'est lui meme. Banco.

Quand tu es ailleurs, le DHCP donne le serveur DNS qu'il donne habituellement, qui connait synology.me avec des adresses publique. Terminé. T'as plus jamais à te poser la question.

Si par malheur tu ne peux modifier l'info DNS que ton serveur DHCP divulgue, alors tu crées deux profils de connexion : un pour la maison, et un pour le reste. Ce profil aura pour simple modification le serveur DNS local. Ca, c'est ce que j'ai chez moi : un profil maison avec mon serveur DNS à moi, et un profile "ailleurs" vierge de toute spécificité. Et le switch se fait dans le menu pomme.

Lien vers le commentaire
Partager sur d’autres sites

Ouais, tu m'as déjà expliqué, mais j'ai jamais réussis à mettre le serveur DNS en place.

L'avantage c'est que l'iPhone et tout le reste de mes équipements seraient aussi concerné, j'imagine ?

 

Faut que je réessaye de faire ça, je vais essayer ce soir, tiens. :)

 

Edit : Bon, j'ai créé un enregistrement CNAME comme expliqué par le tutoriel du site de Synology, mais ça ne fonctionne pas.

Il ne faut pas dire à chaque machine d'aller interroger le serveur DNS du NAS pour avoir les adresses ?

Comment les machines savent-elles qu'il y a un serveur DNS sur le réseau ?

 

Edit 2 : On ne peut pas modifier les serveurs DNS sur la Livebox. :(

Que faut-il faire pour que les machines interrogent le serveur DNS du NAS ?

Lien vers le commentaire
Partager sur d’autres sites

Merci pehache. :)

Comment exécute-t'on le script ? Quel format de fichier pour le rendre exécutable ?

En gros, comment dois-je l'utiliser ?

Un script doit être mis dans un fichier texte tout bête (avec nano par exemple, puisque je vois que tu l'utilises). Pour le rendre exécutable, il faut passer par le terminal et taper "chmod +x toto" (si tu as appelé le script "toto"). Pour l'exécuter, tu peux faire soit un double clic dessus, soit passer par le terminal en tapant le nom du script (le mieux dans ce cas est de mettre le script dans le dossier /usr/local/bin , car il fait partie des dossiers où l'OS va chercher les exécutables quand on tape leur nom depuis n'importe où).

 

Edit 2 : On ne peut pas modifier les serveurs DNS sur la Livebox. :(

Que faut-il faire pour que les machines interrogent le serveur DNS du NAS ?

D'après ce que dit Mout, je pense qu'il faut désactiver totalement le serveur DHCP de la box, et activer lee serveurs DHCP et DNS du Syno. Mais euh, bon, la config de l'ensemble du réseau me parait peu claire dans ce cas : qui joue le rôle de routeur, alors ? Toujours la box, ou le Syno ?

Lien vers le commentaire
Partager sur d’autres sites

Le routeur, c'est la livebox, ca change pas.

Le serveur DHCP, c'est ce qu'on veut. Dans l'absolu, on le configure avec les info à divulguer. Dans la pratique, les livebox et consoeurs ne permettent pas forcément de le faire, en particulier pour le DNS. Soit.

Dans ce cas là, tu fais un profil de connexion. Dans un profil, "maison" par exemple, tu spécifies un DNS manuel, soit ton NAS. Dans un deuxième profil. "ailleurs", tu ne mets rien.

Préférences systèmes, réseau.

Et tu gères tes configurations de réseau par là :

En 1, tu crées ou modifies les profils. 

En 2, pour le profil maison, tu spécifies le DNS qui va bien.

configurationreseau.png

 

Pour les appareils mobiles, en tout cas apple, j'ai l'impression que la spécification manuelle du DNS ne s'applique que pour le réseau Wifi en cours. Chez moi, j'ai mon propre serveur DNS, mais chez les copains, c'est le DNS fourni localement.

 

Pour switcher, c'est ici :

configurationreseau2.png

Lien vers le commentaire
Partager sur d’autres sites

Merci Mout.  :)

J'ai créé une autre configuration avec dans DNS l'adresse IP de mon NAS, mais quand je tape le DynDNS de mon NAS dans le navigateur, je tombe sur une page d'erreur « Safari ne parvient pas à trouver le serveur ».

 

Ça doit être au niveau de la configuration du NAS que ça coince...

 

Au niveau des enregistrements, j'ai ça :

Enregistrements%20serveur%20DNS%20Synolo

Lien vers le commentaire
Partager sur d’autres sites

Ya deux erreurs.

un enregistrement A fait correspondre un nom à une IP. Ca, ok.

un enregistrement CNAME fait correspondre un nom à un autre nom.

 

Par exemple, dans le domaine truc.fr

mail A 123.34.45.56

imap CNAME mail

Ce qui donne : imap.truc.fr est exactement la même chose que mail.truc.fr, et tout ca pointe vers l'ip 123.34.45.56

 

Enfin, l'enregistrement NS n'a, à mon avis, rien à faire ici. L'enregistrement NS, c'est pour dire à tout le monde que le domaine truc.fr est géré par ce serveur.

 

Donc si je ne m'abuse, il te faut l'entrée suivante pour toi :

lolyangccool.synology.me. A 192.68.1.13

Lien vers le commentaire
Partager sur d’autres sites

Merci Mout, mais ça ne fonctionne toujours pas...

Il faut attendre combien de temps avant que ça ne soit pris en compte les modifications sur le serveur DNS ? C'est instantané ?

Lien vers le commentaire
Partager sur d’autres sites

Je pense que oui puisque quand je tape l'adresse avant j'étais redirigé vers la livebox, maintenant j'ai la page d'erreur de Safari.

 

Edit : Est-ce qu'on peut créer des profils avec des DNS différents sur iOS également ?

Edit 2 : Pour iOS j'ai rien dis puisque les DNS se règles dans les réglages de chaque réseau et sont liés au réseau...

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Alors. J'ai fait un truc sensiblement pareil de mon coté pour voir pourquoi ca ne fonctionne pas.

 

Pour que ca marche, j'ai mis deux choses.

- Une zone pouet.com

- un enregistrement A dans cette zone, www A 192.168.0.100

La zone sert à dire à ton ordi que c'est le nas qui gère le domaine pouet.com, et l'enregistrement sert à pouvoir lui répondre qui est www dans le domaine pouet.com.

Avec ca, quand je tape www.pouet.com je tombe sur le site de mon mac mini, et pas sur la page alakon du vrai site.

 

 

De ton coté, il te faut

- une zone synology.me

- un enregistrement lolyangccool dans cette zone : lolyangccool A 192.168.1.13.

Ainsi, les clients de ton nas sauront que le domaine synology.me est géré par ton nas, et l'adresse lolyangccool.synology.me est redirigée vers 192.168.1.13.

 

Redis moi.

Lien vers le commentaire
Partager sur d’autres sites

Merci Mout, mais une question me vient en tête. Si j'essaye d'accéder à d'autres adresses en synology.me, la requête sera redirigé vers le NAS ?

Ça risque d'être gênant. ^_^

 

J'essaye, pour voir.

 

Edit : Ça ne fonctionne pas.  :cry:

Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...