Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 30-12-2016 14:10:12

teeknofil
Membre
Distrib. : Debian 8.3
Noyau : Linux 3.16
(G)UI : Gnome 3.14
Inscription : 13-02-2016

Comment rediriger tous le traffic à l'exeption de SSH

Bonjour dans mon script iptables je redirige tous mon traffic vers un port d'un proxie mais je voudra faire des exception sur certain port pour qu'il soit pas rediriger comme le port 22.
J'ai chercher la commande iptables toutes la matinée sur google sans succès les commande sont trop anciennes.

Merci de votre aide.:)

Hors ligne

#2 30-12-2016 14:56:51

raleur
Membre
Inscription : 03-10-2014

Re : Comment rediriger tous le traffic à l'exeption de SSH

teeknofil a écrit :

dans mon script iptables je redirige tous mon traffic vers un port d'un proxie


Ça m'étonnerait. On ne peut "rediriger vers un port" que les communications utilisant le même protocole de transport que ce port, ce qui implique que la notion de "port" existe dans ce protocole, comme dans TCP et UDP, mais pas ICMP ni les divers protocoles d'encapsulation comme GRE.

D'autre part je ne vois pas l'utilité de rediriger tous les ports vers un proxy puisqu'un proxy ne sais pas gérer tous les protocoles applicatifs.

teeknofil a écrit :

je voudra faire des exception sur certain port pour qu'il soit pas rediriger comme le port 22.


Cela dépend de la façon dont ton jeu de règles iptables est organisé.

S'il n'y a qu'une exception, on peut ajouter une condition pour exclure un port particulier dans la règle de redirection :

! --dport 22


S'il y a plusieurs exceptions, on peut insérer des règles avec la cible ACCEPT avant la règle de redirection, à condition qu'il n'y ait plus aucune règle applicable au paquet dans le reste de la chaîne. Exemple :

iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT



Si d'autres règles dans le reste de la chaîne peuvent être applicables, il faut créer une sous-chaîne appelée à la place de la règle de redirection, qui contient les exceptions et la règle de redirection. Exemple :

iptables -t nat -N redirect-proxy
iptables -t nat -A PREROUTING -j redirect-proxy
iptables -t nat -A redirect-proxy -p tcp --dport 22 -j RETURN
iptables -t nat -A redirect-proxy -p tcp --dport 2222 -j RETURN
iptables -t nat -A redirect-proxy -p tcp -j REDIRECT --to-ports 3128



Une autre approche consiste à marquer les paquets à exclure. Exemple si on n'utilise pas déjà le marquage des paquets pour autre chose :

iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -p tcp --dport 2222 -j MARK --set-mark 1
iptables -t nat -A PREROUTING -p tcp -m mark ! --mark 1 -j REDIRECT --to-ports 3128

Dernière modification par raleur (30-12-2016 14:57:58)

Hors ligne

Pied de page des forums