Task Description
Salut !!!!
Le problème est simple... Lorsque je suis dans mon reseau privé, derrière ma box, et que je fais:
$ telnet ip_publique_de_ma_box 80
Je tombe sur : ip_privee_de_ma_box
J’aime bien l’interface web de la freebox, mais ce n’est pas ça que je veux ! c’est mon serveur web naté dans mon réseau privé !!!
Je crois deviner qu’il y a des règles IpTables un peu mal foutu dans la box, alors imaginons la topologie réseau de la box:
Mon reseau privé en 192.168.x.y/24 Ma box avec cette ip privée: 192.168.x.254 L’interface de la box dans le reseau privé : eth0 (par exemple)
Maintenant, le reste du monde, Internet, sur l’interface “eth1” (toujours pour l’exemple). L’IP publique : 82.228.221.z1 (par exemple)
# LAN ↔ WAN (simplifié)
# Regles de NAT entrant (WAN → LAN)
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j DNAT –to 192.168.x.y1
# ... etc...
# Autoriser le routage entre interfaces...
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
# pour joindre internet avec mon ip public
iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to 82.228.221.z1
# Si je veux joindre la box elle-meme, a partir de mon reseau privé:
iptables -t nat -A PREROUTING -i eth0 -d 192.168.x.254 REDIRECT
# tiens, mon LAN veut atteindre “mon” IP publique: marquons les paquets
iptables -t mangle -A PREROUTING -i eth0 -d 82.228.221.z1 -j MARK –set-mark 0xfff0001
# Pour que les NAT fonctionnent aussi bien du LAN que du WAN
# On reprend les mêmes regles de NAT , en adaptant comme ceci par exemple: iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to 192.168.x.y1 # ... etc...
# Autorisons le LAN ↔ LAN iptables -A FORWARD -i eth0 -o eth0 -j ACCEPT
# Astuce en sortie sur le LAN. Donner l’IP publique de ma box ! iptables -t nat -A POSTROUTING -o eth0 -m mark –mark 0xfff0001 -j SNAT –to 82.228.221.z1
Et voila. Ca demande a être affiné bien sur...
Donc: 1) ne rediriger vers l’interface web de la box que ce qui lui est destiné. 2) si je veux attendre l’IP publique de ma Box, il faut renvoyer ce qui est *naté* dans le reseau privé. 3) En sortie (retour) dans le reseau privé, il faut donner l’IP public de la box.
La prochainement fois, je vous expliquerais comment intégrer un client VPN dans la Box.
A+
|