Je souhaite que toutes les connexions entrantes sur le port 1000 de mon hôte (IP: 200.234.XXX.XXX) soient transférées sur le port 80 de l'hôte 10.211.55.5.
Comment puis-je le faire sur mon hôte? Il fonctionne sous Mac OS X 10.5.8
Très simple à faire, vous devrez d’abord activer le service de connexion à distance sur votre Mac ( Préférences Système -> Partage -> Connexion à distance ). Cela démarre votre serveur ssh.
Puis exécutez la commande suivante dans votre terminal OS X:
ssh -L 200.234.XXX.XXX:10000:10.211.55.5:80 -N 127.0.0.1
Vous devrez peut-être initialement accepter l’empreinte digitale du serveur et taper votre mot de passe local pour la connexion SSH. (Vous pouvez également configurer une clé publique/privée ssh de local à local pour éviter de demander un mot de passe, laissez cela comme un exercice pour le lecteur.)
Le format est:
ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1
Très simple en utilisant l'outil polyvalent ncat:
Sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open
Obtenez les binaires de ncat/nmap pour Mac OS X sur le site officiel: http://nmap.org/download.html#macosx
EDIT: ajout de Sudo pour l’écoute sur un port restreint <1024
En supposant que vous ayez un routeur UPnP, il est facile de configurer les ports à l’aide de PortMap
Il a une interface utilisateur très simple.
Eh bien, je peux vous dire comment je fais ce genre de chose sur mon système Mac OS X 10.5.8.
J'ai commencé par une réponse à propos de NAT, mais je pense que vous voulez plutôt un programme de transfert TCP (vous mentionnez 'proxy' et le transfert de port.)
Il y a plusieurs façons de le faire. Selon vos besoins, même 'SSH' peut être activé, bien que ma façon préférée de parler soit un script Perl tcpforward .
Si vous avez besoin de manipulations HTTP (vous devrez peut-être modifier les redirections HTTP, de sorte que lorsqu'une demande d'URL est présentée sans le '/' final, vous ne serez pas redirigé vers le serveur réel, inaccessible), Apache peut alors effectuer le travail d'un proxy inverse. Vous voudrez regarder mod_proxy et plus précisément ProxyPass et ProxyPassReverse. Ne pas activez ProxyRequests, c’est pour le transfert direct du proxy. Il devrait être possible d'utiliser Apache de Mac OS pour le faire, si vous l'avez exécuté. Il vient avec mod_proxy et /etc/httpd/httpd.conf est le fichier de configuration à mettre à jour.
Même avec Apache, vous devez vous assurer que tous les liens du contenu du serveur réel sont relatifs. S'ils font référence au serveur réel, vous pouvez essayer le module mod_proxy_html (je n'ai aucune expérience de l'efficacité de ce dernier.)