itsource

Docker for Windows가 드라이브를 공유할 수 있도록 Windows 방화벽 설정

mycopycode 2023. 8. 5. 10:09
반응형

Docker for Windows가 드라이브를 공유할 수 있도록 Windows 방화벽 설정

Windows 방화벽이 Docker for Windows가 Windows 10 컴퓨터에서 C:를 공유하도록 허용하려는 시도를 차단하고 있습니다.

Windows 방화벽을 해제하면 정상적으로 작동합니다.켜지면 나는 받습니다.

방화벽이 Windows와 컨테이너 간의 파일 공유를 차단하고 있습니다.자세한 내용은 설명서를 참조하십시오.

문서에는 다음과 같이 나와 있습니다.

다른 네트워크에서 포트 445를 열 필요가 없습니다.기본적으로 10.0.75.2(가상 시스템)에서 10.0.75.1 포트 445(윈도우즈 호스트)로의 연결을 허용합니다.

저는 그것을 하는 방법을 찾으려고 노력하는 것에 대해 "구글구글"입니다. 누가 조언해 줄 수 있나요?

실제로 C 드라이브를 공유할 필요는 없지만 Hyper-V 가상 네트워크 카드에서 파일 및 인쇄 공유 서비스를 다시 설치하거나 선택 취소(또는 선택 취소(확인 클릭)한 다음 선택)하기만 하면 됩니다.이 기사를 참조하십시오.

또한 네트워크 프로필(예: 공용)에 제한이 있는 경우, 위의 작업을 수행하기 전에 이 PowerShell 명령을 통해 "vEthernet(DockerNAT)" 카드의 기본 "식별되지 않은 네트워크"를 개인 네트워크로 변경하는 것이 좋습니다.

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

네, 같은 호에서 실행한 후 해결책을 찾았습니다.

제가 한 일은 이렇습니다.


1단계: ESET를 엽니다.그런 다음 Setup(설정)을 클릭합니다.

click setup

2단계: 네트워크 보호 클릭

click network protection

3단계: 문제 해결 마법사 클릭

click troubleshooting wizard

4단계: 통신 10.0.75.2(기본 도커 IP 설정) 도커 설정 내에서 정의된 IP 범위를 확인합니다. 그런 다음 해당 범위에 있는 IP를 찾습니다.

find the connection

5단계: 차단 해제 버튼을 클릭하면 이 화면이 나타납니다.

click unblock

이것은 스스로 문제를 해결했습니다.

그런 다음 규칙으로 이동하여 추가된 규칙을 확인할 수 있습니다.


PS: 이것은 저의 첫 번째 게시물입니다. 잘못된 절차에 대해 사과드립니다.

이 솔루션만이 도움이 됩니다.

  • Hyper-V 매니저 -> Virtual Switch Manager -> DockerNAT -> 연결 유형: 내부에서 개인으로 변경, 적용, 다시 내부로 변경, 적용
  • MobyLinuxVM 다시 시작
  • 도커 다시 시작
  • Docker 네트워크 프로파일을 '전용'으로 설정합니다.에서 adminPowerShell로합니다. admin은 다음과 같습니다.
    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • 도커의 Microsoft 네트워크에 대한 파일 및 프린터 공유 재설정NAT 연결
  • 도커 -> 설정 -> 공유 드라이브로 이동하여 C:

제 해결책은 VPN과의 연결을 끊는 것이었습니다. 그것이 문제의 원인이었습니다.

이 오류가 발생했을 때 타사 방화벽을 사용하지 않았습니다.Windows 방화벽을 사용하지 않도록 설정해도 효과가 나타나지 않았지만 Windows 방화벽 문제라고 확신했습니다.많은 연구 끝에 마침내 이 블로그 게시물을 발견했습니다: Windows 10의 도커 오류: 방화벽이 파일 공유를 차단하고 있습니다...

결국 기본 제공되는 Windows 방화벽과 관련이 없습니다.

픽스

  1. vEthernet(DockerNAT) 네트워크 어댑터에서 Microsoft 네트워크용 파일프린터 공유의 선택취소합니다(윈도우즈 네트워크 공유 센터에서 연결을 찾을 수 있습니다).
  2. 다시 확인하고 활성화되었는지 확인합니다.

최근 Windows 10 업데이트 후 C 드라이브가 Docker와 공유되지 않게 되었습니다.공유를 재시도할 때 Windows 방화벽에 의해 차단되었다는 동일한 문제가 발생했습니다.

위의 해결책을 살펴보면서, 저는 이 페이지에서 본 어떤 것보다 더 간단한 것을 발견했습니다.제어판\모든 제어판 항목\네트워크 공유 센터의 vEthernet(DockerNAT) 연결에서 마이크로소프트 네트워크용 파일 프린터 공유 속성을 선택 취소하고 설정을 저장했습니다.그런 다음 다시 활성화하기 위해 속성을 다시 확인하고 다시 저장했습니다.

이때 도커 설정에서 C 드라이브를 다시 공유할 수 있었습니다.나는 이것이 왜 효과가 있었는지 모르지만 이미 DockerSmbMount에 대한 항목이 있는 방화벽 문제는 아니었습니다.

저는 카스퍼스키에게 이런 문제가 있었습니다. 카스퍼스키를 끄는 것이 효과가 있었습니다. 그래서 저는 그것이 방화벽이라는 것을 알았습니다.제 경우, 카스퍼스키는 이미 어떤 이유에서인지 포트 445를 차단하고 있었습니다.방화벽, 로컬 서비스(TCP)에 대한 패킷 규칙으로 이동하여 블록 포트 목록에서 445를 제거해야 했습니다.

Image 1

Image 2

도메인 네트워크에 있는 윈도우즈 10 시스템의 경우 Hyper-V 가상 이더넷 어댑터를 생성하면 공용 네트워크로 분류됩니다.좀 더 완화된 Windows 방화벽 규칙을 허용하고 파일 공유를 허용하려면 이 규칙을 전용 네트워크로 변경해야 합니다.

PowerShell에서 다음 명령을 실행합니다.

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

시스템의 가상 Hyper-V 네트워크 연결을 다른 이름으로 부르는 경우 따옴표로 묶은 이름을 변경합니다.

문제는 Cisco Anyconnect VPN이 내부 도커 네트워킹을 방해한다는 것이었습니다.

이 문제를 해결하려면 다음 위치로 이동:
Settings > > Anyconnect 확인 > 기정설 > 설정인Allow local (LAN) access when using VPN

다른 답변에서 언급한 것처럼 도커는 VPN을 잘 다루지 못합니다.Nordvpn을 사용하는 경우 "Invisibility on LAN""Internet Kill Switch" 비활성화해야 합니다.

이렇게 하면 VPN이 활성화된 상태에서도 작동합니다.

NordVPN Client

설치한 방화벽에 따라 다릅니다.이 경우 기본 제공되는 Windows 방화벽을 사용하지 않도록 설정하고 ESET Smart Security를 사용하고 있으므로 규칙은 다음과 같습니다.

  • 도커가 호스트에 연결하도록 허용하고 허용으로 설정해야 하므로 IN 연결에 대한 규칙을 생성합니다.

enter image description here

  • 합니다. 포트를 합니다.445:

enter image description here

  • 원격 IP 주소 설정:

enter image description here

Windows 방화벽과 관련이 없지만 수행할 작업에 대한 단서를 제공할 수 있기 때문에 정답이 아닐 수도 있습니다.

저의 경우 고급 보안이 적용된 Windows Defender 방화벽에서 "Block TCP 445"를 비활성화하여 작동했습니다.그런 다음 Docker에서 공유 드라이브를 설정한 후 다시 활성화합니다.

setting of Block TCP 445

setting of Shared drives

위의 어떤 것도 저에게 효과가 없었습니다.

마지막으로 "vEthernet(DockerNAT)" 네트워크의 속성을 열고 목록 하단의 "네트워킹" 탭 아래에 있는 "Hyper-V Extensible Virtual Switch" 상자에 체크 표시를 합니다.

이것이 실제 수정인지 아니면 어떻게든 네트워크 어댑터를 재설정한 것인지 잘 모르겠습니다.하지만 효과가 있었어요!

Cisco AnyConnect를 실행할 때 이 문제가 발생하는 경우가 많은 것 같습니다.저도 같은 문제를 겪었고, 다음은 제가 해결한 방법입니다.

원인:Docker에서 사용 중인 서브넷이 Cisco AnyConnect에서 관리하는 보안 경로 목록에 있습니다(이 목록은 VPN의 관리자가 관리하는 것으로 알고 있습니다).

해결책:Docker에서 사용하는 서브넷을 AnyConnect에서 관리하는 목록과 겹치지 않도록 변경합니다.

예를 들어, 저의 경우 10.0.75.0(10.0.0/8과 중복됨)에서 172.31.0.0/28로 변경되었습니다.

저도 같은 문제가 있었고 모든 해결책을 시도해 보았는데 하나 이상이 필요한 것으로 나타났습니다.

  • 방화벽 규칙 추가(Norton Security)
  • 네트워크를 개인용으로 설정
  • 드라이브 공유

저는 http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/ 에 완전한 설명을 썼습니다.

최근 Windows 10 업데이트 후에 내 G 드라이브가 Docker와 공유되지 않게 되었습니다.공유를 재시도할 때 Windows 방화벽에 의해 차단되었다는 동일한 문제가 발생했습니다.

그런 다음 몇 가지 제안을 통해 이 문제를 해결하려고 했지만, 그 후에는 공유 드라이브 아래의 자격 증명을 재설정하려고 시도하여 문제가 해결되었습니다.

그래서 당신이 원한다면, 당신은 이것을 시도해 보세요.

enter image description here

모든 사람들이 올린 모든 것이 저에게 효과가 없었습니다.

이것은 했습니다.

EDGE 릴리스를 설치했습니다.그런 다음 WINDOWS DEFER로 이동하여 DOKER NAT의 방화벽을 비활성화했습니다. (내 실제 이더넷 어댑터가 아니라 DOCKER NAT뿐)

일단 윈도우 디펜더/방화벽을 비활성화시켰더니 그런 식으로 작동했습니다.

윽. 정말로 그게 여러분 중 일부에게 도움이 되길 바랍니다!

인바운드 방화벽 규칙이 제대로 설정되었는지 확인한 후에도 파일인쇄 공유 서비스를 제거하고 다시 설치한 후에도 작동하지 않았습니다.

해결책: 그 외에도 저는 세 번째 일도 해야 했습니다.공용 네트워크의 특정 방화벽 설정에서 공용 네트워크에 있을들어오는 연결 금지 확인란을 비활성화해야 했습니다.그렇게 한 후에 그것은 저에게도 효과가 나타나기 시작했습니다.이 메시지의 끝에 첨부된 스크린샷을 참조하십시오.

이 옵션이 이미 얼마나 오래 사용되었는지 알 수 없습니다.저는 현재 Win10 Pro 1709 16299.402를 작업하고 있습니다.


공용 네트워크에 대한 특정 방화벽 설정 열기 Open specific firewall settings for public networks

이 확인란 선택 취소 Uncheck this checkbox

F-secure에서도 DeepGuard가 Docker 서비스를 차단하는 문제가 있었습니다.해결책은 다음과 같습니다.

F-secure 클라이언트를 열고 "작업"을 클릭합니다.

enter image description here

프로그램 시작 허용을 선택합니다.

enter image description here

목록에서 "com.docker.service"를 선택하고 "Remove"를 누릅니다.

enter image description here

그런 다음 Docker 클라이언트를 다시 시작하고 파일 공유를 신청합니다.

오류: 방화벽이 Windows와 컨테이너 간의 파일 공유를 차단하고 있습니다.

저는 방화벽이 제 C 드라이브를 공유하는 것을 허용하지 않는 것과 같은 문제를 겪었습니다.위에 나열된 모든 솔루션을 사용해 보았지만 아무 것도 작동하지 않았습니다. 저는 제 했습니다.Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
그런 다음 도커사이트로 이동하여 다음을 클릭합니다.
후 C그 후 C드브를공유수있다니었습할이라는저▁c▁drive다▁after니▁share를 공유할 수 있었습니다.

AVG Internet Security의 경우 방화벽 설정에서 인터넷 연결 공유 모드를 활성화하면 효과가 있습니다.

enter image description here

Security를 사용하여 Kaspersky Internet Security를 하면 이 할 수 .vEthernet (DockerNAT) 을 "" " " " " "Trusted network.

설정 > 보호 > 방화벽 > 네트워크 > vEthernet (DockerNAT) > "신뢰할 수 있는 네트워크" 선택

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

간단히 말해서 Edge 버전을 사용합니다.

2.1.5.0(2019-11-04) 이후 버전의 Windows용 Docker에는 방화벽 수정 없이 파일 공유가 새로 구현되었습니다. https://docs.docker.com/docker-for-windows/edge-release-notes/

"새로운 파일 공유 구현:Docker Desktop은 Samba, CIFS 및 Hyper-V 네트워킹 대신 gRPC, FUSE 및 하이퍼바이저 소켓을 사용하는 새로운 파일 공유 구현을 도입했습니다.새로운 구현은 향상된 I/O 성능을 제공합니다.또한 새 파일 시스템을 사용하는 경우:

Users don’t have to expose the Samba port, and therefore do not experience issues related to IT firewall or the drive-sharing policy.
There is no need to provide user credentials to Docker Desktop. File access rights are automatically enforced when accessing mounted folders through containers.

"

Edge 버전은 https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe 에서 다운로드할 수 있습니다.

현재로서는 2.1.7.0의 Edge 버전이 다음 안정적인 릴리스에 사용됩니다. "참고:Docker Desktop Edge 2.1.7.0은 다가오는 주요 안정 릴리스의 릴리스 후보입니다.따라서 Edge를 사용할 위험이 상대적으로 낮습니다.또는 다음 안정적인 릴리스를 기다려 이러한 모든 방화벽 문제를 방지할 수 있습니다.

2020년 1월 25일

이전 버전에서는 문제가 있는 것 같습니다. 마지막 버전을 설치했습니다.

Docker version 19.03.5, build 633a0ea

아무런 구성 없이도 작동했습니다.

enter image description here

이것(아래 링크)이 제가 지금까지 찾은 것 중 가장 좋은 해결책인 것 같습니다.재부팅 후에도 지속됩니다.여기에서 가장 잘 설명할 수 있습니다. https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3

vEthernet 네트워크 인터페이스는 시스템이 시작될 때마다 동적으로 생성되는 것으로 보이며, vEthernet 네트워크 인터페이스는 'Private' 그룹(작동하는 곳)과는 반대로 'Public' 그룹에 생성됩니다.Docker 시작 스크립트 중 하나(위 링크에서 호출됨)의 편집은 위의 David Tesar가 언급한 powershell 명령/수정을 자동화합니다.

나는 스크립트를 편집하고 '내부'를 '개인'으로 변경하는 것보다 스크립트에 기능을 추가하는 것이 더 운이 좋았습니다.

위의 항목이 모두 작동하지 않는 경우 VPN에 연결되어 있지 않은지 확인하십시오.Cisco AnyConnect 클라이언트를 사용하여 VPN에 연결된 경우, 도커 설정에서 정적 DNS를 설정해야 합니다.

저는 여기와 https://github.com/docker/for-win/issues/360 에 나열된 모든 것을 시도했습니다.

아무 것도 효과가 없었어요.

개발 환경을 도커 컨테이너에서 실행하는데, 회사 VPN(Cisco AnyConnect)에서 프로젝트 파일에 액세스하려면 컨테이너에 로컬 드라이브를 마운트해야 합니다.

여기 제게 효과가 있었던 도커 해킹이 있습니다. 추가합니다.--publish 8000:8000기존 도커 실행 명령으로 이동합니다.

그렇게

docker run -v C:/Users/kumar.joshi/KumarData:/mnt --name dev <image:latest>

될 것입니다

docker run -v C:/Users/kumar.joshi/KumarData:/mnt --name dev --publish 8000:8000 <image:latest>

포트가 사용되지 않는지 확인하십시오. 그렇지 않으면 다음 오류가 발생합니다.

0.0.0:8000에 대한 바인딩 실패: 포트가 이미 할당되었습니다.

이 문제를 해결할 수 없는 사용자는 다음을 시도할 수 있습니다. 수동으로 드라이브를 도커 호스트에 매핑합니다.

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

조사 결과는 다음과 같습니다. https://github.com/docker/for-win/issues/466#issuecomment-398305463

저는 그것이 꽤 쉽다는 것을 알았습니다.네트워크 연결로 이동하면 됩니다.제어판/네트워크 공유로 이동할 수 있습니다.당신은 다양한 연결고리를 찾을 수 있을 것입니다.도커 연결을 검색합니다.기본값을 선택합니다.네트워크를 선택한 후 속성으로 이동합니다.속성 섹션에서 Hyper-V Extensible Virtual Switch 옵션을 사용하도록 설정합니다.이렇게 하면 가상 컨테이너가 네트워크 카드를 사용하는 데 도움이 됩니다.

몇 시간 동안 시행착오를 겪은 후 서브넷 마스크를 변경한 것은 무엇입니까?255.255.255.240로.255.255.255.0(아무 것도 변경해서는 안 됩니다).

시행착오의 일환으로, 저는 기사에 나열된 다른 모든 것을 했지만, 아무런 성공도 거두지 못했습니다.하지만 이 마지막 단계가 그것을 해냈습니다... 그리고 다시 되돌아갑니다.255.255.255.240양호한 사이클이 깨지지 않습니다.

그건 말이 안 된다는 건 인정해요.네트워크 변경에 의해서만 내부 상태가 트리거되는 것과 관련이 있을 수 있습니다.

어쨌든, 제가 한 명만 도와줬다면, 노력할 가치가 있었을 것입니다.

Docker Desktop edge, 2.0.4.1 (34207)

언급URL : https://stackoverflow.com/questions/42203488/settings-to-windows-firewall-to-allow-docker-for-windows-to-share-drive

반응형