Comportement curieux d'IPTABLES

Comportement curieux d'IPTABLES - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 07-12-2008 à 14:10:17    

Bonjour à tous !!
 
Il semble que quelquechose ne fonctionne pas avec iptables, je veux prioriser le protocole ssh pour accéder au serveur, voici le code que je suis censé utilisé:

Code :
  1. iptables -t mangle -A POSTROUTING -o $DEV -m layer7 --l7proto ssh -j MARK --set-mark 20


 
Le problème c'est que si une personne utilise un tunnel ssh pour transférer des données P2P par exemple, le P2P sera prioriser, donc je voudrais utiliser celà:

Code :
  1. iptables -t mangle -A POSTROUTING -o $DEV -m layer7 --l7proto ssh -p tcp --sport 22 -j MARK --set-mark 20


 
Mais alors là le protocole n'est plus matché, on dirait que iptables ne prends pas 2 conditions de filtrage (à savoir le l7 filter et le -p tcp)
 
Ais-je loupé qqchose ?
 
Merci à tous !
RedVivi

Reply

Marsh Posté le 07-12-2008 à 14:10:17   

Reply

Marsh Posté le 07-12-2008 à 21:32:37    

inversion sport/dport ?

Reply

Marsh Posté le 07-12-2008 à 22:10:59    

Non je ne pense pas, le port 22 est bien le port source de l'ordinateur sur lequel j'exécute iptables.

Reply

Marsh Posté le 07-12-2008 à 22:38:26    

tu es sur que -p et -m peuvent être utilisé ensemble ? une lecture rapide du man me laisserait plutôt penser le contraire


---------------
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 07-12-2008 à 22:45:13    

D'après le man:

Code :
  1. iptables peut utiliser des modules additionnels de correspondance de paquets. Ceux-ci peuvent être chargés de deux manières : implicitement, lorsque -p ou --protocol est employé, ou avec l'option -m ou --match, suivie du nom du module de correspondance ; après cela, des options supplémentaires en ligne de commande deviennent disponibles, en fonction du module. Vous pouvez spécifier plusieurs modules de correspondance sur une même ligne, et utiliser l'option -h ou --help après avoir spécifié le module, pour visualiser l'aide relative à ce module.
 

Celà ne me semble pas être contradictoire d'apres moi, surtout que ce que je veux c'est matcher le paquet à partir de 2 modules différents (layer7 et tcp), on procède bien de cette manière pour faire un test "AND" dans iptables ?


Message édité par redvivi le 07-12-2008 à 22:46:28
Reply

Marsh Posté le 08-12-2008 à 08:50:57    

Mjules a écrit :

tu es sur que -p et -m peuvent être utilisé ensemble ? une lecture rapide du man me laisserait plutôt penser le contraire


Je t'assure que l'on peut utiliser -m et -p en même temps, j'utilise tous les jours -p tcp -m state


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 08-12-2008 à 09:47:32    

HNO3 a écrit :

inversion sport/dport ?


 
En supposant que redvivi utilise --set-mark pour que ses paquets soient bucketisés par tc, que la machine sur laquelle tourne iptables soit son routeur/passerelle, et que le traffic ssh dont il parle soit celui des gens qui sont derrière le routeur et se connectent à des serveurs ssh sur l'intairnet, la ligne kivabien dans POSTROUTING pour marquer le traffic ssh, c'est bien "-m layer7 --l7proto ssh -p tcp --dport 22 -j MARK --set-mark 20"
 
[:ojap]

Reply

Marsh Posté le 08-12-2008 à 10:07:36    

Heu....J'avoue que je suis un peu perdu là...pourquoi serait-ce --dport et non --sport ? Je raisonne comme ceci: Je veux prioriser l'upload du protocole ssh (de la passerelle vers l'internet). Donc ce sont des paquets qui partent de la passerelle vers l'internet, ainsi il s'agit vient du sport de la passerelle. J'ai oublié quelquechose ?

Reply

Marsh Posté le 08-12-2008 à 10:19:18    

Tu es dans le scénario quelqu'un se connecte depuis internet à ta passerelle en SSH ?
=> le trafic qui part de ta passerelle a bien en port source 22.
=> le trafic arrivant a le port destination 22.


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 08-12-2008 à 15:33:18    

Oui c'est bien ça, quelqu'un se connecte en ssh sur la passerelle, donc le traffic sortant a le port source 22, donc a priori ma ligne de commande devrait fonctionner :-S

Reply

Sujets relatifs:

Leave a Replay

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