Configuration iptables pour mon sous réseau

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

Configuration iptables pour mon sous réseau

Messagepar bullrot1985 » 07 Mai 2009 16:49

Bonjour a tous.

Je suis bloqué au niveau de mes regles d'iptables.

Voici tout d'abord ma configuration reseau.

Internet ----- ScarletBox ----- Switch1 --------- Firewall IPCop ---- Sous reseau

Scarletbox : 192.168.0.1/24

Firewall IpCop : eth0 : 10.0.0.1/24
Firewall IpCop : eth1 : 192.168.0.21/24

sous réseau : 10.0.0.*/24

Mon but : Je ne m'occupe que de la configuration du Sous réseau.
1°) Je voudrais avoir accès a internet sur toutes les machines de mon sous réseau
2°) Je voudrais avoir accès a internet que sur ma machine 10.0.0.10



Voici ou j'en suis :

# Vider les tables actuelles
iptables -t filter –F

# Vider les règles personnelles
iptables -t filter –X

# Interdire toute connexion entrante et sortante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

#J'active le forward
echo 1 > /proc/sys/net/ipv4/ip_forward

# Nous considérons que la machine elle même est sûre
# et que les processus locaux peuvent communiquer entre eux
# via l'interface locale :

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT


# Translation d'adresses pour tout ce qui traverse la passerelle
# en sortant par eth1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


# FORWARDING
# Toutes les connexions qui sortent du LAN vers le Net
# sont acceptees
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

# connexions sont acceptees venant du Net vers le LAN
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

#Accepter le http
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

#Accepter le DNS
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT


Voila mes regles mais je n'ai toujours pas acces au net avec ma machine 10.0.0.10....

Merci pour votre aide.
bullrot1985
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 05 Mai 2009 23:57

Messagepar ccnet » 07 Mai 2009 17:29

Si on utilise ipcop , aucune raison de "toucher" à iptables.
Si le but est de travailler sur iptables, ipcop n'est pas le le meilleur choix (et de loin).
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris

Messagepar bullrot1985 » 07 Mai 2009 17:51

Merci pour ta réponse mais peux tu me proposer des solutions dans ce cas ?
quel est la meilleure solution si je veux utiliser iptables ?

Et sinon pourquoi mon iptables ne marche pas?

Merci
bullrot1985
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 05 Mai 2009 23:57

Messagepar ccnet » 07 Mai 2009 18:03

Si le but est didactique alors une Debian (par exemple, très facile à installer) et deux cartes réseaux. Là vous pourrez travailler sur iptables "à la main".
Si le but est d'utiliser un firewall, pourquoi pas ipcop, alors on ne touche pas à iptables. Tout fonctionne parfaitement, surtout si vous n'y touchez pas.
Ipcop utilise iptables, mais il est pensé, conçu pour être exploité via un GUI, dans un cadre fonctionnel bien précis.
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris

Messagepar bullrot1985 » 07 Mai 2009 18:18

Oki... enfin soit... je pense que ca ne résoudra pas mon problème de configuration d'iptables.

en faite si je met :

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

je n'ai pas accès a internet sur ma machine cliente...

par contre si je met :

iptables -A FORWARD -i eth1 -o eth0 -d 10.0.0.10/24 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -s 10.0.0.10/24 -j ACCEPT

la je peux définir l'acces a internet pour ma machine..

Es-ce une bonne politique ? en tous cas elle marche c'est déjà ca mais je pense que c'est pas une bonne politique
bullrot1985
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 05 Mai 2009 23:57

Messagepar ccnet » 07 Mai 2009 18:47

La bonne politique si vous utilisez ipcop c'est de ne pas toucher à iptables et tout doit marcher du premier coup pour peu que vous suiviez les quelques règles très simples de configuration. Sinon c'est que vous avez fait des erreurs. Combien de fois faut il vous répéter qu'Ipcop est fait pour ne pas toucher à iptables.
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris

Messagepar Franck78 » 07 Mai 2009 20:44

Mon but : Je ne m'occupe que de la configuration du Sous réseau.
1°) Je voudrais avoir accès a internet sur toutes les machines de mon sous réseau
2°) Je voudrais avoir accès a internet que sur ma machine 10.0.0.10


je vois l'intérêt de la règle 2 quand la 1 est en place


Ton script ne marche pas ou ne fait pas ce que tu voudrais qu'il fit car tu n'as manisfestement pas compris la philosophie de iptables.



pour preuve:
en faite si je met :

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

je n'ai pas accès a internet sur ma machine cliente...

par contre si je met :

iptables -A FORWARD -i eth1 -o eth0 -d 10.0.0.10/24 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -s 10.0.0.10/24 -j ACCEPT

la je peux définir l'acces a internet pour ma machine..


et j'ajouterais même que tout internet à acces à ta machine.


Comme un forum n'a pas vocation a écrire des tutoriaux, trouves-en plusieurs et tu comprendras pourquoi ton script ne fait pas ce que tu penses. :wink:
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar bullrot1985 » 11 Mai 2009 17:35

J'ai réinstaller une debian 5.0

pour rappel :


Internet ----- ScarletBox ----- Switch1 --------- Firewall IPCop ---- Sous reseau

Scarletbox : 192.168.0.1/24

firewall Debian 5.0 : eth0 : 10.0.0.1/24
Firewalll Debian 5.0 : eth1 : 192.168.0.21/24

sous réseau : 10.0.0.*/24


---------------------------------------------------------------------

J'ai mis ces règles :

# Interdire toute connexion entrante et forward
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#Accepter le DNS
iptables -A INPUT -p udp --sport 53 -j ACCEPT

J'ai mis ces règles mais je n'ai pas internet sur ma machine 127.0.0.1 ( donc mon firewall )
J'ai du oublier quelque chose mais quoi ? je ne vois pas... pouvez-vous m'aider svp?
merci
bullrot1985
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 05 Mai 2009 23:57

Messagepar jdh » 11 Mai 2009 17:58

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT


Des règles comme cela montrent que tu n'as RIEN compris à iptables ! (Et je ne dirais rien de --dport ou --sport !)


Il est important de lire DE SUITE le site de Christian Caleca.


(Ces règles autorisent l'accès de l'extérieur à cette machine pour les ports tcp/80 et udp/53 ! Il est évident que ce sont les règles inverses qu'il faut écrire !!!)
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar bullrot1985 » 11 Mai 2009 20:01

oui effectivement je me suis un peu embrouillé dans la syntaxe mais c'est chose réglée.

Voici les règles que j'ai appliqué et j'ai réussi a avoir internet sur ma machine firewall.


iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

=> de cette manière j'ai l'accès au web sur ma machine 127.0.0.1

J'ai ma machine cliente 10.0.0.10 qui est connecté sur eth0.... j'arrive a pinger ma machine firewall ( 10.0.0.1) mais par contre je n'ai pas l'acces au net ?
a mon avis ce n'est pas au niveau de iptables que ca bloque que j'ai mis tt les règles a ACCEPT mais je n'avais toujours pas le net...
Merci
bullrot1985
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 05 Mai 2009 23:57

Messagepar jdh » 11 Mai 2009 20:24

Et que dit Christian CALECA sur les chaînes INPUT, OUTPUT et FORWARD ?
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar bullrot1985 » 11 Mai 2009 20:34

Je vais voir mais si INPUT FORWARD ET OUTPUT sont ont une politique de ACCEPT .. je devrais avoir le net sur ma machine cliente non?

je regarde le site et je fais mes test en attendant
bullrot1985
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 05 Mai 2009 23:57

Messagepar bullrot1985 » 11 Mai 2009 20:56

Non a mon avis iptables est bien configurer pour moi....
j'ai rajouter c'est 2 régle ici mais sans resultat :

iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

pour l'instant mes chaines : INPUT, FORWARD, et OUTPUT sont a ACCEPT le temps que je trouve ou est l'erreur.


depuis ma machine 10.0.0.10 j'arrive a pinger mon firewall 10.0.0.1 mais je n'ai pas le net sur ma machine 10.0.0.10 alors que sur 10.0.0.1 j'ai le net.
Dernière édition par bullrot1985 le 11 Mai 2009 21:22, édité 1 fois au total.
bullrot1985
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 05 Mai 2009 23:57

Messagepar jdh » 11 Mai 2009 21:12

Faudrait peut-être se relire avant d'écrire ces lignes incorrectes !

Pas de précipitation : LIRE Christian CALECA est nécessaire. Ensuite, il faut un certain temps d'appropriation ...

A reprendre ...
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar bullrot1985 » 11 Mai 2009 21:33

Bon on me prends pour un con mais si je suis le début du site et je cite :

*
Tapez successivement les commandes suivantes pour initialiser votre système:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

De cette manière, vous avez toutes vos chaînes vides, avec par défaut la règle ACCEPT

iptables -L

L'affichage va vous assurer que les trois chaînes INPUT, FORWARD et OUTPUT sont vides et ont bien la règle par défaut ACCEPT

iptables -t nat -L

L'affichage va vous assurer que les trois chaînes PREROUTING, POSTROUTING et OUTPUT sont vides et ont bien la règle par défaut ACCEPT.
Mise en place de Masquerade

Tapez maintenant les commandes suivantes:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Où ppp0 représente l'interface connectée à l'Internet. Remplacez éventuellement, si votre configuration est différente. Ceci signifie en gros: Tout ce qui sort du routage (-A POSTROUTING) et qui doit passer vers l'Internet (-o ppp0) doit subir un masquage d'adresse (-j MASQUERADE)

echo 1 > /proc/sys/net/ipv4/ip_forward

Ceci pour être certain que votre noyau autorise le routage. Vous n'en avez pas besoin, si votre machine est configurée par défaut pour assurer le routage.

Voilà. Votre passerelle entre le réseau privé et l'Internet doit être opérationnelle.

*
Vérifiez que, depuis votre passerelle Linux, vous avez bien accès au Net.
*
Vérifiez que, depuis un poste de votre réseau privé, vous avez bien accès au Net.



j'ai bien l'accès sur ma paserelle linux mais pas sur la machine cliente ! donc déjà la j'ai un problème... et cela ne vient pas d'iptables.

si vous avez une solution car je ne m'y connait pas trop en linux. merci
bullrot1985
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 05 Mai 2009 23:57

Suivant

Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron