2 votes

Est-il possible de traduire une IP publique en IP privée en utilisant iptables ?

J'ai un tas d'hôtes dans le nuage avec des IP privées et publiques. Jusqu'à présent, je pouvais accéder à tous les hôtes publiquement et comme je le voulais. Maintenant, je veux désactiver l'accès à tous ces hôtes depuis l'extérieur et mettre en place un VPN.

J'ai créé un serveur VPN et tout fonctionne bien - je peux voir mon réseau interne facilement. Il y a un problème auquel je suis confronté en ce moment. Tous les hôtes sont accessibles via un DNS public et ce DNS a des adresses IP publiques pour tous les hôtes.

Je veux un moyen de convertir toutes les IP publiques en IP privées. Par exemple, disons que j'ai 2 hôtes avec les IP suivantes :

Host 1:
Private IP: 10.1.0.5
Public IP: 1.2.3.4

Host 2:
Private IP: 10.1.0.6
Public IP: 5.6.7.8

Si j'accède à 5.6.7.8 (1.2.3.4), je veux que le serveur le traduise en 10.1.0.6 (10.1.0.5).

Est-ce possible via iptables ? J'ai essayé les éléments suivants jusqu'à présent, mais rien n'a changé :

iptables -t nat -A OUTPUT -d 5.6.7.8 -j DNAT --to-destination 10.1.0.6

3voto

Aaron Points 2779

Intercepter le trafic et le router vers une IP en utilisant iptables

iptables -t nat -I PREROUTING -d 5.6.7.8 -j DNAT --to-destination 10.1.0.6
iptables -t nat -I PREROUTING -d 1.2.3.4 -j DNAT --to-destination 10.1.0.5

iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE

Dans votre exemple, vous essayiez de router le trafic sur le OUTPUT et il est trop tard dans la décision d'acheminement. Dans cet exemple, je suppose que votre interface de sortie est eth1. Assurez-vous d'avoir un accès à la console de ce périphérique au cas où vous vous bloqueriez à cause d'une mauvaise configuration ou d'un manque d'informations échangées entre nous.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X