mapper un port avec iptables - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 05-10-2005 à 17:57:25
mangle n'est pas une règle c'est une table
c'est dans la table nat qu'il faut taper
iptables -t nat -A PREROUTING -i $WAN -p tcp --dport 9876 -j DNAT --to-destination 192.168.0.2
Avec bien sur $WAN égal au nom de ton interface WAN
Marsh Posté le 05-10-2005 à 17:58:45
Et puis au passage lis ce lien, ca pourrait t'aider...
http://christian.caleca.free.fr/netfilter/
Marsh Posté le 05-10-2005 à 19:17:56
Merci, ça fonctionne !
Mais j'ai du rajouter un commande :
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 9876 -j ACCEPT
Marsh Posté le 24-08-2007 à 11:45:35
Dans le même style, j'ai un serveur web B sur mon réseau local (192.168.0.2). Je voudrais que quand on interroge mon serveur web A (192.168.0.1 et 212.68.xxx.xxx) à partir de son IP publique et sur le port 1050, on se retrouve sur le port 1050 du serveur web B.
J'ai essayé ça :
iptables -P FORWARD DROP
iptables -A FORWARD -i $if_local -o $if_public -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $if_public -o $if_local -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $if_public -p tcp --dport 1050 -j ACCEPT
iptables -A OUTPUT -o $if_public -p tcp --sport 1050 -j ACCEPT
iptables -t nat -A PREROUTING -i $if_public -p tcp --dport 1050 -j DNAT --to-destination 192.168.0.2
Mais ça marche pas...
Mieux : on arriverait sur le port 80 du serveur web B : 212.68.xxx.xxx:1050 --> 192.168.0.2:80
Encore mieux : on arriverait sur le serveur B même à partir du réseau local 192.168.0.1:1050 --> 192.168.0.2:1050
Le top : les 2 ensemble 212.68.xxx.xxx:1050 --> 192.168.0.2:80 et 192.168.0.1:1050 --> 192.168.0.2:80
Marsh Posté le 24-08-2007 à 11:50:07
faudrait déjà savoir sur quelle machine tu places ces règles iptables...
Marsh Posté le 24-08-2007 à 11:52:47
Ben sur la machine A puisqu'elle a une IP publique sur internet et une IP sur le réseau local...
Marsh Posté le 24-08-2007 à 11:54:40
zezette a écrit : Ben sur la machine A puisqu'elle a une IP publique sur internet et une IP sur le réseau local... |
donc il doit manquer un ACCEPT en FORWARD non ?
Marsh Posté le 24-08-2007 à 12:01:02
ouais j'ai pas tout collé mais y'a ça avant :
iptables -P FORWARD DROP
iptables -A FORWARD -i $if_local -o $if_public -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $if_public -o $if_local -m state --state ESTABLISHED,RELATED -j ACCEPT
Marsh Posté le 24-08-2007 à 12:04:55
chui con fallait ajouter new....
iptables -A FORWARD -i $if_public -o $if_local -p tcp --dport 1050 -m state --state NEW -j ACCEPT
Ca répond à la première partie de ma question.
Et Pour le reste ?
Mieux : on arriverait sur le port 80 du serveur web B : 212.68.xxx.xxx:1050 --> 192.168.0.2:80
Encore mieux : on arriverait sur le serveur B même à partir du réseau local 192.168.0.1:1050 --> 192.168.0.2:1050
Le top : les 2 ensemble 212.68.xxx.xxx:1050 --> 192.168.0.2:80 et 192.168.0.1:1050 --> 192.168.0.2:80
Marsh Posté le 24-08-2007 à 12:07:32
zezette a écrit : chui con fallait ajouter new.... |
bon bah tout va bien alors
Marsh Posté le 05-10-2005 à 17:46:37
Bonsoir à tous,
J'aimerais mapper le port 9876 (tcp) de mon PC raccordé à Internet (qui offre entre autre internet à mon réseau local (NAT)), de manière à ce que si on fait un requête sur ce port de l'extérieur (internet), on se retrouve non pas sur ce PC raccordé à Internet, mais sur un PC du réseau local (192.168.0.2).
Je sais que c'est faisable avec iptables, mais je ne trouve pas la syntaxe correcte (je pense qu'il faut utiliser la règle mangle...)
Si qqn a une idée, elle est la bienvenue...
---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes