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 11:12]
Hypathie [Détail pour les protocole TCP et UDP]
doc:reseau:iptables-pare-feu-pour-une-passerelle [16/11/2014 07:35]
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.//​)
Ligne 355: Ligne 353:
 iptables -P FORWARD DROP iptables -P FORWARD DROP
 ... ...
-iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp -m multiport\ + 
- --dports 80,443,8000 -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
-iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0+ tcp -m state --state NEW,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 +/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 
-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 +/sbin/iptables -t filter -A FORWARD ​-p icmp -j ACCEPT
-... +
-iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE+
 </​code>​ </​code>​
-<​note>​ +<​note ​tip
-Ou sans suivi de connexion :\\ +**__Quelques exlications :__** 
 + 
 +  * Sans suivi de connexion :
  
 iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT\\ ​ iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT\\ ​
-iptables -A FORWARD -o eth1 -i 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 453: Ligne 462:
 #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 tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT+ -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\ 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 INPUT -p icmp -i eth0 -m conntrack\ iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\
Ligne 627: Ligne 634:
 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 666:
  ​--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) ====
 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.\\ ​
-D'​abord pour ICMP qu'on ne laisse plus massivement entrer et sortir (table FILTER à DROP pour INPUT et OUTPUT, en plus de FORWARD).\\ ​**Attention l'​ordre des règles pour IMCP sur INPUT, OUTPUT et FORWARD, comptes ici**.+D'​abord pour ICMP qu'on ne laisse plus massivement entrer et sortir (table FILTER à DROP pour INPUT et OUTPUT, en plus de FORWARD).\\ ​ 
 +<​note>​ 
 +Attention l'​ordre des règles pour IMCP sur INPUT, OUTPUT et FORWARD, comptes ici. 
 +</​note>​
  
-On conserve ce qu'on a fait précédemment en ajoutant les commandes du [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|script pour un client du LAN]] mais en tenant compte du fait qu'il y a cette fois deux interfaces réseau.+On conserve ce qu'on a fait précédemment en ajoutant ​simplement ​les commandes du [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|script pour un client du LAN]] mais en tenant compte du fait qu'il y a cette fois deux interfaces réseau.
  
 <code root> <code root>
Ligne 692: Ligne 705:
 # 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 914: Ligne 927:
 </​code>​ </​code>​
  
-====Le script de la passerelle ==== +=====Le script de la passerelle ​===== 
-Tenons compte de ces rappels, pour ajouter une connexion FTP et SSH loggées, et puisqu'​on y est un petit filtrage supplémentaire au niveau des Flags TCP.+Tenons compte de ces rappels, pour ajouter ​à tout ce qu'on a fait jusqu'​à présent, ​une connexion FTP et SSH loggées, et puisqu'​on y est un petit filtrage supplémentaire au niveau des Flags TCP. 
 + 
 +On ajoute au besoin les règles pour un serveur d'​impression (cups ; port 631) ;\\  
 +et de même, si l'on veut (commenter/​décommenter),​ les règles NAT pour un proxy transparent pour le sous-réseau 162.168.1.0/​24.\\  
 +Pour plus de détail sur l'​installation d'un proxy transparent voir [[utilisateurs:​hypathie:​tutos:​proxy-transparent]]. 
  
 <code bash firewall_gateway.sh>​ <code bash firewall_gateway.sh>​
Ligne 934: Ligne 952:
 # Author: hypathie <​hypathie@debian-facile>​ # Author: hypathie <​hypathie@debian-facile>​
 # #
-##Set up init.d ​script+##Set up /etc/init.d/​firewall_gateway.sh
 case "​$1"​ in case "​$1"​ in
 '​start'​) '​start'​)
-/​sbin/​iptables-restore < /​etc/​config_parefeu 
-RETVAL=$? 
-;; 
-'​stop'​) 
-/​sbin/​iptables-save > /​etc/​config_parefeu 
-RETVAL=$? 
-;; 
-'​clean'​) 
- 
 /​sbin/​iptables -F /​sbin/​iptables -F
 /​sbin/​iptables -X /​sbin/​iptables -X
-/​sbin/​iptables -t nat -F 
-/​sbin/​iptables -t nat -X 
-/​sbin/​iptables -P INPUT ACCEPT 
-/​sbin/​iptables -P FORWARD ACCEPT 
-/​sbin/​iptables -P OUTPUT ACCEPT 
 /​sbin/​iptables -P INPUT DROP /​sbin/​iptables -P INPUT DROP
 /​sbin/​iptables -P OUTPUT DROP /​sbin/​iptables -P OUTPUT DROP
Ligne 961: Ligne 965:
 /​sbin/​iptables -t nat -P OUTPUT ACCEPT /​sbin/​iptables -t nat -P OUTPUT ACCEPT
 /​sbin/​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE /​sbin/​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +##commenter / décommenter et adapter les quatre lignes suivantes pour ne pas mettre en place / mettre en place 
 +##un proxy transparent (squid)
 +/​sbin/​iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.1:​3129
 +/​sbin/​iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3129
 +/​sbin/​iptables -t mangle -A PREROUTING -p tcp --dport 3128 -j DROP
 +/​sbin/​iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP
 +#accepter l'​interface lo
 /​sbin/​iptables -A INPUT -i lo -j ACCEPT /​sbin/​iptables -A INPUT -i lo -j ACCEPT
 /​sbin/​iptables -A OUTPUT -o lo -j ACCEPT /​sbin/​iptables -A OUTPUT -o lo -j ACCEPT
 +#accepter le sous-réseau
 /​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
-/​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 +#permettre le passage entre les deux interfaces eternet de la passerelle 
-/​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 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 -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
 /​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
 /​sbin/​iptables -t filter -A OUTPUT -p icmp -o eth0 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -p icmp -o eth0 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT
 /​sbin/​iptables -t filter -A INPUT -p icmp -i eth1 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A INPUT -p icmp -i eth1 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT
 /​sbin/​iptables -t filter -A OUTPUT -p icmp -o eth1 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -p icmp -o eth1 -m conntrack --ctstate ESTABLISHED,​RELATED -j ACCEPT
-/​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 INPUT -i eth0 -p udp -m udp --sport 53 -m state --state RELATED,​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 INPUT -i eth1 -p udp -m udp --sport 53 -m state --state RELATED,​ESTABLISHED -j ACCEPT 
-/​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 INPUT -i eth0 -p tcp -m multiport --sports 80,443,8000 -m state --state RELATED,​ESTABLISHED -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 
-#Si le serveur cups est branché sur un ordinateur du réseau 192.168.0.0/​24,​ par exemple sur 192.168.0.22 
-#​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 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 -p icmp --icmp-type 0 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
 /​sbin/​iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT /​sbin/​iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
Ligne 1020: Ligne 1021:
 /​sbin/​iptables -A syn_flood -j LOG --log-prefix '​[SYN_FLOOD] : ' /​sbin/​iptables -A syn_flood -j LOG --log-prefix '​[SYN_FLOOD] : '
 /​sbin/​iptables -A syn_flood -j DROP /​sbin/​iptables -A syn_flood -j DROP
 +#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 INPUT -i eth0 -p udp -m udp --sport 53 -m state --state RELATED,​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 INPUT -i eth1 -p udp -m udp --sport 53 -m state --state RELATED,​ESTABLISHED -j ACCEPT
 +#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 INPUT -i eth0 -p tcp -m multiport --sports 80,443,8000 -m state --state RELATED,​ESTABLISHED -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
 +#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 :
 +/​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 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
 +#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
 /​sbin/​iptables -I INPUT -i eth0 -s 192.168.0.0/​24 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j InComingSSH /​sbin/​iptables -I INPUT -i eth0 -s 192.168.0.0/​24 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j InComingSSH
Ligne 1027: Ligne 1043:
 /​sbin/​iptables -t filter -A OUTPUT -o eth1 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -o eth1 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j ACCEPT
 /​sbin/​iptables -t filter -A INPUT -i eth1 -s 192.168.0.0/​24 -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A INPUT -i eth1 -s 192.168.0.0/​24 -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
 +#créer une chaîne utilisateur pour les connexions ftp, et les accepter
 /​sbin/​iptables -N ftp_in_accept /​sbin/​iptables -N ftp_in_accept
 /​sbin/​iptables -I INPUT -i eth0 -p tcp --sport 21 -m state --state ESTABLISHED,​RELATED -j ftp_in_accept /​sbin/​iptables -I INPUT -i eth0 -p tcp --sport 21 -m state --state ESTABLISHED,​RELATED -j ftp_in_accept
Ligne 1035: Ligne 1052:
 /​sbin/​iptables -A INPUT -i eth1 -p tcp --sport 20 -m state --state ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -A INPUT -i eth1 -p tcp --sport 20 -m state --state ESTABLISHED,​RELATED -j ACCEPT
 /​sbin/​iptables -I INPUT -i eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT /​sbin/​iptables -I INPUT -i eth1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
 +echo "set up firewall_gateway.sh .........>​ [OK]"​ 
 +/​sbin/​iptables-save > /​etc/​firewall_gateway.sh 
 +echo "​iptables-save > /​etc/​firewall_gateway.sh .........>​ [OK]"​ 
 +RETVAL=$? 
 +;; 
 +'​stop'​) 
 +# Supprime toutes les règles de la tables FILTER et pose la police ACCEPT pour toutes les chaînes 
 +/​sbin/​iptables -t filter -F 
 +/​sbin/​iptables -t filter -X 
 +/​sbin/​iptables -t filter -P INPUT ACCEPT 
 +/​sbin/​iptables -t filter -P OUTPUT ACCEPT 
 +/​sbin/​iptables -t filter -P FORWARD ACCEPT 
 +echo "​FILTER [ALL firewall_gateway.sh'​s rules .... [FLUSH] ..... POLICY ......> [ACCEPT]"​ 
 +echo "NAT ...POSTROUTING ... MASQUERADE .... [STILL SET UP]"
 RETVAL=$? RETVAL=$?
 ;; ;;
 '​restart'​) '​restart'​)
-$0 stop && ​$0 start+#​ré-installe le pare-feu complet, y compris NAT (masquerade),​ DNAT (port 631) 
 +/​sbin/​iptables-restore < /​etc/​firewall_gateway.sh 
 +echo "/​etc/​firewall-client ........>​ [OK]"​ 
 +echo "NAT (masquerade) ........>​ [OK]"​ 
 +echo "DNAT (port 631) ........>​ [OK]"​ 
 +RETVAL=$
 +;; 
 +'​status'​) 
 +/​sbin/​iptables -L -n --line-numbers 
 +/​sbin/​iptables -t nat -L -n --line-numbers 
 +RETVAL=$
 +;; 
 +'​flush'​) 
 +#supprime toutes les règles de toutes les tables ; accepte tout 
 +/​sbin/​iptables -t filter -F 
 +/​sbin/​iptables -t nat -F 
 +/​sbin/​iptables -t mangle -F 
 +/​sbin/​iptables -t raw -F 
 +/​sbin/​iptables -t filter -P INPUT ACCEPT 
 +/​sbin/​iptables -t filter -P OUTPUT ACCEPT 
 +/​sbin/​iptables -t filter -P FORWARD ACCEPT 
 +echo "​FILTER [ALL RULES .......> [FLUSH]"​ 
 +echo "​WARNING ........ ALL POLICY ......> [ACCEPT]"​ 
 +RETVAL=$? 
 +;; 
 +'​deletnat'​) 
 +/​sbin/​iptables -t nat -F 
 +/​sbin/​iptables -t nat -X 
 +/​sbin/​iptables -t mangle -F 
 +/​sbin/​iptables -t nat -P PREROUTING ACCEPT 
 +/​sbin/​iptables -t nat -P POSTROUTING ACCEPT 
 +/​sbin/​iptables -t nat -P OUTPUT ACCEPT 
 +/​sbin/​iptables -t mangle -P PREROUTING ACCEPT 
 +/​sbin/​iptables -t mangle -P OUTPUT ACCEPT 
 +/​sbin/​iptables -t mangle -P POSTROUTING ACCEPT 
 +  
 +echo "​NAT/​MANGLE [ALL RULES .... [FLUSH] ..... POLICY ......> [ACCEPT]"​ 
 +echo "INFO ......> [NAT/DNAT is OFF]"​ 
 +echo "INFO ......> [FILTER STILL SET UP]"
 RETVAL=$? RETVAL=$?
 ;; ;;
 *) *)
-echo "​Usage:​ $0 { start | stop | restart | clean}"+echo "​Usage:​ $0 { start | stop | restart | status | flush | deletnat ​}"
 RETVAL=1 RETVAL=1
 ;; ;;
Ligne 1049: Ligne 1117:
 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 1107: Ligne 1190:
 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 1116: Ligne 1197:
  
  
- -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 1145: Ligne 1228:
 </​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