Nov 17

Mandater ses connexions TCP, tu t’es lavé les mains avant d’entrer ?

Ce billet est un petit exercice de style 🙂

Dans le cadre d’une architecture « standard », vous disposez d’un routeur qui vous donne accès au Nain Ternet, un firewall dédié et vos serveurs.

Les serveurs dédiés à offrir des services aux utilisateurs externes sont normallement en DMZ.

Ca c’est le cas idéal, mais il peut arriver (souvent même), que quelques applications soient hébergées sur des serveurs du LAN et là on joue avec de la NAT dans tout les sens.

Vous avez donc ouvert le port sur votre firewall puis fait une redirection sur la machine dans le LAN.

Ca marche mais bof quoi 😉

Dans ce genre de concept (très fréquent), on laisse donc la transaction TCP (le fameux 3-way handshake) s’établir entre le client et le serveur dans le LAN.

Moyen hein ?

Après tout, vous obligez bien vos utilisateurs à passer par un proxy Squid pour aller sur le Web, pourquoi ne pas faire pareil avec vos connexions entrantes TCP ?…

Voila ce que nous allons mettre en place :

Schéma

Schéma

Et qui a la plus de compétences pour gérer le 3-way handshake a la place des autres ? Qui a la plus grosse quand on parle de couche réseau ?

Réponse : OpenBSD forcement

Nous allons partir du principe que vous désirez offrir un accès SMTP sur la machine LAN-MAIL depuis le Nain Ternet.

L’adressage utilisée sera le suivant (et comme toujours un dessin valant mieux qu’un grand discours) :

Schéma

Schéma

Coté Firewall, redirection toute simple, tout ce qui entre sur le port 25 SMTP depuis le Net sur l’interface externe est redirigé sur 10.154.1.1 port 25 (ou autre hein, c’est vous qui voyez).

La, c’est du truc habituel, rien de bien sorcier.

Coté OpenBSD, on va se monter un petit socket :

vi /etc/inetd.conf
 
127.0.0.1:5025 stream tcp nowait nobody /usr/bin/nc nc 192.168.0.50 25

On reload le process inetd

Puffy:~# ps aux | grep inetd
root     24243  0.0  0.3   524   780 ??  Is    26Sep08    0:18.06 inetd
root     30919  0.0  0.3   472   764 p0  S+    11:23AM    0:00.02 grep inetd
Puffy:~# kill -HUP 24243

Explication, on utilise netcat pour établir une connexion tcp vers LAN-MAIL sur le port 25 quand une requète TCP arrive sur son port 5025 en localhost.

Maintenant on s’attaque à la couche la plus poilue, Packet Filter :

(wan_if étant l’interface sis0 dans le schéma)

pf.conf
 
rdr pass on $wan_if inet proto tcp from any to $wan_if port 25 --> 127.0.0.1 port 5025
pass in quick inet proto tcp from any to 127.0.0.1 port 5025

Et c’est tout.

Bien évidemment vous avez déjà un beau PF configuré avec toutes les options qui vont bien, antispoof, scrub in all et tout, et tout…

J’ai volontairement simplifié l’architecture et les règles, alors ne me criez pas dessus 😀

Et ca fait quoi donc maintenant ce joli truc ?

Cela fait que désormais, c’est l’OpenBSD qui va traiter la connexion entrante, l’accepter, ouvrir une nouvelle connexion vers LAN-MAIL et véhiculer les paquets vers lui.

Toute la phase d’échange TCP sera traitée par le BSD et c’est avec lui que le client discutera directement.

Bref, l’OpenBSD joue le rôle de Proxy TCP 🙂

Voila pour ce petit exercice que je vous laisse peaufiner et qui peut vous dépatouiller d’architectures un peu compliqués ou surtout, de connexions TCP moisies entre le Firewall et le Serveur final.

P.S. : Attention avec le protocole FTP, ce n’est aussi simple que cela y parait. Je vous conseille fortement d’utiliser le programme ftp-proxy d’openBSD (surtout si vous voulez redirigez vos requêtes FTP externes vers le FTP de votre Freebox HD par exemple 😉 )

Classé dans architecture, OpenBSD, réseau | Taggé , , | Commentaires fermés sur Mandater ses connexions TCP, tu t’es lavé les mains avant d’entrer ?
Nov 11

Installation et configuration des boitiers Open-Mesh

Suite à la réception de 2 access-points Accton MR3201 A que vous pouvez commander ICI ,

Voici mon retour d’expérience sur leur installation.

Tout d’abord noté dans un coin l’adresse MAC et l’adresse IP inscrites sous les AP. (Au pire, elles sont sur l’étiquette de l’emballage 🙂 )

Côté branchement, rien de plus simple, pour le boîtier 1, un câble réseau relié à votre modem/routeur ADSL ou comme moi, connecté sur un port du switch, et l’alimentation.

Pour le boîtier 2, encore plus simple, il suffit juste de le brancher électriquement.

Boitier Principal Open-Mesh

Boitier1

Ici le boitier 1 qui fera office de passerelle pour le boitier 2 via WiFi.

Le boitier 2, bien au chaud dans le sous-sol pour la phase de test.

Une des choses essentielles et qui n’est pas franchement indiquée, c’est l’obligation d’avoir un serveur DHCP dans le LAN !!!

Cela vous parait peut-être normal à vous, mais quand comme moi on a un réseau avec des VLANS qu’on peaufine avec un adressage minutieux et bien c’est pas flagrant comme reflexe 😉

Donc mise en place vite fait d’un serveur dhcp (apt-get install dhcp3-server)

On modifie le /etc/dhcp3/dhcpd.conf (a adapter à votre réseau)

# OPEN MESH
 
host openmesh1 {
 
hardware ethernet 00:12:CF:AA:AA:AA;
 
fixed-address 192.168.8.250;
 
option domain-name-servers 192.168.8.10;
 
option domain-name "guiguiabloc.fr";
 
option routers 192.168.8.254;
 
}

Nous fixons l’adresse suivant l’adresse MAC du boitier1. Cela éviteras à l’avenir de fouiller le /var/lib/dhcp3/dhcpd.leases pour savoir quelle IP il a pris…

Reste qu’a brancher électriquement le boitier 1 et vérifier dans le syslog qu’il récupère bien son IP.

Le processus de démarrage prend plusieurs minutes, soyez patient 🙂

Evidemment, si votre routeur fait déjà DHCP, tout ceci ne vous concerne pas, l’Accton récupera son adresse IP et les paramètres qui vont bien auprès de lui (ip, masque, passerelle et DNS).

Normalement vous pouvez déjà faire un SSH dessus :

ssh root@192.168.8.250

Le mot de passe par défaut est : « 0p3nm35h »

Que du bonheur non ? 😀

Reste à enregistrer votre (vos) point d’accès sur l’interface d’OpenMesh.

go to : http://www.open-mesh.com/dashboard.php

Puis, Create Network.

Le type de Network, ici : R.O.B.I.N

Le network-name : bah ce que vous voulez

les emails qui vont bien

Et enfin la location grâce aux cartes « Google Maps ».

Vous êtes redirigés sur : https://www.open-mesh.com/edit.php

openmesh edit

Identifiez vous et commencer a remplir les champs.

openmesh2

Cliquez sur Add/Edit nodes, une carte de l’endroit que vous avez spécifié précédemment s’affiche et un simple clic sur la position exacte de l’endroit ou se trouve votre AP Open-Mesh ouvre une interface qu’il vous faut renseigner.

Create Nodes

Donner le nom que vous souhaitez à votre Point d’accès puis son adresse IP/MAC.

Ne reste qu’a cliquer sur ADD et c’est tout 🙂

Les autres sections sont facilement compréhensibles :

AccesPoint#1 : Votre réseau WiFi en libre accès (son nom ESSID, la page d’accueil etc…), bref je ne détaille pas, c’est très explicite, c’est la également que vous positionnez la bande passante que vous allouez au libre accès (QoS).

C’est également ici que vous pouvez rediriger vos visiteurs vers un portail captif ou une page d’information (que vous pouvez même créer en ligne !)

AccesPoint#2 : Votre réseau Wifi « Privé » donc avec clé WPA et tout.

ATTENTION : Le réseau Open-Mesh est bien pensé sécuritairement, ce qui veut dire que vous n’aurez pas accès a votre LAN depuis le point d’accès Wifi, public ou privé.

Vous pouvez l’autorisez en décochant « Gateway LAN Block » dans les paramètres avancées (pas forcément une bonne idée 🙂 )

Advanced : Le peaufinage maison comme les mises a jour automatiques, l’accès au LAN, le mot de passe ROOT pour l’accès SSH (a changer bien sur…).

Je vous laisse découvrir l’interface et enfin, grande joie, la vision globale de votre réseau Open-Mesh.

vision open mesh

vision open mesh

En temps « presque réel » (comprende quelques minutes de rafraichissement), l’état de vos « Nodes » (i.e. Point d’accès), les gens connectés dessus (que vous pouvez bloquer a la volée), la consommation etc…

C’est beau, non ? 😀

Voici donc une première découverte du réseau Open-Mesh que j’essayerais d’étoffer au fil du temps.

Si bien sur, vous souhaitez que je développe un point précis, n’hésitez pas à le demander en commentaires.

Ce billet sera également diffusé sur http://www.d0s.fr , le Centre Documentaire Open-Mesh français, initialisé par TOONUX pour lequel Guiguiabloc s’investi, forcément 😉

Classé dans matériel | Taggé , , , | 12 Commentaires
Nov 10

FONERA 2.0, Papa Noël repasse…

Alors là, je suis couvert de cadeau et de surprise….

Au courrier ce midi, un nouveau colis 🙂

L’expéditeur… FON France !!!!

Donc je remercie de tout coeur François pour ce cadeau 😀 😀 MERCI !!!!!!!!!!!!!!!!!

Comment voulez vous maintenant que je dorme avec tout ces joujoux a essayer !!!

Bref, voila de quoi me submerger d’ondes pour mon petit cerveau et pouvoir offrir à mes voisins, non seulement un hotspot gratuit Open-Mesh, mais maintenant, un hotspot gratuit FON 🙂

En plus, il y a de zolis autocollants à poser sur ma boite aux lettres 😉

Merci encore pour la surprise François 😀 😀

Et je n’hésiterais pas à revenir vous parler de la Fonera 2.0 dès que je l’aurais triturer dans tout les sens :-p

Classé dans matériel | Taggé , | 1 Comment
Nov 06

Open-Mesh, Papa Noël est en avance…

Petite surprise au courrier aujourd’hui, Papa Noël est passé un peu en avance 😀

Bon déjà il n’était pas vêtu de Rouge mais plutôt de Bleu, en la personne de ma touffe bleue a moi, Bluetouff.

2 zolies AP Accton 😀 pour se greffer au réseau Open-Mesh 😀

accton1

accton2

accton3

Que du BONHEUR 😀 😀

Donc juste un billet rapide pour d’abord embrasser partout ma Touffe Bleue pour ce cadeau pure Geek 🙂

Et ensuite pour le « slapper » méchamment pour le week-end sans dormir que je vais passer a découvrir les capacités de ces bijoux 🙂

Je plaisante mais a bientôt pour une découverte du principe et des capacités d’Open-Mesh

Classé dans matériel | Taggé | 3 Commentaires