Question

Je suis très intéressé par au moins l’essai d’implémentation de NAT par le biais de mon projet senior. (Je fais une API de mise en réseau). Ce n'est même pas une exigence de mon projet, juste un intérêt mien. Je connais les bases de son fonctionnement, corrigez-moi si je me trompe: Deux clients se connectent à un serveur qui ne se trouve pas derrière un NAT et ce serveur, connaissant l'adresse IP de ces deux clients, demande aux clients de se connecter en même temps. Ainsi, le "Percée".

Cela ne semble pas très facile ni très difficile à coder. Cependant, la partie à laquelle je suis coincé est le test de cela. Y at-il une configuration raisonnable que je peux faire avec un seul routeur / un NAT et mes trois ordinateurs disponibles?

Merci pour tout conseil!

Était-ce utile?

La solution

En termes de code / théorie sur la rupture de NAT, je ne peux pas donner de conseils, mais je peux faire quelques suggestions sur la configuration d’un environnement de test.

Vous pouvez télécharger une copie de m0n0wall et l'exécuter à l'intérieur d'une image Virtual PC (toutes deux gratuites). . Cela vous donnera un deuxième routeur sans achat de matériel supplémentaire. Avec ce routeur supplémentaire, vous pouvez créer un sous-réseau séparé pour vos deux clients.

Une autre option, plus facile à saisir, consiste simplement à prendre un deuxième routeur, vous pouvez en obtenir un très bon marché.

Configurez ensuite votre routeur et votre serveur existants tels qu’ils sont maintenant, un sous-réseau 192.168.1.x / 24; puis configurez votre deuxième routeur (m0n0wall / routeur matériel) en tant que sous-réseau 192.168.2.x / 24 et branchez le connecteur "Internet" du deuxième routeur. Port dans l'un des "PC" ports sur votre premier routeur. Branchez ensuite les deux clients sur le deuxième routeur.

(Je me rends compte que c’est un peu déroutant, si vous ne pouvez pas suivre ce que je veux dire)

Autres conseils

Laissez-moi voir si j'ai tout à fait raison. Vous avez deux clients derrière NAT et un serveur qui ne l’est pas. Les deux clients se connectent au serveur et sont informés de l'adresse IP publique de l'autre. Puisque chacun a maintenant une destination, ils se déconnectent du serveur et se connectent directement via leurs boîtes NAT respectives. Est-ce ce que vous pensez? Si c'est le cas, j'ai peut-être de mauvaises nouvelles pour vous.

Pour que cela fonctionne, vous devez configurer des ports dédiés dans chaque configuration NAT afin de transférer au moins un port externe vers une adresse IP / numéro de port interne prédéfini. Dans une configuration NAT générique, les demandes de connexion sortantes seront capturées par le NAT, ce qui ouvrira un port externe temporaire. Ce numéro de port externe est utilisé uniquement pour les communications avec cette adresse d'origine et ce port. Lorsque la connexion est fermée, ce port externe disparaît et sera réaffecté ultérieurement pour une autre connexion. Donc, si les deux clients parlent au serveur puis se déconnectent, les informations que le serveur leur a envoyées sont maintenant invalides.

En supposant que vous travailliez sur cette question d’une manière ou d’une autre, il devrait être assez facile de simplement connecter les deux clients au contact "interne". côté de la NAT et le PC serveur vers le "externe" côté. Ensuite, vous devez espérer que votre boîte NAT est suffisamment intelligente pour reboucler les paquets d’un port externe local à un autre. Je suis sûr que Netfiler pourrait être configuré de cette façon, mais je doute qu'un Internet domestique soit "routeur". (par exemple, Linksys, NetGear, etc.) le ferait de l’étagère.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top