Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
712 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  [résolu RTFM] Problème de NAT iptables

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu RTFM] Problème de NAT iptables

n°1019472
Plam
:o
Posté le 08-03-2008 à 12:58:26  profilanswer
 

Bonjour,
 
Depuis deux jours, impossible d'accéder depuis l'extérieur, à des machines derrière mon routeur (PC sous Debian Lenny).
Pourtant, je n'ai pas le souvenir d'avoir changé quelque chose de particulier dans mon fichier iptables.
192.168.0.1 est l'adresse du routeur.
 
Exemple, je veux rendre accessible 192.168.0.2 en ssh de l'extérieur. Logiquement, c'est cette règle :
 

Citation :

#ssh bravo
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 118 -j DNAT --to-destination 192.168.0.2:22
iptables -A FORWARD -p tcp -i eth1 --dport 118 -j ACCEPT


 
D'ailleurs, iptables -L me dit bien que la règle existe :
 

Citation :

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:118


 
 
Sauf, que si je regarde iptraf sur mon routeur, et sur l'interface connecté directement sur le net, quand j'essai de me connecter j'ai :
 

Citation :

hn-xx-xx.brookes.ac.uk:59699                =       2       120 S---   eth1  
xxxx-x-xx-xxx-xxx-xx.fbx.proxad:118        =       0         0  ----   eth1


 
Autrement dit, ça passe pas ! Un nmap quant à lui, m'indique un état filtered.  
 
Voici le contenu entier de mon fichier iptables :

Citation :

#!/bin/sh
start() {
 
# Mise en place du firewall
#vidage des chaines
iptables -F
#destruction des chaines personnelles
iptables -X
 
# strategie par defaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
 
#init des tables NAT et MANGLE (pas forcement necessaire)
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
 
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
 
 
# Acceptation de toutes les connexions en local (un process avec l'autre)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
 
 
# ---------------------------------------
# PORT FORWARDING:
 
#VNCviewer
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5900 -j DNAT --to-destination 192.168.0.5:5900
iptables -A FORWARD -p tcp -i eth1 --dport 5900 -j ACCEPT
 
#ssh bravo
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 118 -j DNAT --to-destination 192.168.0.2:22
iptables -A FORWARD -p tcp -i eth1 --dport 118 -j ACCEPT
 
#ssh echo
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 119 -j DNAT --to-destination 192.168.0.5:119
iptables -A FORWARD -p tcp -i eth1 --dport 119 -j ACCEPT
 
# -------------------------------------------------------------------------
# -------------------------------------------------------------------------
# regles du firewall pour cette machine
 
#ssh
iptables -A INPUT -p tcp -i eth1 --dport 22 -j ACCEPT
#web
iptables -A INPUT -p tcp -i eth1 --dport 80 -j ACCEPT
#rtsp vlc
iptables -A INPUT -p udp -i eth1 --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 8080 -j ACCEPT
 
 
#vlc exterieur
iptables -A INPUT -p udp -i eth1 --dport 8081 -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 8081 -j ACCEPT
 
#blabla
iptables -A INPUT -p tcp --destination-port 49155:49180 -j ACCEPT
iptables -A INPUT -p udp --destination-port 49155:49180 -j ACCEPT
#?
iptables -A INPUT -p tcp -i eth1 --dport 554 -j ACCEPT
 
# --------------------------------------------------------------------------------
#creation d'une nouvelle regle
iptables -N reglesortie
 
#definition de la regle : accepter les nouvelles connexions ne venant pas de l'interface internet
# et accepter toutes les connexions etablies et reliees (ex: une demande de page HTML provoque l'ouverture
# d'une connexion reliee pour acheminer cette page vers l'ordinateur)
 
iptables -A reglesortie -m state --state NEW -i! eth1 -j ACCEPT
iptables -A reglesortie -m state --state ESTABLISHED,RELATED -j ACCEPT
 
#application de la regle au partage de connexion
iptables -A INPUT -j reglesortie
iptables -A FORWARD -j reglesortie
 
#pour eviter intrusions sur le ssh
iptables -I INPUT -p tcp --dport 22 -i eth1 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth1 -m state --state NEW -m recent --update --seconds 300 --hitcount 8 -j DROP
 
# QOS : pour prio les flux, on va inserer directement dans le champs TOS (donc on MANGLE)
iptables -A PREROUTING -t mangle -p tcp --sport ssh -i eth1 -j TOS --set-tos Minimize-Delay
 
 
# --------------------------------------------------------------------------------
# activation du forwarding dans le noyau
# mise en place du partage de connexion sur le reseau local
 
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source **.**.**.**
 
}
 
stop() {
        echo 0 >/proc/sys/net/ipv4/ip_forward
}
 
case "$1" in
 start)
        start
        ;;
 
stop)
        stop
        ;;
restart)
        stop && start
        ;;
*)
        echo "Usage $0 {start|stop|restart}"
        exit 1
esac
 
exit 0


 
Je ne comprend pas pourquoi ça bloque. Bien entendu, la machine 192.168.0.2 est bien accessible en ssh depuis 192.168.0.1, une fois que j'y suis connecté.
Or, j'aurai vraiment besoin de rendre accessible directement le ssh de 192.168.0.2 :/
 
Merci pour votre aide, parce que là je capte pas pourquoi ça merde (et ça fait un bout de temps que j'utilise Iptables, j'ai jamais eu ce souci)


Message édité par Plam le 09-03-2008 à 00:22:46

---------------
Ossifié, comme fusionné dans son cockpit
mood
Publicité
Posté le 08-03-2008 à 12:58:26  profilanswer
 

n°1019474
Plam
:o
Posté le 08-03-2008 à 13:05:07  profilanswer
 

Je rajoute que c'est la même chose en partant d'une autre ip externe (on sait jamais).


---------------
Ossifié, comme fusionné dans son cockpit
n°1019516
Plam
:o
Posté le 08-03-2008 à 15:33:32  profilanswer
 

Bon, je comprend vraiment pas :(


---------------
Ossifié, comme fusionné dans son cockpit
n°1019525
Plam
:o
Posté le 08-03-2008 à 16:02:09  profilanswer
 

Bon ça vient bien du nat, par exemple, si au lieu de :
 

Citation :

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 118 -j DNAT --to-destination 192.168.0.2:22
iptables -A FORWARD -p tcp -i eth1 --dport 118 -j ACCEPT


 
Je met :

Citation :

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 118 -j DNAT --to-destination 192.168.0.2
iptables -A FORWARD -p tcp -i eth1 --dport 118 -j ACCEPT


 
Et bien là le port est bien ouvert. Mais je voudrai router sur le port 22 sur 192.168.0.2...
 


---------------
Ossifié, comme fusionné dans son cockpit
n°1019625
Profil sup​primé
Posté le 08-03-2008 à 22:44:58  answer
 

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 118 -j DNAT --to-destination 192.168.0.2:22
iptables -A FORWARD -i eth1 -p tcp --dport 22 -j ACCEPT

 

[:yveleu]


Message édité par Profil supprimé le 08-03-2008 à 22:49:14
n°1019637
Plam
:o
Posté le 09-03-2008 à 00:13:37  profilanswer
 

euh..
Avant de me lancer dans cette modif, j'ai un ssh sur le port 22 que je peux pas me permettre de perdre.. (sur le routeur). T'es sur que la règle de la chaine FORWARD va pas foutre le dawa sur le port 22 ? :??:

 

edit: hmm. C'est ok. J'avais mal compris le but de la chaine forward. Merki. La prochaine fois je relirai dans la journée mon précis et concis sur iptables (au lieu de le faire après minuit).


Message édité par Plam le 09-03-2008 à 00:22:12

---------------
Ossifié, comme fusionné dans son cockpit
n°1019645
Profil sup​primé
Posté le 09-03-2008 à 01:28:02  answer
 

http://img120.imageshack.us/img120/8973/iptablesft6.png
 
En fait, quand un paquet arrive depuis l'extérieur vers le port 118, il traverse d'abord la chaine prerouting (où il est dnatté vers host:22).
Au moment où il arrive dans la table forward, le port de destination est déjà 22, c'était ton erreur.
Prends le temps de bien comprendre et mémoriser le schéma, il vaut tous les tutos/exemples du monde ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  [résolu RTFM] Problème de NAT iptables

 

Sujets relatifs
[RESOLU] Questions sur la compilation Kernel sous Ubuntuproblème agent OCS inventory
[APACHE2] inaccessible sur le LAN [RESOLU]Installer une carte pci VT6421 : marche pas ! et probleme de udev
Sauvegarder un filesystem ou un répertoire [RESOLU + exemple ]Probleme disque dur scsi sous SGI
Probleme Profils itinérants Vista sur PDC SambaProbleme lancement pure-ftpd-mysql
[bash] Commande pour supprimer des mots (resolu)problème linux
Plus de sujets relatifs à : [résolu RTFM] Problème de NAT iptables


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR