J'ai un serveur Linux dans mon laboratoire (appelé ci-après pc1) et un ordinateur Windows pc2 sur lequel un serveur de jeux est exécuté. Mais comme il s’agit d’un réseau privé et que le seul ordinateur auquel Internet peut accéder est le pc1. Mais je veux que le serveur de jeu sur pc2 soit vu par l’extérieur d’Internet. Mais je n'ai aucune permission d'accès au routeur de notre laboratoire. Donc, je veux que le pc1 agisse comme une sorte de routeur qui transfère pc1: port1 à pc2: port2 et inversement. Et ensuite, la requête extérieure à Internet peut accéder à pc2: port2 et la réponse à partir de pc2 peut également atteindre l'extérieur. Existe-t-il une méthode pour y parvenir?
0
Réponses:
Appelons eth0 l'interface (IF) sur laquelle pc1 est relié au routeur et eth1 le IF sur lequel pc1 est liée à pc2. Vous avez besoin de ces commandes, publiées en tant que sudo, sur pc1:
Sur la machine Windows, vous devrez configurer une adresse IP statique dans la plage 192.168.27.0/24, par exemple 192.168.27.2, et définir 192.168.27.1 comme passerelle par défaut.
Cela fonctionne sur les systèmes de type Debian. Si vous avez une autre distribution, vous devrez l’adapter à vos besoins. Par exemple, sur Systemd-distros (Arch-Linux, Fedora, SuSE 19 ..), la première commande est
systemctl stop network-manager
).La première commande désactive networkmanager, ce qui empêche la plupart des opérations personnalisées. Les 3 commandes suivantes connectent pc1 à votre routeur et les commandes suivantes 5 à 6 connectent pc1 à pc2. Ensuite, les commandes 7 à 8 configurent la table de routage, les commandes 9 à 10 configurent DNS, la commande 11 active le transfert Ipv4 dans le noyau et les commandes 12-13 définissent les règles permettant à iptables de jouer le rôle de redirecteur NAT et d'accepter les connexions de pc2.
Cela peut être facilement scripté.
Si vous souhaitez uniquement autoriser la communication sur certains ports, remplacez
avec
la source