Iptables + freebox v6

Bonjour à tous, voila quelque temps que je souhaite mettre en place une architecture réseau sécure en plus de mon réseau local géré par ma Freebox révolution. Sachant que celle ci ne possède pas d’outils poussés comme peut le faire Debian avec Iptables, je souhaite segmenter mon réseau et faire de mon serveur Debian un FW/routeur passerelle pour mon deuxième sous réseau.

Petit Topo :

|--> 3 PC (DHCP) |--> 1 PC Routeur Freebox Révolution |--> Serveur DEBIAN |--> switch |--> 1 Serveur 2K8 (DNS, DHCP, AD) (192.168.1.0) (192.168.3.0) |--> FreeNAS |--> freePlayer HD en CPL |--> PS3

Debian :
eth0 (rouge) 192.168.1.254
eth1 (vert) 192.168.3.254

Iptables :

[code]-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

Pas de filtrage sur l’interface de “loopback”

-A INPUT -i lo -j ACCEPT

Accepter le protocole ICMP (notamment le ping)

-A INPUT -p icmp -j ACCEPT

Accepter le protocole IGMP (pour le multicast)

-A INPUT -p igmp -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

serveur SSH joignable de l’extérieur
-A INPUT -p tcp --dport ssh -j ACCEPT

-A INPUT -p tcp --dports smtp,smtps,submission -j ACCEPT

-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT

Webmin joinable de l’exterieur
-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT

-A INPUT -p tcp --dport domain -j ACCEPT
-A INPUT -p udp --dport domain -j ACCEPT

Web
-A INPUT -p tcp --dport http -j ACCEPT
-A INPUT -p tcp --dport https -j ACCEPT

-A INPUT -p udp -d 192.168.1.254 --dport mdns -j ACCEPT

-A INPUT -j LOG --log-prefix "paquet IPv4 inattendu "
-A INPUT -j REJECT

NAT
-A POSTROUTING -o eth0 -j MASQUERADE

-A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.1:80 (ip du serveur 2K8)[/code]

Dans ce cas j’utilise mon Serveur Debian pour faire office de Firewall, Passerelle, Routeur NAT.
Je ne veux pas mettre ma Freebox en mode bridge qui ne me permettrais plus d’utiliser les services vidéos liés.
Malgré tout ça je ne peux pas Pinger les postes sur mon réseau local rouge depuis le vert, n’y avoir de connexion internet.

Qu’en pensez vous ?

Fonction routeur IPv4 activée (ip_forward=1) ?
Routes correctement positionnées sur les machines de chaque réseau ?

Concernant le jeu de règles iptables, c’est une passoire (chaîne FORWARD vide et en ACCEPT par défaut). Et il contient quelques menues incohérences (HTTP ouvert en entrée mais redirigé vers une autre machine en même temps), doublon pour le DNS (domain = 53). Et comme tu ne détailles pas tes spécifications de filtrage, on ne peut pas dire s’il fait ce qu’il est censé faire.

Merci de pour ta réponse, j’ai bien activé “ip_forward=1” (echo 1 > /proc/sys/net/ipv4/ip_forward ) et te remercie pour tes remarques concernant ma conf iptables. Néanmoins je vais corriger tout cela lorsque j’aurais réussi à accéder hors de mon réseau local.

Lorsque tu parles des routes correctement positionnées sur chaque réseau tu veux parler au niveau du serveur Debian ? Je ne peux pas ajouter des routes static sur ma freebox il me semble.

debian :

Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Il y a une chose que je ne comprends pas. Sur la freebox, il y a déjà des règles que l’on peux mettre en place pour transférer des ports vers des adresses ip de ton réseau local.

Une machine ne reçoit donc que ce que tu as paramétré. Il n’y a finalement qu’en sortie qu’il y a éventuellement un problème.

Dans ce cas il vaut mieux commencer avec une table de filtrage vide et seulement les règles de la table nat.

Non, je parle des routes sur les autres machines.
Tu n’as pas expliqué non plus ce qui se passait exactement.

–> j’ai mis positionné mon serveur Debian dans la DMZ de la freebox comme ca, tous les ports sont redirigés vert lui.

–> J’ai fais ce que tu m’as dit c’est effectivement plus logique pour commencer.

[code]#########################

politiques par defaut

#########################

Les connexions entrantes sont bloque par defaut

-P INPUT DROP

Les connexions destinee ront acceptee par defaut

-P FORWARD ACCEPT

Les connexions sortantes sont acceptee par defaut

-P OUTPUT ACCEPT

######################

Regle de filtrage

######################

Boucle local acceptee

-A INPUT -s 127.0.0.1 -i lo -j ACCEPT

Accepter les packets entrants relatifs aux connexions deja

etablies : cela va plus vite que de devoir reexaminer toutes

les regles pour chaque paquet.

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

ligne suivante pour que le serveur SSH

soit joignable de l’exterieur

-A INPUT -p tcp --dport ssh -j ACCEPT

Le serveur Web HTTP soit joignable de l’exterieur.

-A INPUT -p tcp --dport webmin -j ACCEPT
-A INPUT -p tcp --dport http -j ACCEPT
-A INPUT -p tcp --dport https -j ACCEPT

########################

Partage de connexion

########################

FW fasse office de routeur NAT connectee a internet.

-A POSTROUTING -o eth0 -j MASQUERADE[/code]

[quote]Non, je parle des routes sur les autres machines.
Tu n’as pas expliqué non plus ce qui se passait exactement.[/quote]

–> j’ai bien ajouter les routes a la mains sur mon 2K8

Malgès tout cela je peux pinger que l’interface rouge (192.168.1.254) depuis mon 2K8 mais je neux plus en aucun cas sortir ni pinger ma freebox (192.168.1.1)

Je reste perplexe…

Tu as vérifié avec iptables-save que les règles sont bien en place ?
Et que /proc/sys/net/ipv4/ip_forward contient bien 1 ?

Tu ne peux pas spécifier comme passerelle dans une route une adresse qui n’est pas joignable directement comme 192.168.1.254. Il faut spécifier l’adresse de la passerelle qui est du même côté que soi : 192.168.3.254.

Qu’affiche route print sur le serveur ?
Qu’affiche tracert -d 192.168.1.1 ?