Iptables port forwarding

Fermé
djo0012 - 8 mai 2009 à 02:48
rigecko Messages postés 7 Date d'inscription jeudi 31 juillet 2014 Statut Membre Dernière intervention 6 avril 2020 - 7 janv. 2015 à 14:14
Bonjours,
j'ai un installation "standard" de réseau en utilisant un ordinateur sous linux comme passerelle et le tout fonctionne correctement.

je voudrait pouvoir accédé a l'interface de configuration de mon modem DSL qui est branché directement sur eth0 a partir d'un autre ordinateur de mon lan (coté eth1 de la passerelle)

adresse ip modem DSL: 192.168.2.1
adresse ip passerelle eth0: dhcp
adresse ip passerelle eth1: 192.168.1.10
adresse ip d'un ordi du lan: 192.168.1.x
masque ip (partout): 255.255.255.0

j'utilise présentement se petit script pour testé mais sa ne marche pas:
#!/bin/bash

service firewall.iptables flush      # flush toutes les regles itptable
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth1 -d 192.168.1.10 --dport 8888 -j DNAT --to 192.168.2.1:80
#iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.1 --dport 80 -j SNAT --to 192.168.1.10

iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE
echo 1 >/proc/sys/net/ipv4/ip_forward



la ligne de POSTROUTING étais présente dans certain exemple que j'ai trouvé et pas dans d'autre donc j'ai essayer avec et sans à plusieurs reprise

d'après moi sa devrai être fonctionnel si je tape <lien>http://192.168.1.10:8888</lien> dans firefox, mais pour le moment sa ne fais que chargé indéfiniment jusqu'au timeout.
ou est-ce que je me trompe?

merci a l'avance pour votre aide
A voir également:

3 réponses

aka Shiva Messages postés 57 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 14 mai 2009 13
8 mai 2009 à 03:17
Bonsoir,
si tu arrives à accéder à internet avec l'autre ordinateur, alors tant mieux. Et si ton modem dispose d'une interface web de configuration, il suffit alors de taper tout simplement son adresse : http://192.168.2.1 depuis n'importe quel poste, pour pouvoir y accéder.
0
merci de ta réponse , mais sa ne peu pas fonctionné, du coté lan je suis sur un réseau 192.168.1.x et de l'autre coté (pas tout a fais wan) c'est 192.168.2.x je n'est donc pas accès, j'ai vérifié tout de même et effectivement sa ne fonctionne pas.

sur mes ordinateurs interne j'ai bien accès à internet et aux services de ma passerelle, mais je n'arrive pas a connecté a l'interface du modem, par contre a partir de la passerelle elle même j'y arrive, mais ce n'est d'aucune utilité, n'ayant qu'une ligne de commande je ne peu qu'utiliser lynx comme navigateur et la page utilisant des frames sa ne le fais pas...
0
personne n'a d'idée, je suis presque certain que se soit faisable, mais je n'y arrive toujours pas.
0
kimojo Messages postés 383 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 17 août 2009 41
11 mai 2009 à 11:42
Je ne suis pas sur que tes iptables soient correct et qu'il y en ai besoin.

Si je traduit ça iptables -t nat -A PREROUTING -p tcp -i eth1 -d 192.168.1.10 --dport 8888 -j DNAT --to 192.168.2.1:80

Tous le paquets à destination de 192.168.1.10 sur le port 8888 doivent être redirigé vers 192.168.2.1 sur le port 80.

ça ne fait pas du tout ce que tu demandes.

En plus, si on veut faire des iptables, je préfères avoir une politique par défaut drop car la tu laisses tout passer.

Bref pour faire ce que tu demandes, tu ne devrait pas avoir besoin de faire des iptables.

Enlèves les, si tu as internet sur ton poste interne c'est que tu arrives à faire un ping de ton poste client 192.168.1.X vers 192.168.2.1
Si ça fonctionne tu devrais pouvoir accéder en http sur 192.168.2.1

Si ça ne fonctionne pas lance wireshark sur différentes interfaces pour voir si la demande et la réponse en http passe bien (par exemple sur eth0 et eth1 passerelle et sur ton client.

Normalement tout devrait fonctionner.
0
tout d'abord merci pour ta réponse
Si je traduit ça iptables -t nat -A PREROUTING -p tcp -i eth1 -d 192.168.1.10 --dport 8888 -j DNAT --to 192.168.2.1:80

Tous le paquets à destination de 192.168.1.10 sur le port 8888 doivent être redirigé vers 192.168.2.1 sur le port 80. 

ça ne fait pas du tout ce que tu demandes.


ta traduction donne effectivement ce que je voulais essayer de faire, et c'est le seul moyen que j'ai trouvé a date pour arrivé a ce que je veux, s'il y a mieux (et c'est certain puisque cela ne fonctionne pas :p ) je ne cherche qu'a être pointé dans cette direction.

En plus, si on veut faire des iptables, je préfères avoir une politique par défaut drop car la tu laisses tout passer. 

comme je crois avoir dit dans mon poste originale c'est un script temporaire cherchant a testé cette option spécifiquement, mon vrai script contient plus d'une 100aine de règle et deviens difficile a analysé lorsque l'on ne veut qu'une petite partie, c'est pourquoi je teste avec ce petit script avant d'intégré dans le principal ou ma politique par défaut est a drop.


herf... pendant que j'écrivais ce message quelqu'un ma donné un idée et sa fonctionne, alors voici la réponse:

je n'avais pas pensé a faire de masquerading sur eth0. j'ai donc rajouté sa a la fin et sa fonctionne a merveille.

iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE


merci de ton aide quand meme :)
0
rigecko Messages postés 7 Date d'inscription jeudi 31 juillet 2014 Statut Membre Dernière intervention 6 avril 2020
Modifié par rigecko le 7/01/2015 à 14:14
Salut!
Je cherche a faire pareil ou presque (derouter un acces ssh sur une machine d'un autre LAN. As tu trouvé une solution?
0