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 [15/11/2014 17:26]
Hypathie [Les règles du pare-feu pas à pas]
doc:reseau:iptables-pare-feu-pour-une-passerelle [16/11/2014 12:48]
Hypathie [Le script de la passerelle]
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 343: Ligne 356:
   - Interdire par défaut (DROP) la chaîne FORWARD   - Interdire par défaut (DROP) la chaîne FORWARD
   - Filter ce qui passe par FORWARD   - Filter ce qui passe par FORWARD
-  - Autoriser (provisoirement) les entrées et sorties entre le <​nowiki>​LAN</​nowiki> ​et le web. +  - Par exemple pour autoriser la connexion au web du <​nowiki>​LAN</​nowiki> ​on autorise tcp 
-  - Autoriser ​les pings depuis le pare-feu vers l'​internet,​ uniquement si ceux-ci proviennent de connexions déjà établies ou dépendantes d'une connexion en cours. +  - On autorise ICMP pour les pings  
-  - Autoriser la réponse du ping, que ce soit depuis le réseau interne, ou de la box-machin. +  - Et bien sûr, ne pas oublier ​si on a "​flushé" ​la table NAT, la commande avec MASQUERADE
-  - Et bien sûr, ne pas oublier ​après avoir flusher ​la table NAT, la commande avec MASQUERADE+
  
 (//Puisque la politique par défaut de la table FILTER des chaînes INPUT et OUTPUT n'ont pas encore été modifiées, on peut déjà tester ces commandes.//​) (//Puisque la politique par défaut de la table FILTER des chaînes INPUT et OUTPUT n'ont pas encore été modifiées, on peut déjà tester ces commandes.//​)
   * __Comme ceci__ :   * __Comme ceci__ :
 <code root> <code root>
-... +iptables -F 
-iptables -P FORWARD DROP +iptables -X 
-... +iptables -t nat -
-iptables -t filter ​-A FORWARD ​-i eth1 -o eth0 -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT+iptables ​-t nat -
 +iptables ​-P INPUT ACCEPT 
 +iptables ​-P FORWARD ACCEPT 
 +iptables ​-P OUTPUT ​ACCEPT
  
-iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,​RELATED -j ACCEPT 
-... 
 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +
 +iptables -P FORWARD DROP
 +
 +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 -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
 </​code>​ </​code>​
-<​note>​ 
-Ou sans suivi de connexion :\\  
  
-iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT\\  +    * Ce qui donne : 
-iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT +<code root>iptables ​-L</​code>​ 
-</note+<​code>​ 
-  * On vérifie si le ping fonctionne ​de la machine A vers la machine B :+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 
 +</​code>​ 
 + 
 +  * Ce qui donne : 
 + 
 +<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>​ 
 + 
 +  * OU de manière plus précise : 
 +<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 
 + 
 +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 
 + 
 +</code> 
 + 
 +  * Ce qui donnerait cette fois : 
 +<​code>​iptables -L 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>​ 
 + 
 +> Le web et le ping fonctionne ​
 + 
 +  * De la machine A vers la machine B :
 <code user> <code user>
 ping 192.168.1.2 ping 192.168.1.2
Ligne 381: 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 395: 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 444: 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 !
-iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24\ +iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 ​-d 0.0.0.0/0 -p
- -d 0.0.0.0/0 -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
  
-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
  
 +##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 469: 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 622: 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 652: 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 688: 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 715: 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 962: 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 -p icmp -j ACCEPT ​#inutile+/​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 
 #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 1007: 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 1108: 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