YunoHost comme serveur nomade / en réseau local


#1

Bonjour à tous

J’ai deux raspberry pi, l’un est mon serveur perso ( chez moi ) et tous va ( à peut près ) bien .
Le second est un destiné à être un serveur " nomade", coupé d’internet mais couplé à un routeur wifi . Je m’explique. Je fais de la formation et je me déplace. Les stagiaire doivent pouvoir se connecter avec leur tablette, téléphone ou laptop à mon routeur wifi et accéder via l’adresse ip que je leur donne à mon raspberry ou se trouve un wordpress ( avec mes cours, des vidéo, des fichiers… ) un wiki, bozon, etherpad …
Mais, l’adresse ip est constamment transformée en mondomaine.ynh.fr
Comment empêcher cela ?

Cordialement Olivier


#2

Salut,

malheureusement tu ne peux pas vraiment ne pas avoir de nom de domaine : par exemple, le portail utilisateur (SSO) ne peut fonctionner que si on y accède par le nom de domaine, pour pleins de raisons techniques.

Par contre, tu peux avoir n’importe quel domaine, même des “faux” (yolo.test, bidule.schplof, …). Si tu veux que ce domaine fonctionne, il faut bricoler le fichier /etc/hosts pour faire pointer ce domaine sur la bonne ip. c.f. le dernier paragraphe ici : https://yunohost.org/#/dns_local_network


#3

Bonjour
Je ne peux vraiment pas m’amuser à aller bricoler le fichier host de chaque pc ( et même impossible pour les ios/android) . Le routeur que je compte utiliser ( un vieux netgearWGT624) ne semble pas avoir de DNS local.
Par contre, je pensais déclarer ladresse de mon ynh comme serveur DNS . et avoir un serveur DNS sur le ynh avec 192.168.1.62 mondomain.ynh.fr dans sa config. ( bon, ca c’est “ma” théorie, de la à ce que j’arrive à la mettre en pratique…

Olivier


#4

Eventuellement, il est possible que choisir un domaine en .local (par exemple yunohost.local ou share.local) devrait créer un nom de domaine qui est automatiquement reconnu sur le réseau local (c’est très magique, c’est le protocole Bonjour)

Par contre ça fait un moment que je ne l’ai pas testé, donc pas sur que ça marche toujours bien


#5

Caramba ! encore raté :wink: Eh non, le domaine en .local ca n’a pas fonctionné.

Est ce que mon idée de serveur bind tient la route ??? et est ce que qqu’1 pourrait m’aiguiller vers un tuto ?

cordialement Olivier


#6

Ça tiens moyennement la route je pense, car il faudra aussi configurer le serveur DNS sur chacun des clients, donc ce serait tout aussi simple de changer le /etc/hosts…

Sinon, il y aussi l’idée de se baser sur l’app piratebox même si il faudra la bidouiller un peu …


#7

Et si c’était ton RPi qui devenait un hotspot auquel tes stagiaires se connecteraient ?
Ca permettrait de zapper le ‘netgear WGT624’ et sa config DNS intégrée à laquelle on ne peut probablement pas faire grand chose.
Une petite clé wifi cheap compatible nunux, et je suppose que Yunohost pourrait le permettre ?
La config DHCP dira aux clients d’utiliser automatiquement le DNS de Yunohost, pointant sur ton RPi.

Perso j’utilise le serveur DNS Unbound (via une autre machine de mon LAN) qui permet facilement d’insérer un nom de machine locale et son IP.
J’imagine qu’en grattant un peu, il devrait être possible de répondre aux clients LAN sur une requête de nom de domaine (même non branché sur le net) via Yunohost. Unbound me sert aussi à cela, j’imagine que Bind intégré à Yunohost devrait pouvoir faire la meme chose…


#8

Dans les options que je vois, il pourrait être intéressant de connecter ta brique via un VPN d’un des fournisseurs de la FFDN (ffdn.org). Tous ces opérateurs (à ma connaissance) fournissent une IPv4 et des IPv6 publiques à tous leurs membres, y compris aux VPN. De cette manière, où que tu sois, si tu te connectes à Internet et que le tunnel monte, tu pourras être joignable à cette IP publique, et l’associer à un nom de domaine.

Je crois que le chantier «brique internet» avait une application client VPN, mais qu’elle n’était (il y a encore quelques semaines) pas compatible stretch. Il semblerait que ce soit désormais réglé (https://github.com/labriqueinternet/vpnclient_ynh/issues/41)


#9

Oui elle marche très bien sous Stretch :+1:


#10

Bonjour
@petrus
Le rpi est dejà équipé d’une carte wifi, mais j’ai cru comprendre qu’avec quelques clients elle ne tenait plus la charge. Le netgear je l’ai configuré en serveur DHCP avec comme adresse de serveur DNS l’ip du ynh, donc ca doit être équivalent non ?

Je vais virer bind et le remplacer par unbound qui a l’air plus simple à configurer. Dans quel fichier indiques tu l’adresse ip de tes machines leur nom ? (de mon coté je vais déjà creuser l’affaire )

@mokas01 : Le but est surtout de pouvoir se passer d’internet dans mon cas.

merci


#11

Une fois j’ai fais ca avec un rpi 1 sur le quel j’avais mis pirate box au quel j’avais ajouté un repos git, c’etait un atelier d’ecriture utilisant git avec comme serveur la piratebox. On etait une grosse vingtaine dessus et ca passait bien mais c’est vrai que le wifi passait par un “gros” dongle usb


#12

@Bachy oui c’est vrai que j’avais aussi aperçu le nom de Piratebox fut un temps… ca pourrait peut-etre bien répondre à son attente, qui est principalement centrée sur du LAN via WIFI :slight_smile:
Par exemple 2 cartes microSD, une avec un Yunohost + une avec Piratebox pour tester… ?

Bref, pour revenir à Unbound… Le fichier de config est à créer par exemple dans
/etc/unbound/unbound.conf.d
fichier maconfig.conf

Bien vérifier que dans le fichier /etc/unbound/unbound.conf il est inscrit :
include: "/etc/unbound/unbound.conf.d/*.conf"
pour que Unbound prenne bien en compte ton nouveau fichier de config !

Contenu de ton fichier, à adapter selon ton besoin.
(perso, j’ai pompé ca depuis pi-hole, car c’est de celui-là dont je me sers pour mes résolutions DNS @home) https://docs.pi-hole.net/guides/unbound/
Je te laisse le soin de voir pour la config perso… (penses à remplacer le port 5353 du guide par le 53 par défaut)

Cependant, comme demandé, voila ma config perso pour la résolution des machines en local, à ajouter en fin du fichier de config perso :

#resolution LAN
private-domain: "stagiaires.lan" #ton nom de groupe de travail - le DHCP devrait donner se nom de groupe de travail automatiquement, je pense que c'est plus aisé...
local-zone: "stagiaires.lan." static
local-data: "mafreebox.freebox.fr. IN A 212.27.38.253" #pour retrouver sa freebox... j'en profite si ca peut aider quelqu'un dans ce besoin...
local-data: "monserveur.stagiaires.lan. IN A 192.168.1.3"
local-data: "roberto.stagiaires.lan. IN A 192.168.1.4"
local-data: "nas.stagiaires.lan. IN A 192.168.1.5"
#resolution inverse : adresse -> nom
local-data-ptr: "212.27.38.253 mafreebox.freebox.fr"
local-data-ptr: "192.168.1.3 monserveur.stagiaires.lan"
local-data-ptr: "192.168.1.4 roberto.stagiaires.lan"
local-data-ptr: "192.168.1.5 nas.stagiaires.lan"

Être bien méticuleux dans les correspondances nom/IP :wink:

Un rechargement du service Unbound en cas de modif de config, un systemctl restart unbound devrait faire l’affaire.

Pour tester, j’ai souvenir que les machines Windows gardent un cache des noms/IP des machines LAN, et aussi web… il faudra une petit manipulation adéquat pour ces saletés. Perso j’ai créé un petit script .bat à chaque fois que ca fatigue… histoire que tu puisses tester en amont chez toi si tu es équipé de windows avant la mise en prod, ou si un stagiaire en est équipé :

 ipconfig /release
 ping 127.0.0.1 -n 2 >NULL
 ipconfig /flushdns
 ping 127.0.0.1 -n 1 >NULL
 ipconfig /renew
 ping 127.0.0.1 -n 3 >NULL
 echo.

ipconfig /release pour dire au DHCP qu’on libère l’IP attribuée
ping 127.0.0.1 -n 2 >NULL (pour glander 2 secondes…)
ipconfig /flushdns pour vider le cache de Windows des noms LAN et web
ipconfig /renew pour obtenir une IP depuis le DHCP


#13

Est-ce qu’il y a vraiment besoin de unbound ou bind ?
dnsmasq gère déjà une résolution partielle non ?
Yunohost inclue un DNS menteur qui force le champs A en 127.0.0.1 je crois, mais ça pourrait aussi être une ip locale fixe.


#14

Merci pour toutes vos réponses. Alors j’ai pas vraiment avancé, unbound refuse de se lancer. Je cherche pourquoi, mais comme il faut que mon projet avance, j’ai passé mon temps libre à installer sur une nouvelle carte sd raspbian ,nginx et tutti quanti en attendant
Sinon, @ljf peux tu m’expliquer le fichier à bricoler pour dnsmasq ? ( switcher un sd ca va vite. sur un rpi )


#15

You should consider change this file:

cat /etc/dnsmasq.d/YOURFALSEDOMAIN

And replace ip with the ip of the server on the local network


#16

Je n’ai pas essayé, mais peut être en installant pi-hole et en le rendant serveur DHCP ? A priori il n’y aurait pas de fichier à bidouiller (sauf peut être host et encore). Dire ensuite au routeur de ne pas faire DHCP.
?


#17

Bonjour,

L’utilisation de YunoHost couplé à un Raspberry Pi en serveur nomade proposée par @olitask m’intéresse particulièrement… Après plusieurs tests, je suis arrivé à ce que je cherchais : permettre aux visiteurs de se connecter à un réseau wifi et d’accéder au serveur via le nom de domaine.

Voilà comment j’ai fait :

192.168.4.1 votredomaine.tld

  • Ouvrir le port 67 :

yunohost firewall allow UDP 67 --no-upnp

Pour moi, ça marche, avez-vous des remarques ?