logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:reseau:iptables-pare-feu-pour-une-passerelle [16/11/2014 07:42]
Hypathie [Les règles du pare-feu pas à pas]
doc:reseau:iptables-pare-feu-pour-une-passerelle [22/02/2015 11:04]
Hypathie [Introduction]
Ligne 5: Ligne 5:
   * Commentaires : Fignoler le routage, installer un pare-feu sur une passerelle debian.   * Commentaires : Fignoler le routage, installer un pare-feu sur une passerelle debian.
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>​à-tester ​à-placer}}+  * Suivi : {{tag>​à-tester}}
     * Création par [[user>​Hypathie]] 14/10/2014     * Création par [[user>​Hypathie]] 14/10/2014
     * Testé par <...> le <...> FIXME     * Testé par <...> le <...> FIXME
Ligne 15: Ligne 15:
  
 ===== Introduction ===== ===== Introduction =====
-Pour ce qui concerne iptables, ce wiki prend la suite du wiki [[http://​wiki.debian-facile.org/​atelier:​chantier:​iptables-pare-feu-pour-un-client|iptables-pare-feu-pour-un-client]],​ où les connaissances de base sur les commandes iptables ont été abordées.\\ ​+Pour ce qui concerne iptables, ce wiki prend la suite du wiki [[doc:reseau:​iptables-pare-feu-pour-un-client?&#​sauvegarder-ses-reglest|iptables-pare-feu-pour-un-client]],​ où les connaissances de base sur les commandes iptables ont été abordées.\\ ​
  
 Pour ce qui concerne les exemplifications qui vont suivre, je considérerai qu'une passerelle a été mise en place et que les commandes de base d'​iptables sont connues. Pour ce qui concerne les exemplifications qui vont suivre, je considérerai qu'une passerelle a été mise en place et que les commandes de base d'​iptables sont connues.
Ligne 34: Ligne 34:
 L'​ordinateur B appartient au sous sous-réseau : 192.168.1.0/​255.255.255.0 L'​ordinateur B appartient au sous sous-réseau : 192.168.1.0/​255.255.255.0
  
-  ​* Les services installés :+ * Les services installés :
  
 __Sur l'​ordinateur A (IP: 192.168.0.22)__,​ on a installé [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|ce pare-feu]].\\ __Sur l'​ordinateur A (IP: 192.168.0.22)__,​ on a installé [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|ce pare-feu]].\\
Ligne 41: Ligne 41:
  - aucune interface graphique lors de son installation : on le configure en passant par ssh depuis l'​ordinateur A\\   - aucune interface graphique lors de son installation : on le configure en passant par ssh depuis l'​ordinateur A\\ 
  - [[atelier:​chantier:​dhcp#​mise-en-place-basique-du-sercice-dhcp-sur-notre-reseau-local|un serveur DHCP basique]] qui fournit l'IP 192.168.1.2 a l'​ordinateur B\\   - [[atelier:​chantier:​dhcp#​mise-en-place-basique-du-sercice-dhcp-sur-notre-reseau-local|un serveur DHCP basique]] qui fournit l'IP 192.168.1.2 a l'​ordinateur B\\ 
- - La table NAT a été modifiée très simplement pour l'​instant afin [[atelier:​chantier:​dhcp#​installation-de-la-passerelle-debian|de le transformer en passerelle]].\\ ​+ - Un [[atelier:​chantier:​dns-bind9-sur-wheezy|serveur DNS (bind9)]]\\  
 + - le fichier **/​etc/​hosts de l'ordi B** est complété(( FQDN (Fully Qualified Domain Name)), par exemple: 
 +<​code>​ 
 +127.0.0.1 localhost 
 +127.0.1.1 debian-hpmondomaine.hyp ​ debian-hp 
 +</​code>​ 
 + - le fichier **/​etc/​resolv.conf de l'ordi B** a connaissance de l'ip du serveur DNS : 
 +<​code>​ 
 +domaine mondomaine.hyp 
 +search mondomaine.hyp 
 +nameserver 192.168.1.1 
 +</​code>​ 
 + - De même le fichier **/​etc/​hosts de la passerelle** connaît l'ordi B : Par exemple ''​192.168.1.3 ​    ​debian-hp''​ 
 + - La table NAT a été modifiée très simplement pour l'​instant afin [[atelier:​chantier:​dhcp#​installation-de-la-passerelle-debian|de le transformer en passerelle]] ​avec masquerade sur eth0 (interface web).\\ 
  - le fichier /​etc/​sysctl.conf a été modifié : la ligne ''​net.ipv4.ip_forward=0''​ est devenue ''​net.ipv4.ip_forward=1''​.  - le fichier /​etc/​sysctl.conf a été modifié : la ligne ''​net.ipv4.ip_forward=0''​ est devenue ''​net.ipv4.ip_forward=1''​.
  
Ligne 363: Ligne 376:
  
 iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p\ iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p\
- tcp -m state --state NEW,​ESTABLISHED,​RELATED ​-j ACCEPT+ tcp -m state --state NEW,​ESTABLISHED -j ACCEPT
  
 iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p\ iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p\
- tcp -m state --state ESTABLISHED,​RELATED ​-j ACCEPT+ tcp -m state --state ESTABLISHED -j ACCEPT 
 +</​code>​
  
 +    * Ce qui donne :
 +<code root>​iptables -L</​code>​
 +<​code>​
 +Chain INPUT (policy ACCEPT)
 +target ​    prot opt source ​              ​destination ​        
 +
 +Chain FORWARD (policy DROP)
 +target ​    prot opt source ​              ​destination ​        
 +ACCEPT ​    ​tcp ​ --  192.168.1.0/​24 ​      ​anywhere ​            state NEW,​ESTABLISHED
 +ACCEPT ​    ​tcp ​ --  anywhere ​            ​192.168.1.0/​24 ​      state ESTABLISHED
 +
 +Chain OUTPUT (policy ACCEPT)
 +target ​    prot opt source ​              ​destination
 +</​code>​
 +> La navigation web fonctionne
 +> Le ping vers google et vers 192.168.0.22 est bloqué car on a autorisé seulement tcp
 +
 +  * On ajoute une autorisation pour icmp :
 +
 +<code root>
 iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT
 </​code>​ </​code>​
  
-<note tip> +  ​Ce qui donne :
-**__Quelques exlications ​:__**+
  
-  * __Sans suivi de connexion__ :+<code root>​iptables -L FORWARD</​code>​ 
 +<​code>​ 
 +Chain FORWARD (policy DROP) 
 +target ​    prot opt source ​              ​destination ​         
 +ACCEPT ​    ​tcp ​ --  192.168.1.0/​24 ​      ​anywhere ​            state NEW,​ESTABLISHED 
 +ACCEPT ​    ​tcp ​ --  anywhere ​            ​192.168.1.0/​24 ​      state ESTABLISHED 
 +ACCEPT ​    icmp --  anywhere ​            ​anywhere ​            
 +</​code>​
  
-  iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT +  ​* OU de manière plus précise : 
-  ​iptables ​-A FORWARD ​-o eth1 -i eth0 -j ACCEPT+<code root> 
 +iptables ​-t filter ​-A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p icmp\ 
 + -m state --state NEW,​ESTABLISHED,​RELATED ​-j ACCEPT
  
-> On autorise tout passage de eth1 à eth0 et de eth0 à eth1+iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p icmp\ 
 + -m state --state ESTABLISHED,​RELATED -j ACCEPT
  
-  * __Avec suivi de connexion__ : +</​code>​
  
-  iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -m state --state NEW,​ESTABLISHED,RELATED -j ACCEPT +  ​* Ce qui donnerait cette fois : 
-  ​iptables ​-t filter ​-A FORWARD -i eth0 -o eth1 -s 0.0.0.0/-192.168.1.0/​24 ​-m state --state ESTABLISHED,RELATED -j ACCEPT+<​code>​iptables -FORWARD</​code>​ 
 +<​code>​ 
 +Chain FORWARD (policy DROP) 
 +target ​    prot opt source ​              ​destination ​         
 +ACCEPT ​    ​tcp  ​--  192.168.1.0/​24 ​      anywhere ​            state NEW,​RELATED,​ESTABLISHED 
 +ACCEPT ​    ​tcp  ​--  anywhere ​            192.168.1.0/24       state RELATED,​ESTABLISHED 
 +ACCEPT ​    ​icmp ​--  192.168.1.0/24       ​anywhere ​            state NEW,​RELATED,​ESTABLISHED 
 +ACCEPT ​    ​icmp ​--  anywhere ​            192.168.1.0/​24 ​      ​state RELATED,ESTABLISHED 
 +</​code>​
  
-On autorise tout passage avec suivi de connexion de eth1 à eth0 et inversement,​ en précisant les sous-réseaux. +Le web et le ping fonctionne : 
-</​note>​ + 
-  * On vérifie si le ping fonctionne de la machine A vers la machine B :+  * De la machine A vers la machine B :
 <code user> <code user>
 ping 192.168.1.2 ping 192.168.1.2
Ligne 403: Ligne 454:
 :-D :-D
  
-  * Et de la machine B vers la machine A :+  * De la machine B vers la machine A :
 <code user> <code user>
 ping 192.168.0.22</​code>​ ping 192.168.0.22</​code>​
Ligne 417: Ligne 468:
 8-) 8-)
  
-  ​Pour voir ce qu'on a fait +<note tip> 
-<code root>​iptables --t nat && ​iptables -L</​code>​+ 
 +**__Quelques exlications :__** 
 + 
 +  * __On autorise toute connexion pour le LAN__ 
 + 
 +  iptables -A FORWARD -i eth1 -j ACCEPT 
 +  iptables -A FORWARD -o eth1 -j ACCEPT 
 + 
 +  iptables -L 
 +  Chain INPUT (policy ACCEPT) 
 +  target ​    prot opt source ​              ​destination ​         
 +  Chain FORWARD (policy DROP) 
 +  target ​    prot opt source ​              ​destination ​         
 +  ACCEPT ​    ​all ​ --  anywhere ​            ​anywhere ​            
 +  ACCEPT ​    ​all ​ --  anywhere ​            ​anywhere ​            
 +  Chain OUTPUT (policy ACCEPT) 
 +  target ​    prot opt source ​              ​destination  
 + 
 +> Ce qui entre ''​-i''​ et ce qui sort ''​-o''​ 
 +> La navigation internet depuis un ordi du réseau 192.168.1.0/​24 est possible 
 +> ping de l'un de ces ordi vers google est ok 
 + 
 +  * __Dans les deux sens d'une interface à l'​autre__ : 
 + 
 +  iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT 
 +  iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT 
 + 
 +> On constate que sans préciser de protocole ni de réseau, cela revient au même que précédemment 
 + 
 +  iptables -L  
 +  Chain INPUT (policy ACCEPT) 
 +  target ​    prot opt source ​              ​destination ​         
 +  Chain FORWARD (policy ACCEPT) 
 +  target ​    prot opt source ​              ​destination ​         
 +  ACCEPT ​    ​all ​ --  anywhere ​            ​anywhere ​            
 +  ACCEPT ​    ​all ​ --  anywhere ​            ​anywhere ​            
 +  Chain OUTPUT (policy ACCEPT) 
 +  target ​    prot opt source ​              ​destination  
 + 
 +> On autorise le passage de eth1 à eth0 et de eth0 à eth1 
 + 
 +  * __Avec suivi de connexion d'une interface à l'​autre avec des règles différentes__ :  
 + 
 +  iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT 
 +  iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED -j ACCEPT 
 + 
 +> On autorise le passage de tous protocoles avec suivi de connexion, de eth1 à eth0, et inversement,​ en précisant les réseaux source et destination. 
 + 
 +  iptables -L 
 +  Chain INPUT (policy ACCEPT) 
 +  target ​    prot opt source ​              ​destination ​         
 +  Chain FORWARD (policy DROP) 
 +  target ​    prot opt source ​              ​destination ​         
 +  ACCEPT ​    ​all ​ --  192.168.1.0/​24 ​      ​anywhere ​            state NEW,​RELATED,​ESTABLISHED 
 +  ACCEPT ​    ​all ​ --  anywhere ​            ​192.168.1.0/​24 ​      state RELATED,​ESTABLISHED 
 +  Chain OUTPUT (policy ACCEPT) 
 +  target ​    prot opt source ​              ​destination 
 + 
 +> Là encore la navigation est possible pour un ordi du sous-réseau 192.168.1.0/​24 
 +> Et le ping fonctionne vers google et l'ordi 192.168.0.22 sans besoin d'​ajouter de règle imcp car on a autorisé TOUS les protocoles 
 + 
 +**Enfin il est inutile d'​ajouter une règle udp pour la résolution de nom si le serveur de nom est installé et correctement paramétré.**\\  
 +Dans le cas contraire on ajouterait ​
 +<code root> 
 +iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT 
 +</​code>​ 
 + 
 +Ou pour être plus précis : 
 + 
 +<code root> 
 +iptables ​-t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p udp\ 
 + ​--dport 53 -m state --state NEW,​ESTABLISHED -j ACCEPT 
 + 
 +iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p udp\ 
 + ​--dport 53 -m state --state ESTABLISHED -j ACCEPT 
 +</​code>​ 
 + 
 +</​note>​ 
  
 ====Dépendance du NAT et des chaînes FILTER sur l'​interface interne (eth1)==== ====Dépendance du NAT et des chaînes FILTER sur l'​interface interne (eth1)====
Ligne 466: Ligne 595:
 iptables -A OUTPUT -o eth1 -j ACCEPT iptables -A OUTPUT -o eth1 -j ACCEPT
  
-#On garde nos règles concernant le DROP sur FORWARD (FILTER)+##On garde nos règles concernant le DROP sur FORWARD (FILTER)
 #mais on oublie pas eth1 ! #mais on oublie pas eth1 !
-/sbin/iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p\ +iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -p\ 
- tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT+ tcp -m state --state NEW,​ESTABLISHED -j ACCEPT 
 + 
 +iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p\ 
 + tcp -m state --state ESTABLISHED -j ACCEPT 
 + 
 +iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p icmp
 + -m state --state NEW,​ESTABLISHED,​RELATED ​-j ACCEPT 
 +  
 +iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p icmp\ 
 + -m state --state ESTABLISHED,​RELATED -j ACCEPT 
 + 
 +#décocher les deux règles ci-dessous si un serveur DNS n'est pas installé sur la passerelle  
 + 
 +#iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p udp\ 
 +# --dport 53 -m state --state NEW,​ESTABLISHED ​-j ACCEPT
  
-/sbin/iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p\ +#iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p udp
- tcp -m state --state ESTABLISHED,​RELATED ​-j ACCEPT+# --dport 53 -m state --state ESTABLISHED -j ACCEPT
  
 +##Règles icmp pour INPUT et OUTPUT
 iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\ iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\
  ​--ctstate ESTABLISHED,​RELATED -j ACCEPT  ​--ctstate ESTABLISHED,​RELATED -j ACCEPT
Ligne 491: Ligne 635:
  
 iptables -t filter -A OUTPUT -o eth0 -p udp -m udp --dport 53\ iptables -t filter -A OUTPUT -o eth0 -p udp -m udp --dport 53\
- -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT+ -m state --state NEW,​ESTABLISHED -j ACCEPT
  
 iptables -t filter -A INPUT -i eth0 -p udp -m udp --sport 53\ iptables -t filter -A INPUT -i eth0 -p udp -m udp --sport 53\
- -m state --state ​RELATED,ESTABLISHED -j ACCEPT+ -m state --state ESTABLISHED -j ACCEPT
  
 iptables -t filter -A OUTPUT -o eth1 -p udp -m udp --dport 53\ iptables -t filter -A OUTPUT -o eth1 -p udp -m udp --dport 53\
- -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT+ -m state --state NEW,​ESTABLISHED -j ACCEPT
  
 iptables -t filter -A INPUT -i eth1 -p udp -m udp --sport 53\ iptables -t filter -A INPUT -i eth1 -p udp -m udp --sport 53\
- -m state --state ​RELATED,ESTABLISHED -j ACCEPT+ -m state --state ESTABLISHED -j ACCEPT
  
 iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports\ iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports\
- ​80,​443,​8000 -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT+ ​80,​443,​8000 -m state --state NEW,​ESTABLISHED -j ACCEPT
  
 iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports\ iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports\
- ​80,​443,​8000 -m state --state ​RELATED,ESTABLISHED -j ACCEPT+ ​80,​443,​8000 -m state --state ESTABLISHED -j ACCEPT
  
 iptables -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443,8000 -j ACCEPT iptables -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443,8000 -j ACCEPT
Ligne 644: Ligne 788:
 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  
-iptables -A FORWARD -i eth1 -o eth0 -192.168.1.0/​24 -0.0.0.0/​0\ +iptables ​-t filter ​-A FORWARD -i eth1 -o eth0 -192.168.1.0/​24 -0.0.0.0/​0 ​-p tcp
- -m state --state NEW,​ESTABLISHED,​RELATED ​-j ACCEPT+ -m state --state NEW,​ESTABLISHED -j ACCEPT
  
-iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0+iptables ​-t filter ​-A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 ​-p tcp\ 
- -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED ​-j ACCEPT+ -m state --state ESTABLISHED -j ACCEPT
  
-iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport+#Si pas de DNS configurer on dé-commente les règles udp suivantes : 
- --dports 80,443,​8000 ​-j ACCEPT + 
-iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0+#iptables ​-t filter ​-A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 ​-d 0.0.0.0/0 -p udp
- -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED ​-j ACCEPT+--dport 53 -m state --state NEW,ESTABLISHED ​-j ACCEPT 
 +  
 +#iptables ​-t filter ​-A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 ​-p udp\ 
 +# --dport 53 -m state --state ESTABLISHED ​-j ACCEPT 
 + 
 +iptables -t filter -A FORWARD -p icmp -j ACCEPT
  
 iptables -N icmp_packets iptables -N icmp_packets
Ligne 674: Ligne 823:
  
 </​code>​ </​code>​
 +
 +> La navigation web fonctionne pour l'ordi B
 +> Les ping de même
 +
 ====DROP sur INPUT et OUTPUT (chaîne filter) ==== ====DROP sur INPUT et OUTPUT (chaîne filter) ====
 Cette fois, il va falloir interdire (DROP) les chaînes INPUT et OUTPUT de la table FILTER excepté pour tous les protocoles dont on a besoin.\\ ​ Cette fois, il va falloir interdire (DROP) les chaînes INPUT et OUTPUT de la table FILTER excepté pour tous les protocoles dont on a besoin.\\ ​
Ligne 710: Ligne 863:
 iptables -A OUTPUT -o eth1 -j ACCEPT iptables -A OUTPUT -o eth1 -j ACCEPT
  
-# On garde nos règles concernant ​le DROP sur FORWARD (FILTER) +# On garde nos règles concernant FORWARD (FILTER) 
-# et on oublie pas eth1 ! + 
-iptables -t filter -A FORWARD -i eth1 -o eth0 -d 192.168.1.0/​24 -s 0.0.0.0/​0\ +iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p tcp\ 
- -m state --state NEW,​ESTABLISHED,​RELATED ​-j ACCEPT+ -m state --state NEW,​ESTABLISHED -j ACCEPT 
 + 
 +iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/​0 ​-d 192.168.1.0/​24 ​-p tcp\ 
 + -m state --state ESTABLISHED -j ACCEPT 
 + 
 +#Si pas de DNS configurer on dé-commente les règles udp suivantes : 
 + 
 +#iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/​0 ​-p udp
 +# --dport 53 -m state --state NEW,​ESTABLISHED -j ACCEPT
    
-iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0+#iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 ​-p udp\ 
- -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED ​-j ACCEPT+# --dport 53 -m state --state ESTABLISHED -j ACCEPT
  
 iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT
- + 
 +# règles icmp sur INPUT et OUTPUT
 iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\ iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\
  ​--ctstate ESTABLISHED,​RELATED -j ACCEPT  ​--ctstate ESTABLISHED,​RELATED -j ACCEPT
Ligne 737: Ligne 899:
    
 iptables -t filter -A OUTPUT -o eth0 -p udp -m udp --dport 53\ iptables -t filter -A OUTPUT -o eth0 -p udp -m udp --dport 53\
- -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT+ -m state --state NEW,​ESTABLISHED -j ACCEPT
    
 iptables -t filter -A INPUT -i eth0 -p udp -m udp --sport 53\ iptables -t filter -A INPUT -i eth0 -p udp -m udp --sport 53\
- -m state --state ​RELATED,ESTABLISHED -j ACCEPT+ -m state --state ESTABLISHED -j ACCEPT
    
 iptables -t filter -A OUTPUT -o eth1 -p udp -m udp --dport 53\ iptables -t filter -A OUTPUT -o eth1 -p udp -m udp --dport 53\
- -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT+ -m state --state NEW,​ESTABLISHED -j ACCEPT
    
 iptables -t filter -A INPUT -i eth1 -p udp -m udp --sport 53\ iptables -t filter -A INPUT -i eth1 -p udp -m udp --sport 53\
- -m state --state ​RELATED,ESTABLISHED -j ACCEPT+ -m state --state ESTABLISHED -j ACCEPT
    
 iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports\ iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports\
- ​80,​443,​8000 -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT+ ​80,​443,​8000 -m state --state NEW,​ESTABLISHED -j ACCEPT
    
 iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports\ iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports\
- ​80,​443,​8000 -m state --state ​RELATED,ESTABLISHED -j ACCEPT+ ​80,​443,​8000 -m state --state ESTABLISHED -j ACCEPT
    
 iptables -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443,8000 -j ACCEPT iptables -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443,8000 -j ACCEPT
Ligne 984: Ligne 1146:
 /​sbin/​iptables -A INPUT -i eth1 -j ACCEPT /​sbin/​iptables -A INPUT -i eth1 -j ACCEPT
 /​sbin/​iptables -A OUTPUT -o eth1 -j ACCEPT /​sbin/​iptables -A OUTPUT -o eth1 -j ACCEPT
-#permettre le passage entre les deux interfaces eternet de la passerelle +#permettre le passage ​de tcp entre les deux interfaces eternet de la passerelle 
-/​sbin/​iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -m state --state NEW,​ESTABLISHED,​RELATED ​-j ACCEPT +/​sbin/​iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/​0 ​-p tcp\ 
-/​sbin/​iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED ​-j ACCEPT+ -m state --state NEW,​ESTABLISHED -j ACCEPT 
 +/​sbin/​iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 ​-p tcp\ 
 + -m state --state ESTABLISHED ​-j ACCEPT 
 +#Si pas de DNS configurer on dé-commente les règles udp suivantes : 
 +#iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p udp\ 
 +# --dport 53 -m state --state NEW,ESTABLISHED ​-j ACCEPT 
 +#iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p udp\ 
 +# --dport 53 -m state --state ESTABLISHED -j ACCEPT 
 + 
 +#autoriser le ping avec le sous-réseau 192.168.1.0/​24
 /​sbin/​iptables -t filter -A FORWARD -p icmp -j ACCEPT /​sbin/​iptables -t filter -A FORWARD -p icmp -j ACCEPT
 +
 #accepter le ping entre les réseaux locaux #accepter le ping entre les réseaux locaux
 /​sbin/​iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT
Ligne 1029: Ligne 1201:
 /​sbin/​iptables -A syn_flood -j DROP /​sbin/​iptables -A syn_flood -j DROP
 #autoriser la connexion avec les serveurs DNS #autoriser la connexion avec les serveurs DNS
-/​sbin/​iptables -t filter -A OUTPUT -o eth0 -p udp -m udp --dport 53 -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT +/​sbin/​iptables -t filter -A OUTPUT -o eth0 -p udp -m udp --dport 53 -m state --state NEW,​ESTABLISHED -j ACCEPT 
-/​sbin/​iptables -t filter -A INPUT -i eth0 -p udp -m udp --sport 53 -m state --state ​RELATED,ESTABLISHED -j ACCEPT +/​sbin/​iptables -t filter -A INPUT -i eth0 -p udp -m udp --sport 53 -m state --state ESTABLISHED -j ACCEPT 
-/​sbin/​iptables -t filter -A OUTPUT -o eth1 -p udp -m udp --dport 53 -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT +/​sbin/​iptables -t filter -A OUTPUT -o eth1 -p udp -m udp --dport 53 -m state --state NEW,​ESTABLISHED -j ACCEPT 
-/​sbin/​iptables -t filter -A INPUT -i eth1 -p udp -m udp --sport 53 -m state --state ​RELATED,ESTABLISHED -j ACCEPT+/​sbin/​iptables -t filter -A INPUT -i eth1 -p udp -m udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
 #autoriser la navigation web #autoriser la navigation web
-/​sbin/​iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports 80,443,8000 -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT +/​sbin/​iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports 80,443,8000 -m state --state NEW,​ESTABLISHED -j ACCEPT 
-/​sbin/​iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports 80,443,8000 -m state --state ​RELATED,ESTABLISHED -j ACCEPT+/​sbin/​iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports 80,443,8000 -m state --state ESTABLISHED -j ACCEPT
 /​sbin/​iptables -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443,8000 -j ACCEPT /​sbin/​iptables -A OUTPUT -o eth1 -p tcp -m multiport --dports 80,443,8000 -j ACCEPT
 /​sbin/​iptables -A INPUT -i eth1  -p tcp -m multiport --sports 80,443,8000 -j ACCEPT /​sbin/​iptables -A INPUT -i eth1  -p tcp -m multiport --sports 80,443,8000 -j ACCEPT
 #Si le serveur cups est branché sur un ordinateur du réseau 192.168.0.0/​24,​ par exemple sur 192.168.0.22 #Si le serveur cups est branché sur un ordinateur du réseau 192.168.0.0/​24,​ par exemple sur 192.168.0.22
 # laisser décommenter les deux lignes suivantes : # laisser décommenter les deux lignes suivantes :
-/​sbin/​iptables -A INPUT -i eth0 -s 192.168.0.22 -d 192.168.0.1 -p tcp --sport 631 -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT +/​sbin/​iptables -A INPUT -i eth0 -s 192.168.0.22 -d 192.168.0.1 -p tcp --sport 631 -m state --state NEW,​ESTABLISHED -j ACCEPT 
-/​sbin/​iptables -A OUTPUT -o eth0 -s 192.168.0.1 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,RELATED,​ESTABLISHED -j ACCEPT+/​sbin/​iptables -A OUTPUT -o eth0 -s 192.168.0.1 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,​ESTABLISHED -j ACCEPT
 #créer une chaîne utilisateur pour les connexion ssh, les loguer et les accepter #créer une chaîne utilisateur pour les connexion ssh, les loguer et les accepter
 /​sbin/​iptables -t filter -N InComingSSH /​sbin/​iptables -t filter -N InComingSSH
Ligne 1130: Ligne 1302:
 <code root> <code root>
 /​sbin/​iptables -A INPUT -i eth1 -p udp -m udp --sport 27000 -m\ /​sbin/​iptables -A INPUT -i eth1 -p udp -m udp --sport 27000 -m\
- state --state NEW,RELATED,​ESTABLISHED -j ACCEPT+ state --state NEW,​ESTABLISHED -j ACCEPT
 /​sbin/​iptables -A INPUT -i eth0 -p udp -m udp --sport 27000 -m\ /​sbin/​iptables -A INPUT -i eth0 -p udp -m udp --sport 27000 -m\
- state --state ​RELATED,ESTABLISHED -j ACCEPT+ state --state ESTABLISHED -j ACCEPT
 </​code>​ </​code>​
  
doc/reseau/iptables-pare-feu-pour-une-passerelle.txt · Dernière modification: 01/11/2015 18:20 par milou

Pied de page des forums

Propulsé par FluxBB