J'ai cherché, cherché et essayé plusieurs choses différentes, mais je n'ai pas réussi à trouver une solution.
Voici ma situation :
nœud1 a 2 interfaces : eth0 (IP publique : 56.X.X.X), et eth1 (IP privé : 10.X.X.X)
nœud2 a 2 interfaces : eth0 (IP publique : 56.X.X.X), et eth1 (IP privé : 10.X.X.X)
Chaque nœud fonctionne sous Ubuntu 10.04 LTS.
A partir de cette configuration nœud1 et nœud2 ont tous accès à l'internet mais se connectent également les uns aux autres en privé par le biais d'un réseau local.
Ce que je veux accomplir, c'est avoir nœud1 être un pare-feu et serveur proxy para nœud2 et de nombreux autres nœuds que je déploierai plus tard. nœud1 aura le seul accès à l'internet car je vais désactiver eth0 sur nœud2 de sorte que nœud2 n'a accès qu'à ce qui se trouve sur son réseau privé.
En clair, comment puis-je faire suivre un www demande qui arrive dans nœud1 et sur eth0 et le transmettre à nœud2 en utilisant eth1 tandis que nœud2 fera office de serveur web pour cette requête ?
Après avoir suivi l'exemple ci-dessous, voici mon iptables -L :
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere 10.182.43.193 state NEW tcp dpt:www
ACCEPT tcp -- anywhere 10.182.43.193 state NEW tcp dpt:https
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Voici mon iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT all -- anywhere firewall to:10.182.43.193
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination