Outils pour utilisateurs

Outils du site


informatique:linux:iptables

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
informatique:linux:iptables [2009/07/01 06:53]
benoit
informatique:linux:iptables [2018/09/06 19:10] (Version actuelle)
Ligne 24: Ligne 24:
   iptables -A INPUT -s 192.168.0.1 -i eth1 -p udp --dport 32000:32900 -j ACCEPT   iptables -A INPUT -s 192.168.0.1 -i eth1 -p udp --dport 32000:32900 -j ACCEPT
  
 +Pour insérer une règle en première position, utiliser **-I INPUT 1** : 
 +  iptables -I INPUT 1 -s 192.168.0.2 -i eth1 -p udp --dport 32000:32900 -j ACCEPT
 + 
 +  ​
 Pour lister les règles actives : Pour lister les règles actives :
   iptables -L -v   iptables -L -v
Ligne 83: Ligne 87:
   iptables -t filter -A FORWARD -i eth0 -o eth1 -j ACCEPT   iptables -t filter -A FORWARD -i eth0 -o eth1 -j ACCEPT
   iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT   iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT
 +
 +
 +
  
 ==== Firewall d'​entreprise ==== ==== Firewall d'​entreprise ====
Ligne 92: Ligne 99:
   # VARIABLES   # VARIABLES
   INTERNET_NIC=eth0   INTERNET_NIC=eth0
-  ​LOCAL_NIC=eth1+  ​LOCAL_NIC1=eth1 
 +  LOCAL_NIC2=eth2
   ​   ​
   # ACTIVATION DU TRANSFERT DE PAQUET POUR TCP/IP   # ACTIVATION DU TRANSFERT DE PAQUET POUR TCP/IP
Ligne 109: Ligne 117:
   iptables -P FORWARD DROP   iptables -P FORWARD DROP
   iptables -P OUTPUT ACCEPT   iptables -P OUTPUT ACCEPT
 +  ​
 +  iptables -A INPUT -i lo -j ACCEPT
 +  iptables -A FORWARD -i lo -j ACCEPT
   ​   ​
   ##################​   ##################​
   # REGLES LOCALES #   # REGLES LOCALES #
   ##################​   ##################​
-  # OUVERTURE DU PORT 22 SUR LE FIREWALL ​DEPUIS LE RESEAU LOCAL +  ####### OUVERTURES ​SUR LE FIREWALL ​LUI MEME 
-  iptables -A INPUT -i ${LOCAL_NIC} -p tcp --dport 22 -j ACCEPT+  ​#iptables -A INPUT -i ${LOCAL_NIC1} -p tcp --dport 22 -j ACCEPT 
 +  iptables -A INPUT -i ${INTERNET_NIC} -p tcp --dport 22 -j ACCEPT 
 +  iptables -A INPUT -i ${INTERNET_NIC} -p tcp --dport 10000 -j ACCEPT
   ​   ​
-  # ACCEPTE L'​OUVERTURE DE PORT DYNAMIQUE POUR LES CONNEXIONS ETABLIES+  ​####### ACCEPTE L'​OUVERTURE DE PORT DYNAMIQUE POUR LES CONNEXIONS ETABLIES
   iptables -A INPUT -m state --state ESTABLISHED,​RELATED -j ACCEPT   iptables -A INPUT -m state --state ESTABLISHED,​RELATED -j ACCEPT
   ​   ​
Ligne 123: Ligne 136:
   #################################​   #################################​
   ​   ​
-  # Bien respecter l'​ordre des regles+  # DANS CET EXEMPLE NOUS AVONS 2 RESEAUX LOCAUX, LOCAL ET DMZ ET UN LIEN VERS INTERNET 
 +  #  - DMZ (LOCAL_NIC1) ​       = 10.0.0.0/​24 
 +  #  - LOCAL (LOCAL_NIC2) ​     = 10.1.0.0/​24 
 +  #  - INTERNET (INTERNET_NIC) = IP_DU_PROVIDER
   ​   ​
-  # OUVERTURE DU PORT 22 VERS LA MACHINE 10.0.0.1 +  ####### OUVERTURES DE LOCAL VERS INTERNET 
-  iptables -A FORWARD -i ${INTERNET_NIC} -o ${LOCAL_NIC} -p tcp --dport 22 -d 10.0.0.1 -j ACCEPT+  ​#iptables -A FORWARD -i ${LOCAL_NIC1} -o ${INTERNET_NIC} -10.0.0.1 -j ACCEPT
   ​   ​
-  # TRANSLATION ​DE LOCALHOST:​2222 vers 10.0.0.1:22 +  ####### OUVERTURES ​DE LOCAL VERS DMZ 
-  iptables ​-t nat -A PREROUTING ​-i ${INTERNET_NIC} -p tcp --dport ​2222 -j DNAT --to 10.0.0.1:22+  iptables -A FORWARD ​-i ${LOCAL_NIC2} -o ${LOCAL_NIC1} -p tcp --dport ​22 -10.0.0.1 ​-j ACCEPT
   ​   ​
-  # MASQUAGE DES ADRESSES IP PRIVE POUR SORTIR SUR LE RESEAU ​INTERNET +  ####### OUVERTURES DE LOCAL VERS INTERNET 
-  iptables ​-t nat -A POSTROUTING ​-o ${INTERNET_NIC} -j MASQUERADE+  iptables -A FORWARD -i ${LOCAL_NIC2} ​-o ${INTERNET_NIC} ​-s 10.1.0.1 ​-j ACCEPT
   ​   ​
-  # ACCEPTE L'​OUVERTURE DE PORT DYNAMIQUE POUR LES CONNEXIONS ETABLIES+  ​####### OUVERTURES DE INTERNET VERS DMZ 
 +  iptables -A FORWARD -i ${INTERNET_NIC} -o ${LOCAL_NIC1} -p tcp --dport 22 -d 10.0.0.1 -j ACCEPT 
 +  iptables -A FORWARD -i ${INTERNET_NIC} -o ${LOCAL_NIC1} -p tcp --dport 80 -d 10.0.0.1 -j ACCEPT 
 +  iptables -A FORWARD -i ${INTERNET_NIC} -o ${LOCAL_NIC1} -p tcp --dport 143 -d 10.0.0.1 -j ACCEPT 
 +  iptables -A FORWARD -i ${INTERNET_NIC} -o ${LOCAL_NIC1} -p tcp --dport 25 -d 10.0.0.1 -j ACCEPT 
 +   
 +  ###### TRANSLATIONS DE PORT DE INTERNET VERS DMZ 
 +  iptables -t nat -A PREROUTING -i ${INTERNET_NIC} -p tcp --dport 2222 -j DNAT --to 10.0.0.1:​22 
 +  iptables -t nat -A PREROUTING -i ${INTERNET_NIC} -p tcp --dport 80 -j DNAT --to 10.0.0.1:​80 
 +  iptables -t nat -A PREROUTING -i ${INTERNET_NIC} -p tcp --dport 143 -j DNAT --to 10.0.0.1:​143 
 +  iptables -t nat -A PREROUTING -i ${INTERNET_NIC} -p tcp --dport 25 -j DNAT --to 10.0.0.1:​25 
 +   
 +  ###### ACCEPTE L'​OUVERTURE DE PORT DYNAMIQUE POUR LES CONNEXIONS ETABLIES
   iptables -A FORWARD -m state --state ESTABLISHED,​RELATED -j ACCEPT   iptables -A FORWARD -m state --state ESTABLISHED,​RELATED -j ACCEPT
   ​   ​
-  # HOTES DU RESEAU LOCAL AUTORISES A SORTIR SUR INTERNET +  ###### MASQUAGE DES ADRESSES IP PRIVE POUR SORTIR SUR LE RESEAU ​INTERNET 
-  iptables -A FORWARD ​-${LOCAL_NIC} -o ${INTERNET_NIC} -s 10.0.0.-j ACCEPT+  iptables ​-t nat -A POSTROUTING ​-${INTERNET_NIC-s 10.0.0.0/24 -j MASQUERADE 
 +  iptables -t nat -A POSTROUTING ​-o ${INTERNET_NIC} -s 10.1.0.0/24 -j MASQUERADE 
 + 
 +==== Grouper les règles en créant des chains ==== 
 + 
 +Pour organiser les règles IPTABLES nous pouvons les regrouperOn insère un ensemble de règles dans des groupes et on les rattache à une des principales chaine de règle : INPUT, FORWARD ou DROP. 
 + 
 +Pour créer un groupe de règle nommé MY-FILTER-01 : 
 + 
 +  iptables -N MY-FILTER-01 
 + 
 +Pour ajouter ajouter une règle à ce groupe : 
 + 
 +  iptables -A MY-FILTER-01 -d 8.8.8.8 ​-j DROP 
 + 
 +Pour le moment, la règle que l'on vient d'​ajouter n'est pas appliquée 
 + 
 +Nous ajoutons maintenant notre groupe de règle MY-FILTER-01 à la chaine OUTPUT : 
 + 
 +  iptables -A OUTPUT -j MY-FILTER-01 
 + 
 +Notre règle est maintenant appliquée. 
 + 
 +Nous ajoutons maintenant une règle supplémentaire à notre groupe de règles MY-FILTER-01 : 
 + 
 +  iptables -A MY-FILTER-01 -d 8.8.4.4 -j DROP 
 + 
 +Celle nouvelle règle est directement active. 
 + 
 +Listons les règles : 
 + 
 +  iptables -L -n -v 
 + 
 +Nous lisons que dans la **Chain OUTPUT** est définie une cible **MY-FILTER-01**. De ce fait toutes les règles se trouvant dans la **Chain MY-FILTER-01** seront appliqués pour les flux sortants (**OUTPUT**). 
 + 
 +  Chain INPUT (policy ​ACCEPT ​111 packets, 8420 bytes) 
 +   pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination 
 +   
 +  Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) 
 +   pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination 
 +   
 +  Chain OUTPUT (policy ACCEPT 83 packets, 11212 bytes) 
 +   pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination 
 +     83 11212 MY-FILTER-01 ​ all  --  *      *       ​0.0.0.0/​0 ​           0.0.0.0/0 
 +   
 +  Chain MY-FILTER-01 (1 references) 
 +   pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination 
 +      2   168 DROP       ​all ​ --  *      *       ​0.0.0.0/​0 ​           8.8.8.8 
 +      2   168 DROP       ​all ​ --  *      *       ​0.0.0.0/​0 ​           8.8.4.4 
 + 
 + 
 +Comme nous avons regroupé les deux règles dans le même groupe, nous pouvons les désactiver d'un coup en retirant le groupe de règle MY-FILTER-01 de la chaine OUTPUT : 
 +  iptables -D OUTPUT -j MY-FILTER-01 
 +  ​
  
informatique/linux/iptables.1246424004.txt.gz · Dernière modification: 2018/09/06 18:59 (modification externe)