OVH Cloud OVH Cloud

Redirection de port iptables

11 réponses
Avatar
Gaëtan Duchaussois
Bonjour,
j'ai toujours mon soucis avec iptables, je vais essayer de m'expliquer
clairement.

J'ai un pc avec deux cartes réseaux.

Je veux que tout les packets qui entrent sur le PC à destination du port
80 de n'importe quel ordinateur excepté ceux venant de l'adresse IP
192.168.1.2 soient redirigés vers le port 3128 de 192.168.1.2.

Je pensais que cette ligne:
iptables -A PREROUTING -t nat -p tcp -s ! 192.168.1.2 --dport 80 -j DNAT\
--to 192.168.1.2:3128

ferait l'affaire, mais seul les packets venant de eth0 arrivent
réellement sur 192.168.1.2, en effet j'ai fait tourner un serveur bidon
qui affiche ce qu'il reçoit sur le port 3128 sur la sortie et quand je
lance une connexion d'une machine connectée à eth0, le contenu est
affiché, par contre, quand je lance une connexion depuis une machine
connectée à eth1, rien n'arrive sur le port 3128 de 192.168.1.2.

Je précise que 192.168.1.2 est connecté à eth1, où se trouve ma
coquille?

D'ailleurs est ce que ce que je veux faire est possible ou devrais je
installer une troisème carte réseau?

Merci par avance

--
Gaëtan

1 réponse

1 2
Avatar
rsauvat
Gaëtan Duchaussois a écrit le 28/07/2004 à 21h10 :
Bonjour,
j'ai toujours mon soucis avec iptables, je vais essayer de m'expliquer
clairement.

J'ai un pc avec deux cartes réseaux.

Je veux que tout les packets qui entrent sur le PC à destination du
port
80 de n'importe quel ordinateur excepté ceux venant de l'adresse IP
192.168.1.2 soient redirigés vers le port 3128 de 192.168.1.2.

Je pensais que cette ligne:
iptables -A PREROUTING -t nat -p tcp -s ! 192.168.1.2 --dport 80 -j DNAT
--to 192.168.1.2:3128

ferait l'affaire, mais seul les packets venant de eth0 arrivent
réellement sur 192.168.1.2, en effet j'ai fait tourner un serveur bidon
qui affiche ce qu'il reçoit sur le port 3128 sur la sortie et quand je
lance une connexion d'une machine connectée à eth0, le contenu
est
affiché, par contre, quand je lance une connexion depuis une machine
connectée à eth1, rien n'arrive sur le port 3128 de 192.168.1.2.

Je précise que 192.168.1.2 est connecté à eth1, où
se trouve ma
coquille?

D'ailleurs est ce que ce que je veux faire est possible ou devrais je
installer une troisème carte réseau?

Merci par avance

--
Gaëtan


Je pense que j'ai eu le même problème. Je devait sur une machine autoriser toutes les connexions sur un port et filtrer les connexion suivant la source sur un deuxième port mais en interne le programme n'écouté que sur un port et ne se doutait de rien.
Pour cela j'ai utilisé deux règles de redirection.
La premiere pour rediriger toutes les connexions vers le port par défaut
iptables -A PREROUTING -p tcp -m tcp -d ipexterne --dport 8080 -j DNAT --to-destination ipexterne:80
La dexieme pour bloquer les hotes non désiré
iptables -A PREROUTING -p tcp -m tcp -s vilainhote -d ipexterne --dport 22 -j DNAT --to-destination 127.0.0.1:80

A noter que vilainhote peut quand même acceder au service via le port 8080 mais pas sur le port 80
Voila je ne sais pas si ma solution est très correcte mais si elle c'et le cas j'espere que ça pourra en aider d'autres
1 2