Mon PC est derrière un routeur NAT possédant une adresse IP publique. Si je souhaite héberger un site Web, j’ai besoin d’un nom de domaine que je peux acheter auprès d’un site qui s’engage à résoudre toutes les requêtes DNS de ce nom de domaine et à envoyer l’adresse IP de mon routeur NAT ( en supposant que je ne souhaite pas héberger mon nom de domaine sur leurs serveurs). Maintenant, je veux héberger un serveur Web sur mon ordinateur.
Il est possible d'héberger un serveur derrière NAT comme vous le décrivez.
Regardez cette page d’aide Ubuntu sur ServersBehindNAT pour les bases.
Quelques autres références,
Cela suppose que vous savez héberger un serveur Web et avez besoin d’idées sur le NAT.
Vous pouvez configurer un tunnel I2P .
Si vous avez seulement besoin de TCP, vous pouvez configurer un service caché Tor .
Si vous devez uniquement héberger des pages Web statiques, vous pouvez configurer un site ZeroNet .
Ils ne nécessitent tous aucune redirection de port.
Après avoir vérifié toutes ces réponses et les procédures associées, j'ai supposé qu'elles impliquaient toutes des configurations complexes avec de gros programmes (partiellement conçus à d'autres fins), ainsi que des fichiers de configuration et d'autres éléments. J'ai donc décidé d'écrire ma propre solution.
https://github.com/rofl0r/nat-tunnel
C'est un script python de 250 lignes, que vous pouvez exécuter directement à partir de git checkout.
Exemple: un serveur HTTP écoute sur votre ordinateur local sur le port 80. Vous voulez le rendre disponible sur l'IP publique de votre serveur cloud/VPS/etc sur le port 7000. Nous utilisons le port 8000 sur le serveur cloud pour le canal de contrôle.
utiliser comme
Serveur:
natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000
Client:
natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000
Vous devez également exécuter un serveur Web sur votre ordinateur. Il suffit d’obtenir Apache, il fonctionne sur presque tout et c’est ce que la plupart des sites utilisent.
Une autre alternative pourrait être quelque chose comme homelinux, où votre adresse IP dynamique peut être mappée sur un URL de statix . Homelinux.
Il y a aussi d'autres choix que "homelinux"
1.) Vous devez transférer le port 80 sur votre adresse IP interne sur le port 80
2.) éventuellement. Si vous avez une adresse IP statique de votre fournisseur de services Internet, vous êtes prêt à utiliser cette stratégie. Si vous n'avez pas d'adresse IP statique, vous devrez probablement utiliser Dynamic Dns, qui est l'endroit où vous exécutez un logiciel sur le serveur, et il met continuellement à jour l'adresse IP de votre nom de domaine, qui est généralement quelque chose ils assignent. Cependant, vous pouvez configurer un enregistrement CNAME sur votre domaine pointant vers celui du fournisseur DNS dynamique.
3.) Personnellement, je ne dirais pas que c'est courant, mais ce n'est pas rare non plus.
le trafic TCP de transfert de port vers votre routeur sur le port 80 vers votre ordinateur sur le port_w Whatever_you_are_running_your_webserver
vous n'avez pas besoin d'un nom de domaine pour autoriser d'autres personnes à accéder à votre serveur Web, l'adresse IP publique est suffisante. un nom de domaine sur votre adresse IP publique est tout simplement plus pratique. sinon votre plan a l'air bien.
votre routeur est juste "un pare-feu" entre le public et votre serveur. une telle configuration est assez commune.