iptables et la comande --dport

iptables et la comande --dport - Linux et OS Alternatifs

Marsh Posté le 30-04-2003 à 10:54:58    

Salut
 
g un souci avec iptables :  
quand je rentre une regle du type  
iptables -A PREROUTING -d 10.10.10.1 -p ALL -j ACCEPT
ca passe (ca matche tous les protocols)
 
Maintenant, je sais que si je veux filtrer sur un port en particulier, je dois mettre ceci :  
iptables -A PREROUTING -d 10.10.10.1 -p ALL --dport 80 -j ACCEPT
 
HORS, ca ne fonctionne pas : j'ai la reponse suivante :  
Unknown Arg "--dport"
 
J'ai l'impression que cela provient du -p ALL, car si je fais un -p tcp, la regle rentre sans probleme
 
 
Qqun pour me confirmer ? me donner une solution ?
 
Ma solution temporaire (qui me plait bof..) est de faire 2 regles (1 pour tcp et 1 pour udp) mais ca risque de poser pb si dans le futur d'autres protocoles entrent jeu...
 
Merci

Reply

Marsh Posté le 30-04-2003 à 10:54:58   

Reply

Marsh Posté le 30-04-2003 à 11:03:36    

je pense que dans le "ALL" le protocole ICMP est compris...
et du ICMP sur un port 80, ça fct pas.
(j'espère ne pas dire une grosse connerie là)


---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 11:05:41    

non c'est pas une connerie. on peut utiliser --dport et --sport seulement si on a en protocole tcp et udp

Reply

Marsh Posté le 30-04-2003 à 11:07:32    

ouf tu me rassures  :jap:  
ça fait tellement longtemps que j'ai plus touché à mon firewall :D


---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 11:08:07    

donc tu peux faire un  
iptables -A PREROUTING -d 10.10.10.1 -p !icmp --dport 80 -j ACCEPT  
 


---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 11:15:01    

salut !
j'en profite pour m'incruster un peu ;)
 
en fait je voudrais faire une simple redirection de port avec iptables.
 
en gros, mon pc sert de passerelle/ dns/ dhcp / proxy avec squid.
 
ce que j'aimerais c'est pouvoir accéder au net a partir de mon réseau, en passant par ma passerelle, et sans avoir a configurer le proxy.
 
En fait j veut donc que tout ce qui arrive sur mon proxy soit automatiquement redirigé vers le port 3128 de squid comme ca je peut faire du ftp, http, https (mon problème se situe au niveau du https en fait surtout) et tout ca de manière transparente evidemment afin de ne pas avoir a configurer les pc clients.
 
pour le moment j'utilisait ca :
 
iptables -t nat -F PREROUTING
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128
 
bon et evidemment a part le http ca marche pas trop le reste.
 
si qqun peut me renseigner merci bcp.

Reply

Marsh Posté le 30-04-2003 à 11:18:11    

Sebounet a écrit :

salut !
j'en profite pour m'incruster un peu ;)
 
en fait je voudrais faire une simple redirection de port avec iptables.
 
en gros, mon pc sert de passerelle/ dns/ dhcp / proxy avec squid.
 
ce que j'aimerais c'est pouvoir accéder au net a partir de mon réseau, en passant par ma passerelle, et sans avoir a configurer le proxy.
 
En fait j veut donc que tout ce qui arrive sur mon proxy soit automatiquement redirigé vers le port 3128 de squid comme ca je peut faire du ftp, http, https (mon problème se situe au niveau du https en fait surtout) et tout ca de manière transparente evidemment afin de ne pas avoir a configurer les pc clients.
 
pour le moment j'utilisait ca :
 
iptables -t nat -F PREROUTING
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128
 
bon et evidemment a part le http ca marche pas trop le reste.
 
si qqun peut me renseigner merci bcp.


pk tu redirige tes 3 ports sur un seul :heink:
 
donc forcement c est ke la 1ere regle qui marche (http), les autres nan ;)


Message édité par Tomate le 30-04-2003 à 11:19:06

---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 11:18:52    

bah y'a qu'un seul port sur le proxy non ?
 

Reply

Marsh Posté le 30-04-2003 à 11:19:39    

Sebounet a écrit :

bah y'a qu'un seul port sur le proxy non ?
 
 


oue mais ca doit par marcher comme ca ;)


---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 11:22:11    

bah qd j utilise le proxy de la boite je configure mon ie pour qu'il utilise le port 8080 pour tout ce qui est ftp, http, https etc

Reply

Marsh Posté le 30-04-2003 à 11:22:11   

Reply

Marsh Posté le 30-04-2003 à 11:25:17    

Sebounet a écrit :

bah qd j utilise le proxy de la boite je configure mon ie pour qu'il utilise le port 8080 pour tout ce qui est ftp, http, https etc


 :non: spo pareil, la tu parle de protocoles, avant tu parlais de ports (relatifs a des protocoles, encore ke ...)


Message édité par Tomate le 30-04-2003 à 11:25:52

---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 11:29:38    

comment ca c po pareil.
 
bon beh en fait je veut juste pouvoir faire du http, ftp, https en passant par mon proxy mais de manière transparente cad sans avoir a config internet explorer.
 
avec la commande :  
iptables -t nat -F PREROUTING  
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128  
 
ca marche très bien pour le http.
 
comment faire pour le ftp et le https ?
merci

Reply

Marsh Posté le 30-04-2003 à 11:34:47    

est-ce que si tu mets dans IE 3128 pour http, sécusrié, ftp,... ça fct ?
si pas, je pense que tu dois d'abord configurer squid.
Une fois que ça fct, tu appliques ta redirection et ça doit fcter.


---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 11:35:38    

oui ca fonctionne si je configure comme ca dans internet explorer

Reply

Marsh Posté le 30-04-2003 à 11:50:10    

regarde ici :
http://en.tldp.org/HOWTO/mini/TransparentProxy-6.html
 
autorise tu le retour des paquets de la machine proxy vers tes machines clients ?
 
sinon, ftp utilise aussi udp non ?


Message édité par ethernal le 30-04-2003 à 11:56:54

---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 11:57:16    

j avais bien raison :sol:


---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 12:27:27    

tomate77 a écrit :

j avais bien raison :sol:  


 
bah dis moi quelles sont les commandes alors stp lol

Reply

Marsh Posté le 30-04-2003 à 12:28:21    

Sebounet a écrit :


 
bah dis moi quelles sont les commandes alors stp lol


ca je sais po :lol:  
 
nan mais explique moi plus clairement le pb ;)
 
et la doc ke t a file ethernal c est po bon ??


---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 12:28:27    

ethernal a écrit :

regarde ici :
http://en.tldp.org/HOWTO/mini/TransparentProxy-6.html
 
autorise tu le retour des paquets de la machine proxy vers tes machines clients ?
 
sinon, ftp utilise aussi udp non ?


 
et bien je sait pas trop j'ai fait qqch d'assez standard.
 
je doit partir bouffer on me met a la porte de mon bureau mais je revient vite
 
merci pour le lien vers le howto
 
++

Reply

Marsh Posté le 30-04-2003 à 13:42:38    

voila retour de manger :
 
bon et bien la doc d'ethernal en fait ca me permet de faire la redirection pour le port 80 ca c'est ok.
 
mais moi je veut faire du ftp et du https et c'est ca que j'arrive pas a faire.
 
bien evidemment de manière transparente aussi.

Reply

Marsh Posté le 30-04-2003 à 13:47:40    

cf topic de liens :
http://www.ac-creteil.fr/reseaux/S [...] squid.html
 
(chapitre 20)


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 30-04-2003 à 13:51:23    

je connait ce site et c'est exactement ce que j'ai fait.
mon pb c'est pour le ftp et https.
 
bon c pas grave j vais ouvrir un autre topic paskeu ici c pas mon topic en +

Reply

Marsh Posté le 30-04-2003 à 14:25:51    

Sebounet a écrit :

je connait ce site et c'est exactement ce que j'ai fait.
mon pb c'est pour le ftp et https.
 
bon c pas grave j vais ouvrir un autre topic paskeu ici c pas mon topic en +  


 
bah oui tu ne peux pas forwarder plussieurs ports vers un seul ;)
 
j avais eu un pb similaire : forward du port 4662 ( :whistle: ) vers +sieurs IP ---> impossible :/


---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 14:28:15    

mais c nul !
 
je fait comment alors pour faire du http ET du ftp avec mon proxy de manière transparente ?
 
impossible ?
 
si c'est le cas c nul :(
 

Reply

Marsh Posté le 30-04-2003 à 14:29:01    

Sebounet a écrit :

mais c nul !
 
je fait comment alors pour faire du http ET du ftp avec mon proxy de manière transparente ?
 
impossible ?
 
si c'est le cas c nul :(
 
 


[:spamafote]


---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 14:39:45    

bon en fait le truc c'est que proxy transparent = http only et pour le ftp j doit le faire passer en direct.
 
bon ce qui est con c'est que le ftp de la ou je suis on me le bloque dans la boite.
 
jpeut y accéder que a travers ma passerelle ou a travers le proxy de la boite.
 
bon bref fo que je trouve un truc la lol ;)
 
ya moyen d'ouvrir un autre port sur squid pour le 21 auquel cas je fait une redirection avec iptables ?
 
sinon bah pourquoi en fixant dans internet explorer j peut me connecter pour ftp ou http sur le port 3128 et pas avec iptables ?
 
c une restriction d'iptables ?

Reply

Marsh Posté le 30-04-2003 à 14:49:39    

tomate77 a écrit :


j avais eu un pb similaire : forward du port 4662 ( :whistle: ) vers +sieurs IP ---> impossible :/


 
ça c'est l'inverse
 
tu peux forwarder plusieurs port vers 1 seul.
ex : un serveur apache et un forward du port 81,82,83,84 vers le port 80 fctera
 
le problème c'est squid.


---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 14:53:25    

nan c bon cf mon autre post.
 
squid marche bien pour le ftp et le https mais faut que j'indique sont port dans internet explorer.
 
donc en gros avec iptables j'arrive a faire que du http en transparent.
 
comment faire la redirection du port 21 et 443 vers le 3128 de squid ?
 
c'est pas du tcp ?
 
ya une syntaxe spéciale ?

Reply

Marsh Posté le 30-04-2003 à 15:02:12    

d'après qq discussions sur une mailing liste :

Citation :

l'url demandée par le navigateur à un proxy n'a pas le  
même format que lors d'une connexion directe


 
voila pq je pense que le prob est squid.
Squid a été implémenté pour (selon sa config) accepter des requêtes http directes.
Pour le ftp et le https, si il n'a pas été prévu pour, tu resteras avec ton problème.


---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 15:02:34    

ethernal a écrit :


 
ça c'est l'inverse
 
tu peux forwarder plusieurs port vers 1 seul.
ex : un serveur apache et un forward du port 81,82,83,84 vers le port 80 fctera
 
le problème c'est squid.


 
tant pis pour moi alors, je vais aller me flageller d avoir dis autant de conneries :'(


---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 15:03:37    

ethernal a écrit :

d'après qq discussions sur une mailing liste :

Citation :

l'url demandée par le navigateur à un proxy n'a pas le  
même format que lors d'une connexion directe


 
voila pq je pense que le prob est squid.
Squid a été implémenté pour (selon sa config) accepter des requêtes http directes.
Pour le ftp et le https, si il n'a pas été prévu pour, tu resteras avec ton problème.


 
non mais quand je met ie avec proxy et beh la ca marche

Reply

Marsh Posté le 30-04-2003 à 15:08:06    

oui je sais :) (je reste callllmmmeeeee)
 
avec ton iptables, tu fais une connexion directe vers le proxy, l'url n'est pas modifiée par ton browser puisqu'il ne sait pas qu'il y a un proxy...
 
Si ça n'a pas été implémenté dans squid, c'est foutu pour ton ftp.
 
il existe sans doute d'autres proxy que squid qui eux le font pour le ftp.  
voir http://www.ussg.iu.edu/hypermail/l [...] /0047.html
le lien dans le post est mort, mais ça te permettra sans doute de trouver qqch d'intéressant.
 
sur google :
http://www.google.fr/search?hl=fr& [...] rent&meta=


Message édité par ethernal le 30-04-2003 à 15:12:26

---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 15:40:16    

ethernal a écrit :

oui je sais :) (je reste callllmmmeeeee)
 
avec ton iptables, tu fais une connexion directe vers le proxy, l'url n'est pas modifiée par ton browser puisqu'il ne sait pas qu'il y a un proxy...
 
Si ça n'a pas été implémenté dans squid, c'est foutu pour ton ftp.
 
il existe sans doute d'autres proxy que squid qui eux le font pour le ftp.  
voir http://www.ussg.iu.edu/hypermail/l [...] /0047.html
le lien dans le post est mort, mais ça te permettra sans doute de trouver qqch d'intéressant.
 
sur google :
http://www.google.fr/search?hl=fr& [...] rent&meta=


 
bon et sinon : est ce ke forwarder plusieurs ports vers un seul et unique autre fonctionne ?????????


---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 15:44:59    

[satanée touche tab]
oui, mais pas l'inverse.
 
comme je disais plus haut, tu sais forwarder par ex les ports 81,82,85,96 sur le port 80 de ton serveur internet, ça fctera niquel.
http://monsite.com:81/
http://monsite.com:82/
http://monsite.com:85/
...
ça fct.
 
 
Forwarder par contre le port 4662 vers plusieurs machines, normalement ça fct pas.
 
pour squid le problème est que  
1. il faut que squid identifie le fait que la requête est ftp et pas http
2. il sache qui lui a envoyé cette requête pour pouvoir y répondre.
 
Hors qd le browser est configuré pour communiquer avec un proxy, il modifie la trame de requête, pour que le proxy la comprenne (je suppose).  Pour HTTP, squid sait gérer une requête directe (proxy transparent).  Mais pas pour le https ni pour le ftp.
Donc la soluce est d'utiliser un autre proxy pour le FTP qui lui saura gérer les requêtes directes.


Message édité par ethernal le 30-04-2003 à 15:49:25

---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 15:45:41    

oki en effet ethernal après capture de trame, je voit que internet explorer fait une requete ftp a squid en passant par du http.
 
enfin ca envoie dans une requete http ce dont squid a besoin pour le ftp (login pass etc).
 
faut que je farfouine dans squid du coup maintenant mais bon pour trouver parmi les 3000 lignes du squid.conf (ok c bien documenté mais putain !!  :cry:  :cry:  
 

Reply

Marsh Posté le 30-04-2003 à 15:46:35    

Squid supports...  
 
proxying and caching of HTTP, FTP, and other URL's  
proxying for SSL  
cache hierarchies  
ICP, HTCP, CARP, Cache Digests  
transparent caching  
 
 
reste a savoir si il supporte le ftp en transparent caching ;)

Reply

Marsh Posté le 30-04-2003 à 15:48:20    

ethernal a écrit :

oui, mais pas l'inverse.
 
comme je disais plus haut, tu sais frowarder par ex les ports 81,82,85,96 sur le port 80 de ton serveur internet, ça fctera niquel.
 
Forwarder par contre le port 4662 vers plusieurs machines, normalement ça


ok pour apache ;)
 
mais ici on a un cas ou des protocoles differents sont forwardes sur un seul port ;)
bon je me doute bien ke c est plus du ressort de l appli qui recoit tout ca apres (squid donc ;))


---------------
:: Light is Right ::
Reply

Marsh Posté le 30-04-2003 à 15:50:10    

Citation :

Andy Zbikowski wrote:  
 
 
> Been using squid+ipchains for some time now to create a transparent http  
> proxy. Just curious if the same can be done with ftp. If yes, same rule as  
> the http rule but with a different port?  
>  
> Andrew S. Zbikowski | http://www.ringworld.org  


 
 

Citation :

Squid does not currently provide transparent FTP functionality.  
 
 
You can give Frox a try, though, which does transparent FTP proxying and  
can use Squid as a storage backend for caching. I have not tried Frox  
in a production setting (and don't consider it mature enough to rollout  
into such a setting) but others are using it with success. (Edward, who  
pops up here on the list occasionally, has an ISP running through Frox  
with success. Maybe he'll chime in with his experience.)  


 
bon bah voila ce que j'ai trouvé en farfouinant.
 
bon et bien j'ai donc perdu 1 jour pour faire : rien
 
joli hein lol
en tout cas moi je dit : http://www.football365.fr/mediastore/common/archives_foot_NE_PAS_UTILISER/divers/ARBITRAGE_CARTON_ROUGE.jpg pour squid ;)
 

Reply

Marsh Posté le 30-04-2003 à 15:51:03    

tomate77 a écrit :


ok pour apache ;)
 
mais ici on a un cas ou des protocoles differents sont forwardes sur un seul port ;)
bon je me doute bien ke c est plus du ressort de l appli qui recoit tout ca apres (squid donc ;))


 
exact, l'appli reçoit tout sur le même port, elle doit savoir distinguer les différents protocols etc...
iptables forward "bêtement".
 
N'oublions pas la philosophie Linux :  
"Faire de petites choses, mais les faire bien !"


Message édité par ethernal le 30-04-2003 à 15:53:35

---------------
...oups kernel error...
Reply

Marsh Posté le 30-04-2003 à 16:03:26    

ethernal a écrit :


 
exact, l'appli reçoit tout sur le même port, elle doit savoir distinguer les différents protocols etc...
iptables forward "bêtement".
 
N'oublions pas la philosophie Linux :  
"Faire de petites choses, mais les faire bien !"

:D


---------------
:: Light is Right ::
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed