Cherche aide redirection de port avec iptable

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Cherche aide redirection de port avec iptable

Messagepar Freeman1979 » 25 Avr 2004 01:43

Je suis sous 98.
Je suis connecté au net via un serveur routeur sous linux
Un autre pc est connecté à ce serveur
J'ai installé BPFTPServer.
Il marche bien en local (quand on passe mon @ IP ; pas de redirection de port)

Le pb c'est pour les connexions au ftp server venant de l'extérieur : comment les rediriger ;
Apres avoir tenté plusieurs facon d'ecrire des iptables que j'ai trouvé sur le net, tjs pas moyen par l'exterieur de se connecter à mon serveur ftp. Je donne l'iptable qui devrait marcher normalement mais
qui ne fait rien (6666 est le port du ftp que je veux utiliser):

iptables -t nat -A PREROUTING -p tcp --dport 6666 -j DNAT --to-destination 192.168.0.25:6666

Est-ce correct et suffisant

Pour information je donne le fichier firewall :




# Generated by iptables-save v1.2.5 on Mon Apr 7 00:49:08 2003
*mangle
:PREROUTING ACCEPT [529571:38907411]
:INPUT ACCEPT [471282:28105438]
:FORWARD ACCEPT [58277:10800029]
:OUTPUT ACCEPT [905217:1307125072]
:POSTROUTING ACCEPT [961840:1317827022]
COMMIT
# Completed on Mon Apr 7 00:49:08 2003
# Generated by iptables-save v1.2.5 on Mon Apr 7 00:49:08 2003
*nat
:PREROUTING ACCEPT [1366:77073]
:POSTROUTING DROP [0:0]
:OUTPUT ACCEPT [2336:142428]

## Prerouting pour jeux

# -A PREROUTING -i ppp0 -p tcp -m tcp --dport 1300:3000 -j DNAT --to-destination 192.168.0.100:1300-3000
# -A PREROUTING -i ppp0 -p udp -m udp --dport 1300:3000 -j DNAT --to-destination 192.168.0.100:1300-3000
# -A PREROUTING -i ppp0 -p tcp -m tcp --dport 6073 -j DNAT --to-destination 192.168.0.100:6073
# -A PREROUTING -i ppp0 -p udp -m udp --dport 6073 -j DNAT --to-destination 192.168.0.100:6073
# -A PREROUTING -i ppp0 -p tcp -m tcp --dport 6112 -j DNAT --to-destination 192.168.0.100:6112
# Generated by iptables-save v1.2.5 on Mon Apr 7 00:49:08 2003
*mangle
:PREROUTING ACCEPT [529571:38907411]
:INPUT ACCEPT [471282:28105438]
:FORWARD ACCEPT [58277:10800029]
:OUTPUT ACCEPT [905217:1307125072]
:POSTROUTING ACCEPT [961840:1317827022]
COMMIT
# Completed on Mon Apr 7 00:49:08 2003
# Generated by iptables-save v1.2.5 on Mon Apr 7 00:49:08 2003
*nat
:PREROUTING ACCEPT [1366:77073]
:POSTROUTING DROP [0:0]
:OUTPUT ACCEPT [2336:142428]

## Prerouting pour jeux

# Generated by iptables-save v1.2.5 on Mon Apr 7 00:49:08 2003
*mangle
:PREROUTING ACCEPT [529571:38907411]
:INPUT ACCEPT [471282:28105438]
:FORWARD ACCEPT [58277:10800029]
:OUTPUT ACCEPT [905217:1307125072]
:POSTROUTING ACCEPT [961840:1317827022]
COMMIT
# Completed on Mon Apr 7 00:49:08 2003
# Generated by iptables-save v1.2.5 on Mon Apr 7 00:49:08 2003
*nat
:PREROUTING ACCEPT [1366:77073]
:POSTROUTING DROP [0:0]
:OUTPUT ACCEPT [2336:142428]

## Prerouting pour jeux

# -A PREROUTING -i ppp0 -p tcp -m tcp --dport 1300:3000 -j DNAT --to-destination 192.168.0.100:1300-3000
# -A PREROUTING -i ppp0 -p udp -m udp --dport 1300:3000 -j DNAT --to-destination 192.168.0.100:1300-3000
# -A PREROUTING -i ppp0 -p tcp -m tcp --dport 6073 -j DNAT --to-destination 192.168.0.100:6073
# -A PREROUTING -i ppp0 -p udp -m udp --dport 6073 -j DNAT --to-destination 192.168.0.100:6073
# -A PREROUTING -i ppp0 -p tcp -m tcp --dport 6112 -j DNAT --to-destination 192.168.0.100:6112
# -A PREROUTING -i ppp0 -p tcp -m tcp --dport 4000 -j DNAT --to-destination 192.168.0.100:4000
# -A PREROUTING -i ppp0 -p tcp -m tcp --dport 47624 -j DNAT --to-destination 192.168.0.100:47624

## prerouting julien
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 59 -j DNAT --to-destination 192.168.0.25:5925:59
-A PREROUTING -i ppp0 -p udp -m udp --dport 59 -j DNAT --to-destination 192.168.0.25:5925:59


## Prerouting pour Emule
-A PREROUTING -i ppp0 -p tcp --dport 4661 -j DNAT --to 192.168.1.36:4661
-A PREROUTING -i ppp0 -p udp --dport 4671 -j DNAT --to 192.168.1.36:4671
-A PREROUTING -i ppp0 -p tcp --dport 4662 -j DNAT --to 192.168.1.36:4662
-A PREROUTING -i PPP0 -p udp --dport 4672 -j DNAT --to 192.168.1.36:4672


-A PREROUTING -i PPP0 -p udp --dport 40000 -j DNAT --to 192.168.0.25:40000

-A POSTROUTING -o ppp0 -j MASQUERADE
-A POSTROUTING -o lo -j ACCEPT
-A POSTROUTING -o eth0 -j ACCEPT

-A POSTROUTING -o eth1 -j ACCEPT
-A POSTROUTING -o eth2 -j ACCEPT

##pour le ftp a Xav
-A PREROUTING -i ppp0 -p tcp --dport 6666 -j DNAT --to-destination 192.168.0.25:6666
-A PREROUTING -i ppp0 -p udp --dport 6666 -j DNAT --to-destination 192.168.0.25:6666
-A OUTPUT -o ppp0 -m tcp -p tcp --sport 6666 --dport 6666 -m state --state RELATED,ESTABLISHED -j ACCEPT

-A PREROUTING -p tcp --dport 6666 -d 192.168.1.1 -j DNAT --to-destination 192.168.0.25:6666

COMMIT
# Completed on Mon Apr 7 00:49:08 2003
# Generated by iptables-save v1.2.5 on Mon Apr 7 00:49:08 2003
*filter

## Pour TeamSpeak
-A INPUT -m udp -p udp --sport 1024:65535 --dport 8767 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

-A OUTPUT -o ppp0 -m udp -p udp --sport 8767 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT

##pour zheroez
-A INPUT -m tcp -p tcp --sport 1024:65535 --dport 40000 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o ppp0 -m tcp -p tcp --sport 40000 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT


:INPUT DROP [209:11339]
:FORWARD DROP [40:2240]
:OUTPUT DROP [1648:104067]

-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i eth2 -j ACCEPT
-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
-A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP
-A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP

-A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT

-A FORWARD -i lo -j ACCEPT
-A FORWARD -i ppp0 -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -i eth2 -j ACCEPT

-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP

-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A OUTPUT -o eth2 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

-A OUTPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A OUTPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A OUTPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A OUTPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
-A OUTPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
-A OUTPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP
-A OUTPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP

-A OUTPUT -o ppp0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon Apr 7 00:49:08 2003


Merci de répondre à ce drame humain ...
Freeman1979
Matelot
Matelot
 
Messages: 3
Inscrit le: 25 Avr 2004 01:32

Messagepar Franck78 » 25 Avr 2004 02:04

Très bizarre ce script.

1) Tu es sur que ton FTP écoute bien sur 6666 et que ton client FTP n'essaie pas avec 21 ?

2) Si tu es sur du point 1, je te conseille de virer ton script sauf les quelques lignes utiles comme ESTABLSHED,RELATED. Histoire de faire fonctionner seule tes lignes. Après tu rajoutes le reste et tu testes.
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Merci de dire que ce script est inbaisable !

Messagepar Freeman1979 » 25 Avr 2004 20:22

En fait, je n'ai pas ce serveur linux et c'est mon pote qui le contrôle => c devrait plutot être a lui de s'ocupper de ce truc.
Oui le client ftp est configuré port 6666.
Mais en fait, d'après ce que j'ai lu, il y a deux ports d'utilisés pour les clients ftp; un pour les sessions et un pour les transfert ... Sur mon serveur BPFTP, la config propose un port pour on ne sait pas koi : celui pour les session, celui pour les transfert ou les deux.
De la même facon sur le client, on ne sait pas si les deux ports sont 6666 ;si c'est le cas tant mieux, ca devrait marcher ;
dans le cas contraire, un des port est 20 ou 21 donc avec ce script ca merdera de toute facon.
dans le pire des cas, le client et le serveur ne se trouve pas, ce qui n'est pas le cas, puisqu'en local ca passe bien.
Je suis tout à fait d'accord. Ce "script" est mortellement compliqué... On va voir si mon pote veut bien momentanément enlever des trucs pour voir quand se produit le pb plus précisément ...

Merci d'avoir répondu !!!
Freeman1979
Matelot
Matelot
 
Messages: 3
Inscrit le: 25 Avr 2004 01:32

Messagepar tomtom » 26 Avr 2004 09:32

IL ets pas juste compliqué ce script, il est completement nul.

Il y a des accapts partout, puis des drops qui ne seront jamais lus !

Tu devrais inviter ton pote à lire un peu de docs avant de gérer ce genre de choses...

Pour ce qui est du ftp, le problème vient du module ip_conntrack_ftp. Celui-ci doit etre initialisé avec les ports du serveur ftp, car sinon il n'est pas capable de faire suivre la connexion data.
De plus, il faudrait peut-etre se decider à autoriser les connexions deja etablies -oups non c'est pas la peine, tout est autorisé :roll: vraiment special ce script ! -

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Franck78 » 26 Avr 2004 10:55

Je ne voulais pas être si direct que toi Tomtom sur l'efficacité de ce script.
Au moins tu me fais penser a un truc sur lequel j'aurais pu sécher: la connexion Related pour ftp:data. T'es sur que les deux parties ne se mettent pas d'accord avant dans ftp:control et que le module n'est pas capable de le lire ?




bye
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar tomtom » 26 Avr 2004 14:50

sur.. Deja testé et eprouvé ;)

viewtopic.php?t=6078&start=15

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Franck78 » 26 Avr 2004 15:22

@Tomtom,
Tu indexes en paralèlle les messages du board pour utiliser une fonction de recherche de ton cru TT ?
Ou tu as une mémoire spécialisée ????

Comment tu fais pour retrouver des posts comme celui-ci ? Avec moi, "rechercher" donne 0 ou 600 résultats :wink:



Bye
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Noxy » 26 Avr 2004 15:24

pas -j DNAT ms -j REDIRECT
Avatar de l’utilisateur
Noxy
Major
Major
 
Messages: 79
Inscrit le: 20 Avr 2004 16:51
Localisation: lyon

Messagepar tomtom » 26 Avr 2004 17:05

Franck78 a écrit:@Tomtom,
Tu indexes en paralèlle les messages du board pour utiliser une fonction de recherche de ton cru TT ?
Ou tu as une mémoire spécialisée ????

Comment tu fais pour retrouver des posts comme celui-ci ? Avec moi, "rechercher" donne 0 ou 600 résultats :wink:

Bye


Bonne mémoire, sans doute..
Je me souviens de pas mal de posts (surtout quand ils sont interresants), ce qui me permet d'utiliser la fonction rechercher avec un max de mots clés efficaces...

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar tomtom » 26 Avr 2004 17:09

Noxy a écrit:pas -j DNAT ms -j REDIRECT


C'est n'importe quoi, REDIRECT sert à changer de port et redirioger vers l'addresse locale, or ici la serveu ftp est sur une autre machine, c'est donc bien le DNAT qui est à utiliser.

Mais encore une fois, il faut revoir tout le script car là c'est la cata !

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Freeman1979 » 01 Mai 2004 00:55

Tout d'abord merci de repondre à un débutant ...

Je suis tout à fait d'accord . C le DNAT qu'il faut utiliser:mon serveur ftp est derriere le routeur.

J'ai refait un pauvre script à 3 francs temporairement, de manière à savoir comment configurer le FireWall afin de rediriger les paquets tcp port 6666 adressé au FireWall (adresse public) vers mon PC (adresse privée) : j'ai écrit :

modprobe ip_conntrack_ftp
# et tout plein d'autre module que je sais pas ce qu'ils font ...

# Pour traverser le firewall
$IPTABLES -A FORWARD -p tcp --dport 6666 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 60100:60200 -j ACCEPT

# Pour rediriger les bons paquets
$IPTABLES -A PREROUTING -t nat -p tcp -d $FWNETIP --dport 6666 -j DNAT --to-destination 192.168.0.25:6666
$IPTABLES -A PREROUTING -t nat -p tcp --dport 60100:60200 -j DNAT --to-destination 192.168.0.25
# 192.168.0.25 est le pc sur lequel ya mon serveur ftp configuré en mode passif (je pense correctement)

Le probleme, c'est que j'ai l'impression que ca change rien du tout. C'est comme si il ne faisait pas la redirection puisque mon serveur ftp ne recoit rien.

Ou est-ce que je me suis planté ? J'y comprends plus rien ! :wink:


Xavier
Freeman1979
Matelot
Matelot
 
Messages: 3
Inscrit le: 25 Avr 2004 01:32


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron