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 Les deux révisions suivantes
doc:reseau:iptables-pare-feu-pour-une-passerelle [15/10/2014 05:53]
Hypathie [Un pare-feu avancé pour le routeur-debian]
doc:reseau:iptables-pare-feu-pour-une-passerelle [15/10/2014 08:45]
Hypathie [Détail pour les protocole TCP et UDP]
Ligne 1116: Ligne 1116:
 </​code>​ </​code>​
  
-Et voilà, c'est fini !\\ +====Le cas du serveur DHCP ==== 
 +===Aurions-nous oublié une règle pour DHCP ?=== 
 +Rassurez-vous,​ il est inutile d'​ouvrir les ports UDP (67, 68) pour que le serveur DHCP installé sur cette passerelle puisse continué d'​attribuer des IP à notre réseau B. 
 + 
 +  * "Ne pas ajouter de règle aveuglément !" 
 +Voici une autre maxime à laquelle il faudra se tenir. 
 + 
 +On voit dans de nombreux wiki l'​ajout aberrant de cette règle :\\  
 +''​IPTABLES ​ -I INPUT -i <​interface-interne>​ -p udp --dport 67:68 --sport 67:68 -j ACCEPT''​\\ 
 + 
 +Nous ne l'​ajouterons pas !  
 + 
 +  * Dans notre script nous avons mis en effet : 
 +<code root>​iptables -A INPUT -i eth1 -j ACCEPT 
 +iptables -A OUTPUT -o eth1 -j ACCEPT</​code>​ 
 + 
 +Et nous allons à apprendre pour finir, une technique pour n'​ajouter une règle que si elle fait réellement défaut. Il s'agit de l'​outil tcpdump. 
 + 
 +===Utiliser tcpdump=== 
 +  * On l'​installe : 
 +<code root>​apt-get install tcpdump</​code>​ 
 + 
 +  * Puis on lance sur le serveur : 
 +<code root>​tcpdump -i eth1 port 67 or port 68</​code>​ 
 + 
 +Rien ne se passe... et c'est normal !\\  
 + 
 +Pour voir quelque chose, il faut générer du flux depuis le client du réseau 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) : 
 + 
 + -On commence par annuler le bail DHCP.\\ Comme ceci : 
 + 
 +<code root> 
 +dhclient -r eth0 
 +</​code>​ 
 + 
 + 
 + -Il n'y a plus d'IP : 
 +<code root>​eth0 ​     Link encap:​Ethernet ​ HWaddr 00:​1e:​0b:​67:​9b:​b7 ​  
 +          adr inet6: xxxxxxxxxxxx Scope:​Lien</​code>​ 
 + 
 + - On lance une requête DHCP 
 +<code root> 
 +dhclient eth0 
 +</​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) : 
 + 
 +<​code>​ 
 +tcpdump: verbose output suppressed, use -v or -vv for full 
 + ​protocol decode listening on eth1, link-type EN10MB (Ethernet),  
 +capture size 65535 bytes 07:​47:​00.535348  
 +IP 0.0.0.0.bootpc > 255.255.255.255.bootps:​ BOOTP/​DHCP,​ 
 + ​Request from xx:​xx:​xx:​xx:​xx:​xx (oui Unknown), length 300 
 +07:​47:​00.535553 IP debian-serveur.mondomaine.hyp.bootps >  
 +debian-hp.local.bootpc:​ BOOTP/DHCP, Reply, length 302 
 +07:​47:​00.535745 IP 0.0.0.0.bootpc >  
 +255.255.255.255.bootps:​ BOOTP/DHCP, Request from xx:​xx:​xx:​xx:​xx:​xx 
 + (oui Unknown), length 300 
 +07:​47:​00.626390 IP debian-serveur.mondomaine.hyp.bootps 
 + > debian-hp.local.bootpc:​ BOOTP/DHCP, Reply, length 302 
 +^C 
 +4 packets captured 
 +4 packets received by filter 
 +</​code>​ 
 + 
 +- Et en plus l'IP de l'​ordinateur B a bien changé ! 
 + 
 +<​code>​INET_IP=`ifconfig $INET_IFACE | grep inet | \ 
 +cut -d : -f 2 | cut -d ' ' -f 1` && echo $INET_IP</​code>​ 
 +<code root>​192.168.1.4 127.0.0.1</​code>​ 
 + 
 +<note tip> 
 +**__Comme promis un petit rappel sur tcpdump.__**\\  
 + 
 +(//Tout se lance en root//) 
 + 
 +  * Affichage standard: ''​tcpdump''​ 
 +  * Affichage verbeux (verbose): ''​tcpdump -v''​ 
 +  * Interfaces réseaux disponibles pour la capture: ''​tcpdump -D''​ 
 +  * Affichage des adresses numériques((plutôt que des adresses symboliques (DNS))): ''​tcpdump -n''​ 
 +  * Affichage rapide: ''​tcpdump -q''​ 
 +  * Capture du traffic d'une interface particulière:​ ''​tcpdump -i eth1''​ 
 +  * Capture du trafic UDP: ''​tcpdump udp''​ 
 +  * Capture du trafic du port TCP 80: ''​tcpdump port http''​ 
 +  * Capture du trafic à partir d'un fichier stocké dans un fichier: ''​tcpdump -F file_name''​ 
 +  * Envoi du résultat dans un fichier à la place de directement à l'​écran:​\\ ''​tcpdump -w capture.log''​ 
 +  * Lecture d'un fichier de capture: ''​tcpdump -r capture.log''​ 
 +  * Arrêter la capture après n paquets : ''​tcpdump -c n''​((où ''​n''​ est un nombre, 10 par exemple)) 
 + 
 +**Pour aller plus loin : ''​man tcpdump''​**. 
 +</​note>​ 
 + 
 +Et voilà, c'est fini ! Il en va de même pour cups, si vous l'avez installé sur cette passerelle, l'​ordinateur B pourra en profiter avec ce script sans ajouter de règle côté serveur.\\ 
  
 Pour l'​installation du script, suivre la même méthode que pour [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​firewall-clientsh-comme-script-init|firewall-client comme script init]]. ​ ^_^ Pour l'​installation du script, suivre la même méthode que pour [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​firewall-clientsh-comme-script-init|firewall-client comme script init]]. ​ ^_^
  
-La suite concernera le DNAT et SNAT, l'​ajout de quelques règles ​pour certains protocoles laissés ici de côté, en particulier,​ concernant DHCP, cups, et enfin, l'​installation sur cette passerelle d'un proxy transparent pour l'​ensemble su réseau B.+La suite concernera le DNAT et SNAT, pour un serveur web apache installé sur un client du réseau B, et enfin, l'​installation sur cette passerelle d'un proxy transparent pour l'​ensemble su réseau B.
  
  
  
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