« Whatever apero 23-03-2012 - compte rendu » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 34 : | Ligne 34 : | ||
* '''Problème 2''' : nous n'avons pas la main sur le routeur freebox | * '''Problème 2''' : nous n'avons pas la main sur le routeur freebox | ||
=== First Try === | === First Try (spoiler : fail) === | ||
Lorsqu'on effectue une impression avec la commande '''lp''', une connexion est d'abord faite en TCP et les données sont ensuite envoyées en UDP. Pour rendre disponible l'imprimante sur internet sans modifier la freebox, on va monter un tunnel OpenVPN entre la machine connecté à l'imprimante ('''A''') et la machine tierce sur l'internet ('''B''') puis forwarder les ports 631 (TCP & UDP) de '''B''' -> '''A'''. On va utiliser SSH pour le port forwarding TCP et socat pour le port fowarding UDP. On pourrait également utiliser socat pour le TCP mais bon on fait du quick'n dirty : | |||
sur la machine tierce '''B''' : | |||
root@B# /sbin/iptables -A INPUT -i eth0 --dport 631 -p tcp -j ACCEPT | |||
root@B# ssh -L 631:localhost:631 user@A | |||
puis pour l'UDP toujours sur '''B''' : | |||
root@B# /sbin/iptables -A INPUT -i eth0 --dport 631 -p udp -j ACCEPT | |||
root@B# socat UDP4-LISTEN:631,reuseaddr,fork UDP4-SENDTO:10.0.0.2:631 | |||
on essaye d'imprimer quelque chose depuis une machine random '''R''' sur l'internet : | |||
R$ lp -h B -d elabo file.pdf | |||
lp: bad request | |||
hmmm, on regarde ce qui se passe dans le errorlog de notre serveur cups sur '''A''' : | |||
root@A$ tail -f /var/log/cups/error_log | |||
E [24/Mar/2012:13:27:04 +0100] Request from "localhost" using invalid Host: field "B" | |||
Apparemment une requête d'impression contient le nom de l'hote auquel on effectue cette requête. On ne fait que relayer la requête sans modifier les données, du coup A reçoit une requête d'impression qui était destiné à B. hmm échec on va essayer autre chose | |||
=== Second Try Success === | |||
On arrête le quick'n dirty, manifestement ça ne fonctionne pas :) on laisse le VPN entre '''A''' et '''B''' mais on va installer un serveur cups sur '''B''' qui fera proxy. En principe on va configurer une nouvelle imprimante sur '''B''' qui sera une imprimante ipp, dans l'interface web d'administration on ajoute une imprimante à l'adresse suivante : | |||
ipp://10.0.0.2/printers/elabo | |||
on spécifie le modèle (ici une Epson Stylux DX5050 mais il faut utiliser les drivers de Epson Stylus DX4850), le serveur cups se relance automatiquement et... | |||
R$ lp -h B -d elabo file.pdf | |||
l’identifiant de la requête est elabo-31 (1 fichier(s)) | |||
ça fonctionne !! on tweet l'accès à l'imprimante et.. voici le résultat : | |||
merci à tous :) | |||
Version du 24 mars 2012 à 19:39
Compte rendu du Whatever_apero_23/24_mars_2012
Atelier Quadropter |
---|
Atelier Réparation MacBook |
---|
Atelier ChaosPrinter |
---|
état des lieux
Une imprimante (P) est connecté à une machine A (ip : 192.168.0.23) en USB. un serveur CUPS est installé sur cette machine et possède une configuration pour l'imprimante P. Via l'interface web d'administration, nous avons partagé l'imprimante afin que n'importe qu'elle machine du réseau local puisse imprimer une page avec la commande suivante :
lp -h 192.168.0.23 -d elabo file.pdf
- Objectif : Mettre l'imprimante à disposition des nazis de l'Internet :)
- Problème : l'imprimante est connecté à un ordinateur Naté derrière une freebox
- Problème 2 : nous n'avons pas la main sur le routeur freebox
First Try (spoiler : fail)
Lorsqu'on effectue une impression avec la commande lp, une connexion est d'abord faite en TCP et les données sont ensuite envoyées en UDP. Pour rendre disponible l'imprimante sur internet sans modifier la freebox, on va monter un tunnel OpenVPN entre la machine connecté à l'imprimante (A) et la machine tierce sur l'internet (B) puis forwarder les ports 631 (TCP & UDP) de B -> A. On va utiliser SSH pour le port forwarding TCP et socat pour le port fowarding UDP. On pourrait également utiliser socat pour le TCP mais bon on fait du quick'n dirty :
sur la machine tierce B :
root@B# /sbin/iptables -A INPUT -i eth0 --dport 631 -p tcp -j ACCEPT root@B# ssh -L 631:localhost:631 user@A
puis pour l'UDP toujours sur B :
root@B# /sbin/iptables -A INPUT -i eth0 --dport 631 -p udp -j ACCEPT root@B# socat UDP4-LISTEN:631,reuseaddr,fork UDP4-SENDTO:10.0.0.2:631
on essaye d'imprimer quelque chose depuis une machine random R sur l'internet :
R$ lp -h B -d elabo file.pdf lp: bad request
hmmm, on regarde ce qui se passe dans le errorlog de notre serveur cups sur A :
root@A$ tail -f /var/log/cups/error_log E [24/Mar/2012:13:27:04 +0100] Request from "localhost" using invalid Host: field "B"
Apparemment une requête d'impression contient le nom de l'hote auquel on effectue cette requête. On ne fait que relayer la requête sans modifier les données, du coup A reçoit une requête d'impression qui était destiné à B. hmm échec on va essayer autre chose
Second Try Success
On arrête le quick'n dirty, manifestement ça ne fonctionne pas :) on laisse le VPN entre A et B mais on va installer un serveur cups sur B qui fera proxy. En principe on va configurer une nouvelle imprimante sur B qui sera une imprimante ipp, dans l'interface web d'administration on ajoute une imprimante à l'adresse suivante :
ipp://10.0.0.2/printers/elabo
on spécifie le modèle (ici une Epson Stylux DX5050 mais il faut utiliser les drivers de Epson Stylus DX4850), le serveur cups se relance automatiquement et...
R$ lp -h B -d elabo file.pdf l’identifiant de la requête est elabo-31 (1 fichier(s))
ça fonctionne !! on tweet l'accès à l'imprimante et.. voici le résultat :
merci à tous :)
Atelier Streaming Vidéo |
---|
Contexte et objectif
- Objectif : streamer vers l'Internet un flux vidéo depuis le réseau local ;
- Contexte : un flux vidéo reçu depuis un Quadcopter par une machine connectée à Internet, en Syrie, doit être émis vers Internet pour être ensuite vu partout dans le monde ;
- Hypothèses
- débit montant fortement limité (simulation d'un réseau de mauvaise qualité, comme ce qu'on peut trouver en Syrie), à 300kbits/s ;
- flux vidéo lisible par pilote Video 4 Linux 2 sur la machine connectée à Internet.
Soudure TV B-Gone |
---|
Atelier Préparation de Switch |
---|
Atelier Bidouille Fonera |
---|