Accéder à un appareil sur mon réseau local depuis Internet

18

J'ai un appareil intégré que je peux programmer via Ethernet IP lorsqu'il est connecté sur le même routeur avec le PC comme suit:

entrez la description de l'image ici

Est-il possible d'envoyer tout le trafic via Internet et de pouvoir le programmer? Pour être un peu plus clair, quelque chose comme:

entrez la description de l'image ici

Moteur
la source
6
"Ethernet IP"? N'est-ce pas juste ... un réseau LAN ordinaire?
user1686
"Programmation via Ethernet IP" - qu'est-ce que cela signifie exactement? Il serait utile de spécifier de quel périphérique et IDE vous parlez. Je suppose que l'IDE se connecte au périphérique sur une adresse IP et un port TCP donnés pour recevoir des commandes?
slhck
@grawity oui c'est un réseau LAN.Like régulier et chez slhck j'utilise codesys IDE et un appareil avec codesys Runtime dessus!
Moteur
3
La réponse évidente est bien sûr IPv6.
Michael Hampton
1
@grawity Ethernet / IP est un protocole d'automatisation industrielle, à ne pas confondre avec IP sur Ethernet :(
richardb

Réponses:

50

La méthode simple (et peu sûre)

Ce que vous recherchez est appelé redirection de port [ 1 ] [ 2 ] .

Par exemple, supposons ce qui suit:

  • Votre appareil programmable fonctionne sur le port 22et possède l'IP192.168.1.5

  • Votre adresse IP publique est 122.176.11.55

Ensuite, vous pouvez entrer dans les paramètres de votre routeur et transférer un port WAN (par exemple, 8022) vers 192.168.1.5:22.

Maintenant, vous pouvez accéder à distance à l'appareil depuis n'importe où via Internet en accédant à la 122.176.11.55:8022place de 192.168.1.5:22votre IDE.

Gardez à l'esprit qu'à moins que vous n'ayez une adresse IP statique, votre adresse IP publique peut changer à tout moment, auquel cas vous devriez vérifier les services DNS dynamiques .

REMARQUE : à moins que votre appareil ne dispose d'une méthode d'authentification, une personne malveillante y trouvera presque certainement accès sur le Web ouvert. Voir ci-dessous pour une alternative sûre.

La méthode sûre (et honnêtement pas beaucoup plus compliquée)

Laissez un PC (ou Raspberry Pi, ou similaire) connecté à votre réseau et accédez -y à distance à la place via quelque chose de sûr comme SSH, puis programmez votre appareil via LAN.
Cela a également l'avantage supplémentaire de fonctionner même si votre appareil n'utilise pas TCP ou UDP :)

Un peu fastidieux, oui. Mais sûr.

rahuldottech soutient Monica
la source
10
Il serait également utile de noter que si OP définit un transfert de port ouvert pour ce faire, tout le monde dans le monde entier pourrait potentiellement changer le code. Sauf s'il existe une forme d'authentification également, tôt ou tard, portsniffers trouvera le port et un pirate tentera de s'introduire, c'est une garantie.
LPChip
@LPChip Effectivement! J'aurais dû mentionner ça, ma mauvaise.
rahuldottech soutient Monica
Belle addition. :) Je vous donnerais un +1 pour cela, mais je l'ai déjà donné au début, car même sans avertissement, c'était déjà une bonne réponse. :)
LPChip
2
@FreeMan plus tard, il peut s'écouler plusieurs jours avant qu'un robot robotique apparaisse, selon le port que vous utilisez, mais plus tôt dans le sens où, si vous n'avez pas de chance, cela peut arriver en quelques minutes.
LPChip
1
@IsmaelMiguel Bien sûr, vous devriez faire toutes les tâches de sécurité de base évidentes. Je n'ai tout simplement aucun moyen de savoir de quoi il s'agit dans ce cas précis.
rahuldottech prend en charge Monica
11

La seule et unique bonne réponse peut être "VPN".

La simple utilisation d'IPv6 "fonctionnerait" (en supposant que le routeur n'est pas configuré pour pare-feu hors de l'appareil, et que tous les FAI, appareils et ordinateurs portables prennent en charge IPv6), mais c'est une idée terrible pour la même raison que la redirection de port.

En dehors de la promotion de la propagande bien connue IPv6, vous ne voulez en fait jamais que les appareils de votre réseau local soient identifiables de manière unique ou même accessibles depuis Internet. Non, ce n'est pas une bonne chose.

La redirection de port "fonctionnerait" avec le bon vieux IPv4, mais elle rend l'appareil accessible non seulement à vous mais à tout le monde. Personne ne sait, donc ce n'est pas un problème, non?
Eh bien, il existe une armée de scanners de ports automatisés fonctionnant 24h / 24 et 7j / 7 et scannant des adresses / ports aléatoires dans l'espoir que n'importe quoi, n'importe où, puisse éventuellement répondre, donc généralement, avoir un appareil qui répondra à une demande externe en ligne n'est pas optimal. Si un appareil se sera heureusement programmé en fonction de ce qui arrive via le réseau, c'est une recette pour un désastre.
Ce qui précède est également valable en principe pour le VPN, mais c'est à peu près aussi bon que possible si vous voulez y accéder. La seule chose vraiment sûre n'est pas du tout une connexion Internet, ce qui n'est pas une option pratique pour des raisons évidentes. La prochaine chose la plus sûre à «pas d'Internet» est VPN. Exactement un port sur exactement un appareil (enfin, cela dépend, jusqu'à trois ports), exposant VPN et rien d'autre , redirigé vers Internet.

Le VPN vous permet - mais personne d'autre - d'accéder à un appareil sur votre LAN via Internet comme si vous étiez sur le même LAN (bien qu'un peu plus lent). Il empêche tout accès non autorisé, il assure la confidentialité et l'intégrité des données.

Pratiquement tous les routeurs sans merde prennent en charge au moins une version de VPN prête à l'emploi. Malheureusement, selon le modèle de routeur que vous possédez, il peut s'agir d'une mauvaise version du VPN ou de la mauvaise façon de configurer l'ordinateur distant. Pourtant, malgré les tracas possibles de trouver comment le configurer - si vous n'avez rien de mieux, c'est de loin la meilleure option!
La plupart des boîtiers NAS courants prennent en charge deux ou trois méthodes de VPN sans succion, et chaque ordinateur de 3 watts de carte de crédit de 20 $ peut exécuter un serveur VPN, pas de problème. Même de nombreux téléphones mobiles modernes prennent en charge le VPN sans avoir à installer de logiciel supplémentaire, vous pouvez donc même accéder à votre réseau domestique lorsque vous utilisez Internet mobile de votre téléphone (via un hotspot privé, même).

Par exemple, L2TP / IPSec n'est peut-être pas le choix le plus génial, mais il est bon à 99% et prend une minute à configurer sur ma Disk Station et sur mon téléphone Samsung. Encore une minute si mon ordinateur portable Windows doit également l'utiliser (indépendamment du téléphone). Aucun logiciel supplémentaire requis.
OpenVPN prend environ 3-5 minutes de configuration car vous devrez télécharger installer le logiciel client sur l'ordinateur portable. Mais dans une plus grande image, une configuration de 5 minutes compte comme "zéro", par rapport à être complètement dangereuse.

Damon
la source
5
L'achat de services tiers n'est pas la seule réponse. Vous pouvez obtenir le même effet avec SSH ou RDP.
jpaugh
4
Les deux et seules bonnes réponses sont des tunnels VPN ou SSH ... Certains protocoles VPN ne sont pas très bons non plus pour empêcher le MITM ...
Trognanders
5
SSH est beaucoup moins cher, plus pratique et plus facile à configurer et probablement la meilleure option dans ce scénario
rahuldottech prend en charge Monica
@jpaugh: VPN n'implique aucun service tiers. Bien que je convienne facilement que SSH peut fonctionner, il est loin d'être le même que VPN en ce qui concerne la facilité de configuration, la disponibilité universelle sans installation supplémentaire et sans arceaux, et enfin et surtout, une utilisation transparente . Maintenant, à propos de RDP ... vous plaisantez bien sûr, non? Non seulement c'est l'implémentation parfaite, le logiciel probablement le plus exploité au monde (ou du moins dans le top-5), mais aussi le protocole lui-même est intrinsèquement peu sûr, utilisant des chiffrements cassés (réalisables, non théoriques), et une version TLS qui a été remplacée il y a une décennie.
Damon
4
-1 simplement pour "un et seulement" dans le titre, SSH avec redirection de port est également complètement valide et probablement plus sûr car vous n'avez pas nécessairement à donner un accès à distance à l'ensemble de votre réseau, juste un port d'un appareil, et très probablement il est facile à configurer et vous ne comptez pas sur la mise en œuvre logicielle aléatoire d'un routeur d'une fonctionnalité rarement utilisée.
Bill K
2

Hébergez un VPN, soit dans un routeur / une passerelle de sécurité, soit dans un autre boîtier avec redirection de port vers ce boîtier. Chaque fois que vous souhaitez travailler à distance, connectez-vous au VPN et vous verrez le périphérique intégré comme s'il était sur un réseau local. Ce serait probablement une bonne idée de placer le périphérique intégré dans un sous-réseau isolé, pour aider à prévenir les attaques sur votre réseau principal si le VPN ou le périphérique intégré est compromis.

Michael P
la source
1

Transformez un PC Windows sans IDE en un PC Linux dans une configuration raisonnablement sécurisée avec sshd en cours d'exécution. Port forward de votre routeur vers le port SSH sur la machine Linux. Utilisez des tunnels SSH pour vous connecter à l'IP du périphérique intégré. Ensuite, lors de la programmation sur votre machine distante avec un IDE, vous vous connecterez à localhost au lieu du LAN IP.

Écouter sur Internet avec un service renforcé comme SSH est raisonnablement sûr. Écouter directement sur Internet avec n'importe quoi de développement est une idée fabuleusement mauvaise. SSH est un portier. Si vous vous assurez de vérifier la clé d'hôte, elle protège absolument contre MITM. Il utilise une bonne cryptographie. La configuration du tunnelage n'implique pas de routage ou de pontage, mais ressemble plutôt à une connexion directe à partir de la machine SSHD. C'est beaucoup plus simple à configurer correctement.

trognanders
la source
Vous pouvez ... Il suffit d'exécuter un serveur SSH sous Windows, vous n'avez pas besoin de Linux ici.
rahuldottech prend en charge Monica
"Ensuite, lors de la programmation sur votre machine distante avec un IDE, vous vous connecterez à l'hôte local au lieu de l'IP LAN." Ce morceau n'a pas de sens pour moi, élaboré?
rahuldottech soutient Monica
La redirection de port @rahuldottech SSH fonctionne au niveau TCP. Sur le serveur, le sshd ouvre des connexions à la ressource sur le réseau local et transfère le contenu de ce socket sur SSH. Sur la machine distante, le client ssh écoute sur un port localhost. Lorsque vous vous connectez à localhost sur ce port, il s'agit du client SSH et il connecte simplement les connexions TCP ensemble. Un peu bizarre mais vraiment polyvalent car il n'y a pas de routage IP!
trognanders
-1

J'ai récemment trouvé une meilleure solution pour un accès à distance personnel uniquement. Voyons d'abord l'étendue du problème. Il y a trois problèmes qui entrent en jeu: le nat, l'adresse IP et la sécurité. Par exemple, dans les cas courants où vous souhaitez exécuter un serveur ssh ou Web sur un réseau domestique, l'approche traditionnelle est la redirection de port et le DNS dynamique et les meilleures pratiques standard de l'industrie en matière de sécurité. Cela présente des inconvénients pour votre boîtier car votre appareil n'a pas de sécurité standard. Cela peut être atténué en utilisant la redirection de port ssh au lieu d'ouvrir votre appareil à Internet,

Il existe cependant une solution plus simple, et croyez-le ou non, ce sont les services cachés. Les services cachés agissent essentiellement comme un port forward, mais gèrent automatiquement la traversée nat, et n'ont pas d'adresse changeante donc le DNS dynamique n'est pas nécessaire. Il est bien sûr difficile de se souvenir de l'adresse de l'oignon, mais si vous êtes le seul utilisateur, vous pouvez l'écrire dans l'un de vos fichiers de projet. Je recommanderais toujours de parer cela avec un serveur ssh pour fournir une authentification, mais vous pouvez décider que la longue adresse oignon est suffisante. De plus, les services cachés fournissent le cryptage de l'ensemble du lien, sauf pour le dernier saut, de sorte que le seul moyen de s'améliorer est le cryptage de bout en bout, mais cela dépend de l'appareil que vous programmez.

hildred
la source
4
L'utilisation des services de l'oignon ne fera que compliquer cette méthode sans aucun avantage supplémentaire. Tor peut être utile. Ne sera pas dans ce cas.
rahuldottech prend en charge Monica