[Linux-31] Syntaxe iptables

Pascal Hambourg pascal.news at plouf.fr.eu.org
Sam 22 Juin 17:48:53 CEST 2013


fred a écrit :
> 
> Je me suis mal exprimé, je détaille :
> 
> - Box configurée (transparent) --> PC en 192.168.1.2 faisant office de 
>   passerelle/iptables/routeur/serveurs :  apache/ssh/postfix
> 
> - 192.168.1.2 est la passerelle entre internet et le réseau interne.
> 
> - Réseau interne : Une dizaine de PC en 192.168.1.x
> 
> Tout fonctionne et les ports sont ouverts pour apache/ssh/postfix sur la
> passerelle/routeur/serveurs
> 
> 
> Le problème :
> 
> J'ai un deuxième  PC --> 192.168.1.3 qui fait serveur pour un jeux en ligne en
> java utilisant le port 5557.
> 
> Je cherche une régle iptables qui permette un accés direct pour
> 192.168.1.3 via la  passerelle/routeur 192.168.1.2 depuis l'extérieur.


Impossible de faire une réponse précise sans connaître le jeu de règles
existant. Mais basiquement, il faut :
- Activer le forwarding IP sur la passerelle. Si elle sert de routeur,
je suppose que c'est déjà fait.
- Rediriger le port TCP (pas UDP, hein ?) 5557 vers l'adresse du
serveur, en insérant au bon endroit une règle de ce style, où ethX est
l'interface réseau côté box :

iptables -t nat -A PREROUTING -i ethX -p tcp --dport 5557 -j DNAT --to
192.168.1.3

- Accepter les paquets TCP à destination du port 5557 du serveur, si
nécessaire en insérant au bon endroit une règle de ce style, où ethY est
l'interface côté LAN :

iptables -A FORWARD -i ethX -o ethY -d 192.168.1.3 -p tcp --dport 5557
-m state --state NEW,ESTABLISHED -j ACCEPT

- Accepter les paquets TCP émis depuis le port 5557 du serveur, si
nécessaire en insérant au bon endroit une règle de ce style :

iptables -A FORWARD -i ethY -o ethX -s 192.168.1.3 -p tcp --sport 5557
-m state --state ESTABLISHED -j ACCEPT

- Pour faire propre, on peut aussi accepter les éventuels messages
d'erreur ICMP liés aux connexions de ce serveur :

iptables -A FORWARD -i ethX -o ethY -d 192.168.1.3 -p icmp -m state
--state RELATED -j ACCEPT
iptables -A FORWARD -i ethY -o ethX -s 192.168.1.3 -p icmp -m state
--state RELATED -j ACCEPT



Plus d'informations sur la liste de diffusion Linux-31