Je me permets de vous exposer mon problème, avec lequel je suis aux prises depuis plusieurs jours.
Voilà, j'utilise une connexion ADSL via un modem, que je gère avec pppoeconf. La machine en question est également un serveur http et smtp, et elle joue le rôle de routeur pour l'ensemble des machines de mon réseau local. Je pense qu'un schéma serait plus explicite (même si c'est assez simpliste) :
INTERNET-------eth0 (ppp0)----[ iptables ]----eth1-------LAN (10.0.0.0/8)
J'utilise également le script arno-iptables-firewall ( http://freshmeat.net/projects/iptables-firewall/ ) qui me permet de mettre en place facilement une protection correcte, ainsi que du NAT pour mon réseau local.
J'aimerais rediriger le port ssh sur une autre machine de mon réseau. J'utilisait au préalable la commande :
iptables -t nat -A PREROUTING -j DNAT -i ppp0 -p tcp --dport 22 --to-destination 10.0.0.2
iptables -t nat -A POSTROUTING -j MASQUERADE -o eth1 -p tcp --dport 22 -d 10.0.0.2
De la même façon, pour une plage de ports :
iptables -t nat -A PREROUTING -j DNAT -i ppp0 -p tcp --dport 1024:65535 --to-destination 10.0.0.100
iptables -t nat -A POSTROUTING -j MASQUERADE -o eth1 -p tcp --dport 1024:65535 -d 10.0.0.100
Depuis que j'ai installé le script arno-iptables-firewall, j'ai cru pouvoir utiliser les mêmes commandes dans le fichier /etc/arno-iptables-firewall/custom-rules, dans lequel arno-iptables-firewall conseille de placer les commandes supplémentaires, mais aucun succès.
J'ai également essayé de gérer cette redirection via le fichier /etc/arno-iptables-firewall/firewall.conf, dans la rubrique "NAT (Masquerade, SNAT, DNAT) settings" :
NAT_TCP_FORWARD="22>10.0.0.2:22"
Malheureusement, mêmes résultats...
J'ai évidemment ouvert les ports concernés (enfin, le port 22 en l'occurence) dans la configuration de /etc/arno-iptables-firewall/debconf.cfg :
DC_OPEN_TCP="22 25 80"
Le serveur ssh du poste qui effectue le routage n'écoute pas sur le port 22, donc je ne pense pas qu'il pose problème.
Par ailleurs, je n'ai pas compris comment effectuer la redirection d'une plage de ports avec arno-iptables-firewall.
L'arrêt / redémarrage du script se passe correctement, aucune erreur dans les logs.
Je peut fournir le résultat d'iptables -L si cela est nécessaire (mais j'hésite, parce qu'il est assez conséquent...)
En espérant avoir été assez clair (quoi qu'à la relecture, je suis pas convaincu), je vous souhaite une bonne journée, et merci d'avance.
# Probleme de foward
Posté par Olivier (site web personnel) . Évalué à 1.
dans tes 2 premières règles de pre/post routing, tu n'as pas indiqué les règles de FORWARD : Je te conseille de lire ceci : http://olivieraj.free.fr/fr/linux/information/firewall/fw-03(...) (c'est une doc sur Netfilter que j'ai écrit).
De même, pour les règles situées après la section "De la même façon, pour une plage de ports :", je n'en vois pas du tout l'intérêt. C'est même particulièrement dangereux, car (si tu configure les règles de forward associées), tu vas re-diriger tout le flux rentrant vers une seule et même machine de ton LAN (les autres machines vont râler...).
Enfin, est-ce que tu as pensé à utiliser le
echo 1 > /proc/sys/net/ipv4/ip_forward
?
[^] # Re: Probleme de foward
Posté par ozzy . Évalué à 1.
Pour ce qui est du routage, il est bien activé dans /proc/sys/net/ipv4/ip_forward. Les machines du réseau local sortent bien sur Internet.
Je suis en train de lire ta documentation.
Pour ce qui est de mes règles de redirection, je comprends bien qu'elles ne doivent pas être très securisées. Merci de la remarque ;)
J'avoue ne pas m'y connaître trop pour ce qui est du système Windows, et je voulais par la mise en place de la redirection d'une plage de ports permettre à une machine d'effectuer ses "mises à jours Windows". En fait, il ne s'agit pour l'instant que d'un test, qui me permettra de valider l'utilisation d'une application spécifique, qui a la particularité d'utiliser des ports supérieurs à 1024.
J'aimerais toutefois conserver arno-iptables-firewall qui est bien pratique.
Je répondrais à nouveau lorsque j'aurais passé du temps sur ta documentation. :)
[^] # Re: Probleme de foward
Posté par ozzy . Évalué à 1.
Je tatonne, mais je vais essayer de me lancer :
Rediriger le port ssh :
iptables -t filter -A FORWARD -i ppp0 -o eth1 -s 0.0.0.0/0 -p tcp --dport 22 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -o eth1 -s 10.0.0.2 -d 0.0.0.0/0 -p tcp --sport 22 -m state --state RELATED,ESTABLISHED -j ACCEPT
Cela ne fonctionne pas, je dois être dans le faux. (Le problème est que j'utilise ses règles en les appelant via /etc/arno-iptables-firewall/custom-rules)
Je ne veut pas faire d'intégrisme en conservant ce script (plutôt que d'écrire directement un script iptables), mais il permet de reconfigurer rapidement un pare-feu (dpkg-reconfigure arno-iptables-firewall).
Comment puis-je faire pour rediriger une plage de ports vers une machine, pour faire fonctionner les "mises à jours Windows" par exemple?
[^] # Re: Probleme de foward
Posté par ozzy . Évalué à 1.
J'avais trouvé arno-iptables-firewall, qui était vraiment pas mal, surtout entre les mains de personnes qui ne connaissent pas trop iptables.
Quelqu'un a-t-il de l'expérience sur ce script? J'aimerais vraiment pouvoir rediriger des plages de ports, ou équivalent, assez facilement.
Sinon, pour le routage et le NAT, arno-iptables-firewall me convient à la perfection, et un scan de ports en ligne me montre bien tout les ports fermés, seul ceux que j'ai sélectionnés restent ouverts (www, et smtp).
Si vous avez une idée, je suis preneur...
Merci d'avance ;)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.