[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