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 [07/11/2014 16:44]
Hypathie [Le script de la passerelle]
doc:reseau:iptables-pare-feu-pour-une-passerelle [16/11/2014 07:42]
Hypathie [Les règles du pare-feu pas à pas]
Ligne 293: Ligne 293:
    
 <code root> <code root>
-iptables -P FORWARD DROP 
 iptables -F iptables -F
 iptables -X iptables -X
Ligne 344: Ligne 343:
   - 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 -X 
 +iptables -t nat -F 
 +iptables -t nat -X 
 +iptables -P INPUT ACCEPT 
 +iptables -P FORWARD ACCEPT 
 +iptables -P OUTPUT ACCEPT 
 + 
 +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
 iptables -P FORWARD DROP iptables -P FORWARD DROP
-... + 
-iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp -m multiport\ +iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/​0 ​-p
- --dports 80,443,8000 -j ACCEPT + tcp -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+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 
 iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT
-... 
-iptables -t filter -A INPUT -p icmp -i eth0 -m state --state ESTABLISHED,​RELATED -j ACCEPT 
-iptables -t filter -A OUTPUT -p icmp -m state --state ESTABLISHED,​RELATED -j ACCEPT 
-... 
-iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
 </​code>​ </​code>​
-<​note>​ 
-Ou sans suivi de connexion :\\  
  
-iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT\\  +<note tip> 
-iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT+**__Quelques exlications :__** 
 + 
 +  * __Sans suivi de connexion__ : 
 + 
 +  ​iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT 
 +  iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT 
 + 
 +> On autorise tout passage de eth1 à eth0 et de eth0 à eth1 
 + 
 +  * __Avec suivi de connexion__ :  
 + 
 +  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 tout passage avec suivi de connexion de eth1 à eth0 et inversement,​ en précisant les sous-réseaux.
 </​note>​ </​note>​
   * On vérifie si le ping fonctionne de la machine A vers la machine B :   * On vérifie si le ping fonctionne de la machine A vers la machine B :
Ligne 452: Ligne 468:
 #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+/sbin/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 -p tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT+ tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
  
-iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0+/sbin/iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p
- -d 192.168.1.0/​24 -p tcp -m state --state ESTABLISHED,​RELATED ​-j ACCEPT + tcp -m state --state ESTABLISHED,​RELATED -j ACCEPT
- +
-iptables -t filter -A FORWARD -p icmp -j ACCEPT+
  
 iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\ iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\
Ligne 627: Ligne 641:
 iptables -P FORWARD DROP iptables -P FORWARD DROP
  
-iptables -A FORWARD -i eth1 -o eth0 -d 192.168.1.0/​24 -s 0.0.0.0/0 -j ACCEPT+#On remets "​masquerade"​ car on a flushé: 
 +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
 + 
 +iptables -A FORWARD -i eth1 -o eth0 -d 192.168.1.0/​24 -s 0.0.0.0/0
 + -m state --state NEW,​ESTABLISHED,​RELATED ​-j ACCEPT 
 iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0\ iptables -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  -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED -j ACCEPT
Ligne 654: Ligne 673:
  ​--icmp-type echo-reply -j DROP  ​--icmp-type echo-reply -j DROP
  
-#On remets "​masquerade"​ car on a flushé: 
-iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
 </​code>​ </​code>​
 ====DROP sur INPUT et OUTPUT (chaîne filter) ==== ====DROP sur INPUT et OUTPUT (chaîne filter) ====
Ligne 695: Ligne 712:
 # On garde nos règles concernant le DROP sur FORWARD (FILTER) # On garde nos règles concernant le DROP sur FORWARD (FILTER)
 # et on oublie pas eth1 ! # et on oublie pas eth1 !
-iptables -t filter -A FORWARD -i eth1 -o eth0 -192.168.1.0/​24+iptables -t filter -A FORWARD -i eth1 -o eth0 -192.168.1.0/​24 -0.0.0.0/0
- -0.0.0.0/​0 ​-p tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT+ -m state --state NEW,​ESTABLISHED,​RELATED -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 tcp -m state --state ESTABLISHED,​RELATED -j ACCEPT + -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED -j ACCEPT 
- +
 iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT
    
Ligne 968: Ligne 985:
 /​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 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 ​-p tcp -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 -m state --state NEW,​ESTABLISHED,​RELATED -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,​RELATED -j ACCEPT+/​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
 /​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
Ligne 1107: Ligne 1124:
 exit $RETVAL exit $RETVAL
 </​code>​ </​code>​
 +
 +<note tip>
 +**Pour autoriser la plateforme de jeux STEAM**
 +
 +<code root>
 +/​sbin/​iptables -A INPUT -i eth1 -p udp -m udp --sport 27000 -m\
 + state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT
 +/​sbin/​iptables -A INPUT -i eth0 -p udp -m udp --sport 27000 -m\
 + state --state RELATED,​ESTABLISHED -j ACCEPT
 +</​code>​
 +
 +Merci à robert2a pour cet ajout  8-)
 +
 +[[http://​debian-facile.org/​viewtopic.php?​pid=102028#​p102028|Voir ce fil]]
 +</​note>​
  
   * Pour l'​installation du script   * Pour l'​installation du script
Ligne 1165: Ligne 1197:
 On laisse le terminal (de la passerelle) en état d'​attente,​ et on passe sur le terminal du client B. On laisse le terminal (de la passerelle) en état d'​attente,​ et on passe sur le terminal du client B.
  
-  * Côté client DHCP (ordinateur B) +  * Côté ​**client** DHCP (ordinateur B) on annule ​le bail DHCP :
- +
- -On commence par annuler ​le bail DHCP.\\ Comme ceci :+
  
 <code root> <code root>
Ligne 1174: Ligne 1204:
  
  
- -Il n'y a plus d'IP :+>Il n'y a plus d'IP : 
 <code root>​eth0 ​     Link encap:​Ethernet ​ HWaddr 00:​1e:​0b:​67:​9b:​b7  ​ <code root>​eth0 ​     Link encap:​Ethernet ​ HWaddr 00:​1e:​0b:​67:​9b:​b7  ​
           adr inet6: xxxxxxxxxxxx Scope:​Lien</​code>​           adr inet6: xxxxxxxxxxxx Scope:​Lien</​code>​
  
- ​- ​On lance une requête DHCP+  * On lance une requête DHCP
 <code root> <code root>
 dhclient eth0 dhclient eth0
 </​code>​ </​code>​
  
-Observez ce que nous dit "​tcpdump" ​(dans le terminal de la passerelle) au lancemant de la commande\\ ''​dhclient eth0''​ sur l'​ordinateur B (client DHCP) :+  * Côté serveur DHCP : 
 +Observez ce que nous dit "​tcpdump" ​ :
  
 <​code>​ <​code>​
Ligne 1203: Ligne 1235:
 </​code>​ </​code>​
  
-Et en plus l'IP de l'​ordinateur ​a bien changé !+  * Et  l'IP de l'​ordinateur ​client DHCP a bien changé !
  
 <​code>​INET_IP=`ifconfig $INET_IFACE | grep inet | \ <​code>​INET_IP=`ifconfig $INET_IFACE | grep inet | \
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