Iptables port forwarding
djo0012
-
rigecko Messages postés 9 Statut Membre -
rigecko Messages postés 9 Statut Membre -
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:
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
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:
- Iptables port forwarding
- Advanced port scanner - Télécharger - Utilitaires
- Port usb bloqué par administrateur ✓ - Forum Windows
- Port wsd ✓ - Forum Réseau
- Port 5000 - Forum Virus
- Port ping - Forum Windows
3 réponses
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.
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.
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.
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.
tout d'abord merci pour ta réponse
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.
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.
merci de ton aide quand meme :)
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 :)
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...