web-dev-qa-db-fra.com

Paramètres du pare-feu Windows pour autoriser Docker pour Windows à partager un lecteur

Le pare-feu Windows bloque ma tentative d'autoriser Docker pour Windows à partager C: sur un ordinateur Windows 10.

Fonctionne bien lorsque le pare-feu Windows est désactivé. Quand c'est sur que je reçois 

Un pare-feu bloque le partage de fichiers entre Windows et le conteneurs. Voir la documentation pour plus d'informations.

La documentation dit 

Vous n'avez pas besoin d'ouvrir le port 445 sur un autre réseau. Par défaut, autoriser les connexions au port 445 10.0.75.1 (l'hôte Windows) à partir de 10.0.75.2 (la machine virtuelle).

Je suis "googlé" sur essayer de trouver comment faire cela - quelqu'un peut-il conseiller?

60
Ribeye

Vous n'avez pas réellement besoin de partager le lecteur C mais seulement de réinstaller (ou même de décocher éventuellement cette option) en cliquant sur OK - puis en cochant) le service de partage de fichiers et d'impression sur la carte réseau virtuelle Hyper-V . Voir cet article.

De même, s'il existe des restrictions sur vos profils réseau (c'est-à-dire public), envisagez de modifier le "réseau non identifié" par défaut de la carte "vEthernet (DockerNAT)" sur privé via cette commande PowerShell avant d'effectuer la procédure ci-dessus:

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
86
David Tesar

Ok, donc après avoir exécuté le même problème, .__, j'ai trouvé une solution.

C'est ce que j'ai fait:


Étape 1: Ouvrez ESET. Puis cliquez sur Setup

 click setup

Étape 2: Cliquez sur Protection du réseau

 click network protection

Étape 3: Cliquez sur Assistant de dépannage.

 click troubleshooting wizard

Étape 4: Recherchez la communication 10.0.75.2 (paramètre IP par défaut du docker) Il suffit de vérifier quelle est la plage IP définie dans les paramètres de votre menu fixe. Recherchez ensuite l'adresse IP qui se cette gamme.

 find the connection

Étape 5: Cliquez sur le bouton Débloquer pour afficher cet écran.

 click unblock

Cela a résolu le problème pour moi-même.

Vous pouvez ensuite accéder aux règles et vérifier la règle qui a été ajoutée.


_ {PS: Ceci est mon premier message, désolé pour les procédures incorrectes.} _

32

Mon lecteur C a cessé d'être partagé avec Docker après une récente mise à jour de Windows 10. Je rencontrais le même problème en disant qu'il était bloqué par le pare-feu Windows lorsque je tentais de le redistribuer.

En regardant à travers les solutions ci-dessus, j'ai trouvé quelque chose qui a fonctionné pour moi qui est plus simple que tout ce que j'ai vu sur cette page. Dans Panneau de configuration\Tous les éléments du panneau de configuration\Centre Réseau et partage, sur le vEthernet (DockerNAT) connexion, j'ai décoché la propriété Partage de fichiers et d'imprimantes pour les réseaux Microsoft</ i> et enregistré le réglage. Ensuite, j'ai vérifié à nouveau la propriété pour la réactiver et l'ai enregistrée à nouveau.

À ce stade, j'ai pu redistribuer le lecteur C dans les paramètres de Docker. Je ne sais pas pourquoi cela a fonctionné, mais ce n'était pas un problème de pare-feu, qui a déjà une entrée pour DockerSmbMount.

19
jrk

Ma solution a été de me déconnecter du VPN. qui causait le problème

19
ianaz

Seule cette solution m'aide à:

  • Accédez au gestionnaire Hyper-V -> Gestionnaire de commutateur virtuel -> DockerNAT -> Type de connexion: passer de interne à privé, appliquer, revenir à interne, appliquer
  • Redémarrez MobyLinuxVM
  • Redémarrer Docker
  • Définissez le profil réseau Docker sur 'Privé' Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • Réinitialisation du partage de fichiers et d'imprimantes pour les réseaux Microsoft sur une connexion DockerNAT
  • Allez dans Docker -> Paramètres -> Lecteurs partagés et partagez C:
14
kostia24

J'ai eu ce problème avec Kaspersky; désactiver Kaspersky a fonctionné, alors je savais que c'était le pare-feu. Dans mon cas, Kaspersky bloquait déjà le port 445 pour une raison quelconque. Je devais aller aux règles de paquet pour le pare-feu, services locaux (TCP) et retirer 445 de la liste des blocs de ports.

 Image 1

 Image 2

9
Barry Holroyd

Cela dépend du pare-feu que vous avez installé. Dans mon cas, j'ai désactivé le pare-feu Windows intégré et j'utilise ESET Smart Security pour que mes règles ressemblent à ceci:

  • Créez une règle pour DANS connexion, car vous devez autoriser Docker à se connecter à votre hôte et définissez-le sur Allow.

 enter image description here

  • Configurez le port correctement comme expliqué dans la documentation indiquant 445:

 enter image description here

  • Configurez l'adresse IP distante:

 enter image description here

Peut-être que ce n’est pas la solution, étant donné qu’il n’est pas lié au pare-feu Windows mais pourrait vous donner une idée de la marche à suivre.

5
ReynierPM

Aucun de ce qui précède n'a fonctionné pour moi.

L'astuce a finalement été d'ouvrir les propriétés du réseau "vEthernet (DockerNAT)" et de cocher la case "Commutateur virtuel extensible Hyper-V" au bas de la liste, sous l'onglet "Réseau".

Je ne sais pas si c'est le correctif actuel ou s'il s'agit simplement de réinitialiser l'adaptateur réseau pour moi ... mais cela a fonctionné!

4
Samuel Neugber

Mon problème était Cisco Anyconnect VPN interféré avec le réseau de docker interne 

pour résoudre ce problème, allez à:
Paramètres Cisco Anyconnect> Préférences> Check Allow local (LAN) access when using VPN

3
Arash Moosapour

Pour les machines Windows 10 sur des réseaux de domaine, lors de la création de la carte Ethernet virtuelle Hyper-V, celle-ci est classée en tant que réseau public. Vous devez le remplacer par un réseau privé pour autoriser les règles plus souples du pare-feu Windows et, partant, pour le partage de fichiers.

Exécutez la commande suivante dans PowerShell:

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private

Modifiez le nom entre guillemets si la connexion réseau virtuelle Hyper-V de votre ordinateur est appelée autre chose.

3
mzamora

Tout ce que tout le monde a posté DID NE FONCTIONNE PAS pour moi.

CECI A FAIT 

J'ai installé la version Edge. Je suis ensuite allé à WINDOWS DEFENDER et ai désactivé le pare-feu pour DOCKER NAT. (pas mon adaptateur ethernet réel, juste le nat docker)

Une fois que j'ai désactivé le Windows Defender/Firewall, cela a bien fonctionné.

pouah. espère vraiment que cela aide certains d'entre vous!

3

J'ai eu le même problème et j'ai essayé tous les correctifs - et il s'est avéré qu'il en fallait plus d'un:

  • Ajouter une règle de pare-feu (Norton Security pour moi)
  • Rendre le réseau privé
  • Partager le lecteur

J'ai écrit une explication complète sur http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-Host-volumes/

3
Simon Williams

Mon lecteur G a cessé d'être partagé avec Docker après une récente mise à jour de Windows 10. Je rencontrais le même problème en disant qu'il était bloqué par le pare-feu Windows lorsque je tentais de le redistribuer.

Ensuite, j’ai essayé de résoudre ce problème par quelques suggestions, mais je ne peux pas le résoudre après avoir essayé de réinitialiser les informations d’identité ci-dessous de Shared Drives et mon problème a été résolu.

Donc, si vous voulez, vous pouvez essayer de faire cela.

 enter image description here

2
rowmoin

Pour AVG Internet Security, activer le mode de partage de connexion Internet sous les paramètres Firewall a fait l’affaire pour moi. 

 enter image description here

2
Sohail

Même après s’être assuré que la règle de pare-feu entrante est correctement configurée et même après la désinstallation et la réinstallation du service de partage de fichiers et d’impression, cela n’a pas fonctionné. 

_ {Solution:} en plus de cela, je devais aussi faire une troisième chose. Je devais désactiver la case à cocher Empêcher les connexions entrantes lorsque sur un réseau public} _ dans les paramètres de pare-feu spécifiques des réseaux publics. Après cela, cela a également commencé à fonctionner pour moi. Voir les captures d'écran ci-jointes à la fin de ce message.

Je ne sais pas depuis combien de temps cette option existe déjà. Je travaille actuellement sur Win 10 Pro 1709 16299.402.


1. Ouvrez les paramètres de pare-feu spécifiques pour les réseaux publics Open specific firewall settings for public networks

2. Désélectionnez cette case Uncheck this checkbox

2
baumgarb

J'ai eu le même problème avec F-secure, DeepGuard bloquait le service Docker. Ma solution était:

Ouvrez le client F-secure et cliquez sur "Tasks"

 enter image description here

Choisissez "Autoriser un programme à démarrer"

 enter image description here

Choisissez dans la liste "com.docker.service" et appuyez sur "Supprimer"

 enter image description here

Après cela, redémarrez le client Docker et essayez de demander le partage de fichiers.

Voici également un très bon guide de dépannage ici: Erreur: un pare-feu bloque le partage de fichiers entre Windows et les conteneurs

2
ponkape

Comme indiqué dans une autre réponse, Docker ne joue pas à Nice avec un VPN . Si vous utilisez Nordvpn, vous devez désactiver "Invisibility on LAN" et probablement "Internet Kill Switch".

Si vous l'avez déjà fait, cela devrait fonctionner même avec le VPN actif.

 NordVPN Client

2
Maximilian Ast

J'ai eu le même problème avec le pare-feu ne me permettant pas de partager mon disque C. J'ai essayé toutes les solutions énumérées ci-dessus et rien n'a fonctionné pour moi. Ensuite, j'ai complètement désinstallé docker de mon ordinateur Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
Ensuite, allez sur docker website et cliquez sur Get Docker for Windows (Stable)
Après cela, j'ai pu partager le lecteur C

1
Andrei

Ceci (lien ci-dessous) semble être la meilleure solution que j'ai trouvée jusqu'à présent. Il est persistant lors des redémarrages. Il est mieux expliqué ici: https://Gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3

L’interface réseau vEthernet semble être créée dynamiquement à chaque démarrage du système, et elle est créée dans le groupe "Public" et non dans le groupe "Privé" (où cela fonctionne). Les modifications apportées dans l'un des scripts de démarrage de Docker (mentionnées dans le lien ci-dessus) automatisent la commande/correction powershell mentionnée par David Tesar ci-dessus ....

J'ai eu plus de chance en ajoutant la fonction au script par opposition à l'édition du script et en changeant "Interne" en "Privé".

1
Paul Olson

Dans mon cas, j’ai activé «Bloquer TCP 445» sur Pare-feu Windows Defender avec sécurité avancée et cela a fonctionné  enter image description here

1
khanhkid

L'activation de l'option Le commutateur virtuel extensible Hyper-V a fonctionné pour moi. D'autres solutions n'ont pas fonctionné pour moi. Je l’ai fait en modifiant la configuration dans le panneau HyperV Virtual Switch Manager - DockerNAT - Extensions - Extensions de commutateurs virtuels.

0
CarloV

Qu'est-ce que cela a fait pour moi (après plusieurs heures d'essai-n-erreur) a été de changer le masque de sous-réseau de 255.255.255.240 à 255.255.255.0 (ce qui ne devrait rien changer).

Dans le cadre de trial-n-error, j’avais fait tout ce qui était énuméré dans l’article, mais sans succès .. mais cette dernière étape l’a fait .. et le retour à 255.255.255.240 ne rompt pas le bon cycle.

Je l'avoue, cela n'a aucun sens .. mais cela pourrait être lié à un état interne déclenché uniquement par le changement de réseau.

Quoi qu’il en soit, si j’en ai aidé un seul, cela en valait la peine.

Docker Desktop Edge, 2.0.4.1 (34207)
0
gimlichael

pour ceux qui ne peuvent résoudre ce problème par aucun moyen, vous pouvez essayer ceci: mapper manuellement le lecteur dans l'hôte de docker:

https://github.com/docker/for-win/issues/466#issuecomment-416682825

La recherche est ici: https://github.com/docker/for-win/issues/466#issuecomment-398305463

0
osexp2003

Si vous modifiez le type de carte réseau vEthernet (DockerNAT) en Trusted network, vous pouvez résoudre ce problème facilement avec Kaspersky Internet Security.

Paramètres> Protection> Pare-feu> Réseaux> vEthernet (DockerNAT)> Sélectionnez "Réseau approuvé"

enter image description hereenter image description hereenter image description hereenter image description here

0
xxxbence

J'ai trouvé ça assez facile. Il suffit d'aller à vos connexions réseau. Vous pouvez aller Panneau de configuration/Réseau et partage. Vous trouverez diverses connexions. Recherchez la connexion Docker. Sélectionnez celui qui est par défaut. Après avoir sélectionné le réseau, allez à Propriétés. Dans la section Propriétés, activez l'option Hyper-V Extensible Virtual Switch . Cela aidera le conteneur virtuel à utiliser la carte réseau.

0
Ankush Khobragade

Si aucune des solutions ci-dessus ne fonctionne, assurez-vous que vous n'êtes pas connecté à un VPN. C'est exactement ce qui m'est arrivé. J'étais connecté à un VPN à l'aide du client Cisco AnyConnect. Assurez-vous également de définir un DNS statique dans les paramètres du menu fixe.

0
Kelvin Confesor

Une solution alternative! Je ne sais pas comment j'ai résolu ce problème, mais je pense que c'est l'approche suivante qui a fait l'affaire.

  • Ouvrez le gestionnaire Hyper-V
  • Sélectionnez Virtual Switch Manager
  • Si plusieurs commutateurs virtuels s'appellent DockerNAT, renommez l'un d'eux en un autre nom.
  • Assurez-vous que DockerNAT a le type de connexion Réseau interne.
  • Assurez-vous également que tous les doublons ont le type de connexion "Réseau externe" et utilisez une connexion Ethernet, pas une connexion sans fil (dans le menu déroulant).
  • Appuyez sur ok et fermez le gestionnaire Hyper-V.
  • Redémarrez l'ordinateur (deux fois, au cas où).
  • Maintenant, essayez de partager le lecteur pour docker dans Docker pour Windows.

Pour moi, la seule chose à faire était de désactiver temporairement le pare-feu dans Symantec Endpoint Protection. Partagez le lecteur C dans l'interface graphique de configuration du menu fixe. Revenez et activez le pare-feu dans Symantec. (pas de commande powershell etc ...)

enter image description here

0
otterb