Windows 방화벽이 켜져 있으면 동일한 LAN에 있는 다른 컴퓨터에서 FTP 서버에 액세스할 수 없습니다.

Windows 방화벽이 켜져 있으면 동일한 LAN에 있는 다른 컴퓨터에서 FTP 서버에 액세스할 수 없습니다.

Windows 10에 FTP 서버가 구성되어 있습니다. Windows 방화벽을 끄면 동일한 LAN에 있는 다른 컴퓨터에서 FTP 서버에 액세스할 수 있습니다. 그런데 방화벽을 켜면 FTP에 접근할 수 없습니다. 이것은 내 문제와 관련이 있다고 생각되는 방화벽 인바운드 규칙입니다(전체 Windows 방화벽 규칙 목록을 잘라서 공유하려고 생각했습니다. 하지만 크기가 엄청납니다. 조정해야 할 다른 규칙을 알려주세요. 잘라내고 여기에 공유하세요.)

인바운드 규칙 여기에 이미지 설명을 입력하세요 여기에 이미지 설명을 입력하세요

아웃바운드 규칙 여기에 이미지 설명을 입력하세요 여기에 이미지 설명을 입력하세요

무엇이 잘못 구성되었는지 알려주세요. (Windows 10에서요)

답변1

을 위한FTPTCP 포트 2021. 또한, 머신에서 실행 중인 서버 서비스가 다음을 사용하는 경우패시브 모드, 그런 다음 FTP 서버가 사용하도록 구성된 TCP 포트 범위도 열어야 합니다.

빠른 포트 분석

TCP 포트에서 안전하지 않은 FTP 를 실행하고 있는 것 같습니다 20(21즉, 능동형과 수동형) 그리고 아마도 또한 FTPSTCP 포트에 암시적 SSL을 사용 990하고 989.

FTP 프로토콜은 컨트롤/명령을 위한 포트/채널을 사용하고 클라이언트와 서버의 데이터 교환 부분을 위한 또 다른 포트/채널을 사용합니다.

안전하지 않은 FTP

  • 명령 채널: TCP 포트21
  • 데이터 채널(활성): TCP 포트20
  • 데이터 채널(수동):<FTP Server configured TCP port range>

암시적 SSL을 사용하는 FTPS

  • 명령 채널: TCP 포트990
  • 데이터 채널(활성): TCP 포트989

명령줄 방화벽 (이 섹션에서 문제를 해결해야 함)

관리자 권한으로 명령줄에서 아래 명령을 실행하여 FTP 서버 서비스에 대한 인바운드 트래픽이 모든 IP 주소 및 Windows OS 분류 네트워크의 모든 프로필 범위에 대해 해당 명령 및 데이터 포트에서 통신할 수 있도록 허용하는 Windows 방화벽 규칙을 만듭니다.

program="<C:\FTPServer\FTPServer.exe>"서버에 적절한 값을 지정 하거나 service=<ftpsvc>대신 서비스 이름을 가리키는 대신 를 사용해야 합니다.

netsh advfirewall firewall add rule name="FTP Inbound" dir=in action=allow program="%windir%\system32\svchost.exe" remoteip=any localip=any protocol=TCP localport=20,21,990,989 remoteport=20,21,990,989 profile=any

아래를 실행하여방화벽이 FTP 트래픽을 차단하지 않도록 상태 저장 FTP 필터링을 비활성화합니다.따라서 해당 트래픽을 허용하기 위해 전체 수동 포트 범위를 열 필요가 없습니다.

netsh advfirewall set global StatefulFTP disable

Windows 방화벽 GUI

당신이 가지고 있는지 확인하십시오범위규칙에 정의되어 있으므로LAN의 IP 주소 범위통해 허용되거나 그렇지 않으면 허용됩니다.모든 IP 주소을 통해. 마지막으로 서버의 네트워크 어댑터가 방화벽 규칙이 허용하는 프로필에 구성되어 있는지 확인해야 합니다.

포트

메모: 해당하는 경우 수동 포트 범위를 추가합니다.

여기에 이미지 설명을 입력하세요

범위

여기에 이미지 설명을 입력하세요

프로필

여기에 이미지 설명을 입력하세요


추가 리소스

관련 정보