--new-chain mais comment ca marche?

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

Messagepar Muzo » 14 Jan 2004 16:15

Bonjour, <BR> <BR>Voilà, j'étudie le script iptables de SME. Celui-ci est tout bizarre et semble être une évolution à base de ipchains. <BR>Seul hic il me semble un peu bordellique. Mais n'y connaissant rien je cherche la doc. <BR> <BR>Hors mes connaissances réseau avoisinant le zéro absolu, je lis les docs et manpage de Iptables. <BR> <BR>Si j'ai bien compris on crée une chaine (--new-chain), à laquelle on ajoute des règles. <BR> <BR>Si c'est ca, j'ai pigé. Mais quel en est l'intérêt? <BR> <BR>En fait ce que je veux faire c'est me rapprocher du script à M'sieur Arapaho qui lui je le comprends mieux (le script, pas arapaho). <BR> <BR>Sinon est ce que quelqu'un à une doc avec des exemple sur le sujet, mais en french. Parce que les docs en anglais, j'y piges pas le vocabulaire technique. <IMG SRC="images/smiles/icon_cry.gif"> <BR> <BR>Oui j'ai lu celle de LéaLinux, mais elle n'est pas assez complète pour moi. <BR> <BR>A vot' bon coeur <IMG SRC="images/smiles/icon_help.gif">
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar MasterSleepy » 14 Jan 2004 20:44

Salut Muzo, <BR> <BR>A l'époque j'avais récupéré <!-- BBCode u2 Start --><A HREF="http://vanhees.homeip.net/modules.php?op=modload&name=Downloads&file=index&req=viewdownloaddetails&lid=142&ttitle=iptable.zip" TARGET="_blank">ce document</A><!-- BBCode u2 End -->, mais je ne sais plus ou je l'avais trouver. <BR>Si ça peut t'aider. <BR> <BR>A+
"Microsoft fera quelque chose qui ne plantera jamais quand ils commenceront à fabriquer des clous "
http://www.vanhees.cc
Avatar de l’utilisateur
MasterSleepy
Amiral
Amiral
 
Messages: 2625
Inscrit le: 24 Juil 2002 00:00
Localisation: Belgique

Messagepar Muzo » 14 Jan 2004 22:27

Yeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeees Merci beaucoup <IMG SRC="images/smiles/icon_bise.gif"> <BR>Ca va m'aider <IMG SRC="images/smiles/icon_wink.gif">
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar tomtom » 14 Jan 2004 23:14

Ca m'a tout l'air d'etre tiré du site de C. Caleca : <BR><!-- BBCode auto-link start --><a href="http://christian.caleca.free.fr/netfilter" target="_blank">http://christian.caleca.free.fr/netfilter</a><!-- BBCode auto-link end --> <BR> <BR>Ce site a été cité de nombreuses fois sur ixus, et pour cause il est vraiùent genial, et sa doc sur netfilter est un bijou de simplicité ! <BR> <BR>Voilou ! <BR> <BR>Sinon, je crois que tu as bien saisi l'idée : <BR> <BR>chaque paquet, avant que le firewall ne decide de l'envoyer sur le reseau ou à un de ses processus, passe dans la moulinette des tables. <BR> <BR>Il y a des tables pour chaque operation : <BR> <BR>filter sert ... pour filtrer <BR>nat sert .. pour modifier les adresses sources ou destination <BR>mangle sert à bricoler les paquets, à les marquer etc.. tu ne devrais aps en avoir besoin au debut. <BR> <BR>chaque table contient des chaunes. <BR> <BR>prenons l'exmple de la table filter : il y a 3 chaines : <BR> <BR>INPUT, OUPUT et FORWARD <BR>chaque table est utilisée poiur un type de paquets différents : INPUT pour les paquets entrant et destinés aux processus locaux, OUTPUT c'est l'inverse, et FORWARD sont les paquets destinés à etre routes vers une autre machine. <BR> <BR>Dans chaque chaine, on met des règles. <BR> <BR>Un paquet traverse une chaine en se comparant au patern specifié dans la règle. Si ca colle, on effectue l'action choisie, et c'est fini (d'ou l'interet de mettre les regles dans un bon ordre : la premiere qui marche etant la bonne !) <BR> <BR>Voila, en prenant les super dessins d'architecture presents sur le site de Mr Caleca, on comprend assez simplement ou poser ses règles pour un traitement optimal. <BR> <BR>Le reste est une fafire d'experiennce et de tatonnements. <BR> <BR>Bon courage pour ton etude !! <BR> <BR> <BR>Thomas
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Muzo » 15 Jan 2004 09:51

Arf!! Le site à M'sieur Caleca! Je le connais, mais pourquoi n'y ai-je pas pensé plus tôt!! <BR> <BR>Merci. je sens que je vais en avor besoin du courage. <IMG SRC="images/smiles/icon_wink.gif"> <BR> <BR>Je risque de revenir poser des questions <IMG SRC="images/smiles/icon_razz.gif"> <BR> <BR>Surtout quand je vois des trucs comme ca dans le script de firewall de SME: <BR># Set up chains which allow us to capture local networks <BR> /sbin/iptables --new-chain InputAllowLocals <BR> /sbin/iptables --new-chain InputAllowLocals_1 <BR> /sbin/iptables --append InputAllowLocals --jump InputAllowLocals_1 <BR> /sbin/iptables --append INPUT --jump InputAllowLocals <BR> /sbin/iptables --new-chain ForwardAllowLocals <BR> /sbin/iptables --new-chain ForwardAllowLocals_1 <BR> /sbin/iptables --append ForwardAllowLocals --jump ForwardAllowLocals_1 <BR> /sbin/iptables --append FORWARD --jump ForwardAllowLocals <BR> <BR>Je comprends pasce qu'il fait .... <IMG SRC="images/smiles/icon_confused.gif">
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar loubard » 15 Jan 2004 09:56

Bon moi je vais trop t'aider vu que..... je travail pas sur sme et que bon voilà .... mais comme tu dit que tes connaissances sur le reseaux avoisine le zero voici une doc en fr sur TCP (il s'agit du RFC 793) <!-- BBCode auto-link start --><a href="http://abcdrfc.free.fr/rfc-vf/rfc793.html" target="_blank">http://abcdrfc.free.fr/rfc-vf/rfc793.html</a><!-- BBCode auto-link end --> <BR> <BR>voilà et bon apprentissage
Loub'
celeron 500 128Mo sdram -MONOWALL- no HDD
Lan+DMZ freeadsl Mb
Avatar de l’utilisateur
loubard
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 206
Inscrit le: 15 Jan 2004 01:00
Localisation: Lyon

Messagepar Muzo » 15 Jan 2004 09:58

Cool Merci! C'est toujours utile ces choses là!
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar ldidier » 15 Jan 2004 09:59

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Le 2004-01-15 08:51, Muzo a écrit: <BR>Arf!! Le site à M'sieur Caleca! Je le connais, mais pourquoi n'y ai-je pas pensé plus tôt!! <BR> <BR>Merci. je sens que je vais en avor besoin du courage. <IMG SRC="images/smiles/icon_wink.gif"> <BR> <BR>Je risque de revenir poser des questions <IMG SRC="images/smiles/icon_razz.gif"> <BR> <BR>Surtout quand je vois des trucs comme ca dans le script de firewall de SME: <BR># Set up chains which allow us to capture local networks <BR> /sbin/iptables --new-chain InputAllowLocals <BR> /sbin/iptables --new-chain InputAllowLocals_1 <BR> /sbin/iptables --append InputAllowLocals --jump InputAllowLocals_1 <BR> /sbin/iptables --append INPUT --jump InputAllowLocals <BR> /sbin/iptables --new-chain ForwardAllowLocals <BR> /sbin/iptables --new-chain ForwardAllowLocals_1 <BR> /sbin/iptables --append ForwardAllowLocals --jump ForwardAllowLocals_1 <BR> /sbin/iptables --append FORWARD --jump ForwardAllowLocals <BR> <BR>Je comprends pasce qu'il fait .... <IMG SRC="images/smiles/icon_confused.gif"> <BR> <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Il se trouve ou exactement ce script sur la sme ? <IMG SRC="images/smiles/icon_smile.gif">
Rien de grand ne c'est accompli dans le monde sans passion.
A.ENGEL
Avatar de l’utilisateur
ldidier
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 175
Inscrit le: 05 Fév 2002 01:00
Localisation: Mulhouse

Messagepar Muzo » 15 Jan 2004 10:06

Si tu utilises la contrib du portforwarding (e-smith-portforwarding-0.1.0-20.noarch.rpm), tu as du installer la contrib suivante : e-smith-packetfilter-1.13.0-04.noarch.rpm qui t'ajoute des templates pour créer le fichier masq qui se trouve dans /etc/init.d/rc.d (de mémoire) <BR> <BR>Si tu vas dans les templates, tu regardes le template 40AllowLocal. <BR> <BR>Mais y'en as plusieurs de ces trucs bizzaroides.
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar Muzo » 15 Jan 2004 10:36

Donc si j'ai bien compris, lorsque j'ai le code suivant (template 35TransProxy): <BR> <BR>/sbin/iptables --table nat --new-chain TransProxy <BR>/sbin/iptables --table nat --append PREROUTING -p tcp --dport 80 -j TransProxy <BR>/sbin/iptables --table nat --append TransProxy --destination 127.0.0.1 --jump ACCEPT <BR>/sbin/iptables --table nat --append TransProxy --destination 192.168.0.1 --jump ACCEPT <BR>/sbin/iptables --table nat --append TransProxy --destination $OUTERNET --jump ACCEPT <BR>/sbin/iptables --table nat --append TransProxy -p TCP -j DNAT --to 192.168.0.1:3128 <BR> <BR>je peux le remplacer par : <BR> <BR>/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d 127.0.0.1 -j ACCEPT <BR>/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d 192.168.0.1 -j ACCEPT <BR>/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d $OUTERNET -j ACCEPT <BR>/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -p TCP -j DNAT --to 192.168.0.1:3128 <BR> <BR>(P.S.:$OUTERNET = adress ip externe) <BR> <BR>Du coup comme on a une chaine du moins, je suppose que lors du traitment d'un paquet, cela va aller plus vite.
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar tomtom » 15 Jan 2004 10:45

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR># Set up chains which allow us to capture local networks <BR> /sbin/iptables --new-chain InputAllowLocals <BR> /sbin/iptables --new-chain InputAllowLocals_1 <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Creation dans la table filter (table par defaut si on specifie rien) d'une chaine InputAllowLocals et InputAllowLocals_1 <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR> /sbin/iptables --append InputAllowLocals --jump InputAllowLocals_1 <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Au debut de InputAllowLocals, on saute dans InputAllowLocals_1. La particularité de la cible JUMP, c'est que si on ne trouve rien dans la table, on revien dans la table de depart au lieu d'appliquer une Policy par defaut... <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR> /sbin/iptables --append INPUT --jump InputAllowLocals <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Bon, dans la chaine INPUT (donc les paquets arrivant sur le firewall avec en destination l'adresse du firewall), on saute vers InputAllowLocals <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR> /sbin/iptables --new-chain ForwardAllowLocals <BR> /sbin/iptables --new-chain ForwardAllowLocals_1 <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Creation de 2 autres chaines, je sais pas pourquoi je sens qu'elles vont servir pour le forward ? <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR> /sbin/iptables --append ForwardAllowLocals --jump ForwardAllowLocals_1 <BR> /sbin/iptables --append FORWARD --jump ForwardAllowLocals <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Qu'est ce que je disais <IMG SRC="images/smiles/icon_biggrin.gif"> <BR> <BR>En fait, le fait de separer en plusieurs chianes ainsi permet d'ajouter des règles pile ou on veut ! <BR>Avec ça, voici ce qu'il va se passer : <BR>Un paquet arrivant sur le firewall avec adresse de destination le firewall lui-m^me va etre envoyé dans la table InputAllowLocals , et de là la premiere chose qu'in fait c'est de le renvoyer dans InputAllowLocals_1. <BR> <BR>Idem, si l'adresse de destination n'est pas celle du firewall (donc c'est un paquet à forwarder), on l'envoie dans la chaine ForwardAllowLocals et de là en premier dans la chaine ForwardAllowLocals_1 <BR> <BR>C'est ensuite dans ces chaines que l'on va specifier des règles sur els pquets... <BR>Evidemment, on aurait tout aussi bien pu mettre les règles directement dans les chaines INPUT et FORWARD, mais alors il est plus difficile de rajouter des règles pile ou ou veut. Et puis les scripts sont plus lisibles ainsi, de même que les resultats de iptables -L -v !!! <BR> <BR>t. <BR> <BR>
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Muzo » 15 Jan 2004 10:53

AaNaahaaaa!! Donc le script n'est pas si naze qu'il en a l'air. <BR> <BR>Merci tomtom <IMG SRC="images/smiles/icon_bise.gif">
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar tomtom » 15 Jan 2004 11:00

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -p TCP -j DNAT --to 192.168.0.1:3128 <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Ce n'est pas la peine de dupliquer le -p tcp <IMG SRC="images/smiles/icon_wink.gif"> <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Du coup comme on a une chaine du moins, je suppose que lors du traitment d'un paquet, cela va aller plus vite. <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Ce n'est pas la fait de sauter dans une chaine qui prend du temps, c'est la comparaison des règles... <BR>Si tu reflechis bien, il vaut souvent mieux separer en tables différentes.. <BR>ex : <BR> <BR> <BR>iptables -N tcp_packets <BR>iptables -N udp_packets <BR> <BR>iptables -A INPUT -p tcp -j tcp_packets <BR>iptables -A INPUT -p udp -j udp_packets <BR> <BR>iptables -A tcp_packets --dport 80 -j ACCEPT <BR>iptabels -A tcp_packets --dport 22 -j ACCEPT <BR>iptables -A tcp _packets --dport 53 -j ACCEPT <BR>iptables -A tcp _packets --dport 25 -j ACCEPT <BR> <BR> <BR>iptables -A udp _packets --dport 53 -j ACCEPT <BR> <BR> <BR>c'est une config simplifiée pour un serveur qui fournit quelques services, dont un dns sur udp + tcp. <BR> <BR>Suppose que ce serveur recoive un paquet udp 53 (une requete dns). <BR>Comparaisons : <BR>1 regle tcp non <BR>une regle udp oui -> udp_packets <BR>une regle port 53 -> oui ->packet accepté ! <BR> <BR>Si on met tout dans input, il aurait effectué : <BR> <BR>1 tcp + 80 -> non <BR>1 tcp + 22 -> non <BR>1 tcp + 53 -> non <BR>1 tcp + 25 -> non <BR>1 udp + 53 -> oui -> traitement. <BR> <BR>soit 2 règles de plus. Et comme en plus, plus il y a de patterns dans la règle, plus c'est long (tcp + port 80 = 2 tests !), on a un architecture bien moins efficace.... <BR> <BR>Tout le jeu de faire un beau script se situe dans la belle architecture des chaines ! <BR> <BR>Je pense qu'il faudrait pour bien faire pas plus de 5 regles à verfiier pour les paquets utilisés couramment (typiquement, les paquets de reponse sur une connexion etablie, le tarffic web) et pour les services necessitant de la reactivité (pour ça, le dns n'est pas forcemment un bon exemple. Le ssh serait plus interressant à privilegier).... <BR> <BR>A toi de jouer !!!! <BR> <BR>Thomas
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Muzo » 15 Jan 2004 11:16

Ben plus je joue, plus j'étudie le script et plus je me dit que le script fournit en plus pour la SME et vachement bien foutu <IMG SRC="images/smiles/icon_razz.gif">
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar tomtom » 15 Jan 2004 11:42

c'est assez souvent le cas <IMG SRC="images/smiles/icon_rolleyes.gif"> <BR> <BR>t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Suivant

Retour vers E-Smith / SME Server

Qui est en ligne ?

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