2 votes

Rediriger tout le trafic vers une adresse IP vers une VM

Situation: J'ai un serveur dédié (CentOS 6) avec plusieurs VM (Cent OS 7 et Windows Server 2012 R2) dans Virtual Box. Quelques applications s'exécutent sous Windows et sont accessibles depuis l'IP principale (X.X.105.20) en utilisant mod proxy. L'application hébergée dans la VM Linux doit être accessible depuis une adresse IP différente (X.X.109.118) (la deuxième adresse IP du serveur).

What have I Tried: Jusqu'à présent, j'ai essayé de faire de la redirection d'IP à partir de cette question SF mais l'application n'est pas accessible.

iptables -t nat -A PREROUTING -p tcp -d X.X.109.118 -j DNAT --to-destination 192.168.56.102
iptables -t nat -A POSTROUTING -p tcp -d 192.168.56.102 -j SNAT --to-source X.X.109.118

iptables -I FORWARD -m state -d 192.168.56.102 --state NEW,RELATED,ESTABLISHED -j ACCEPT

Par ailleurs, l'application est accessible depuis l'invité Windows ainsi que depuis l'hôte CentOS.

Edit Based on The comment: J'ai deux domaines. Quelques applications Web basées sur .net s'exécutent sur le serveur Windows en utilisant des sous-domaines de l'un des domaines. Et j'utilise un autre nom de domaine pour l'application fonctionnant sous Linux. Ainsi, tout l'accès se fait par nom pour le premier domaine (et ses sous-domaines), qui utilise également l'adresse IP principale. Le deuxième domaine que j'ai enregistré correspond à l'adresse IP supplémentaire X.X.1.118. Le ping fonctionne bien également (en utilisant à la fois l'IP et le nom de domaine). Tout ce que je veux, c'est que cette IP puisse envoyer (et recevoir) toutes les communications vers la VM à 192.168.56.102.

0 votes

Quelle erreur obtenez-vous ? Avez-vous déjà activé ip forwarding sur vos serveurs ? Le pare-feu ne bloque rien ?

0 votes

Comment avez-vous configuré le réseau pour les machines virtuelles - il y a plusieurs options différentes pour le NAT, le pontage, etc. qui affectent l'adresse IP attribuée aux machines virtuelles et la manière de les atteindre.

0 votes

@bangal Je reçois la page d'accueil d'Apache 2. Et la redirection d'ip est activée. Le pare-feu est également désactivé.

2voto

Olexa Points 219

Votre deuxième règle correspond à 192.168.56.102 en tant que destination, mais la chaîne POSTROUTING doit être utilisée pour réécrire la destination des paquets provenant de 192.168.56.102 (la réponse).

Modifiez votre deuxième règle en :

iptables -t nat -A POSTROUTING -p tcp -s 192.168.56.102 -j SNAT --to-source X.X.109.118

ou

iptables -t nat -A POSTROUTING -p tcp -s 192.168.56.102 -j MASQUERADE

Vous envoyez tous les paquets tcp avec pour destination X.X.109.118 vers la machine virtuelle linux, il ne peut donc y avoir aucun serveur web écoutant sur cette adresse sur l'hôte dédié.

Assurez-vous qu'Apache n'écoute pas sur l'adresse IP vers laquelle vous transmettez pour éviter que les paquets soient traités par la chaîne INPUT.

Ou vous pouvez avoir un hôte virtuel basé sur le nom configuré pour le domaine mais n'écouter que sur l'adresse (juste cet hôte virtuel écoutant sur X.X.109.118) et supprimer les règles iptables.

par exemple:

[...]

0 votes

Merci pour la réponse. Mais cela a entraîné une erreur Hmm, nous ne pouvons pas accéder à cette page. et si j'essaie depuis Host, je reçois toujours la page par défaut d'Apache de l'hôte.

0 votes

Salut, j'ai mis à jour ma réponse avec le problème relatif à Apache aussi.

0 votes

Je pense que vous avez mal compris ma situation. Ici, l'hôte virtuel n'est pas applicable. L'application hébergée sur CentOS 7 doit fonctionner sur de nombreux ports (plus de 25000) et protocoles (HTTP, HTTPS, WS, etc.). C'est la principale raison pour laquelle j'ai dû réserver une autre adresse IP. L'idée était de rendre la machine virtuelle entièrement disponible sur cette adresse IP de manière exclusive et extensive. Le problème, à mon avis, est que le forwarding IP ne fonctionne pas du tout. Par conséquent, l'hôte affiche la page par défaut.

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