내 FTP 서버에 대해 포트 포워딩을 할 수 없습니다

내 FTP 서버에 대해 포트 포워딩을 할 수 없습니다

ZTE mf283+ 라우터와 여기에 액세스 포인트로 사용하는 또 다른 tp-link Archer c7 라우터가 연결되어 있습니다. Tp-link의 IP 주소는 192.168.0.23이고 여기에 FTP 서버가 설정되어 있습니다. 외부에서 FTP 서버에 액세스할 수 있도록 포트 전달을 시도했습니다. 여기에 이미지 설명을 입력하세요

하지만 외부에서 다음과 같이 액세스하려고 하면 다음과 같습니다.FTP://37.xxx.xxx.xxx:21"이 사이트에 접속할 수 없습니다. 37.xxx.xxx.xxx 연결이 거부되었습니다. 제가 뭔가 잘못하고 있는 걸까요, 아니면 제 ISP에 문제가 있는 걸까요?"

답변1

Attie가 지적한 글을 읽어주셔서 감사합니다. 조금 더 설명이 필요할 것 같습니다. 내가 발견했다OpenBSD의 방화벽 가이드, "FTP 관련 문제" 섹션유익하기 위해. 그러나 여기서는 문제를 요약해 보겠습니다.

소프트웨어가 인터넷 프로토콜(IPv4 또는 IPv6)을 사용하여 통신할 때 "IP 프로토콜"(일반 용어로 사용하며 IPv6 및 IPv4에 동일하게 적용됨)에는 대상 IP 주소가 포함됩니다. TCP(FTP가 수행), UDP(DNS가 수행), SCTP와 같은 일부 프로토콜을 사용할 때 "포트 전달"이라는 용어를 사용하는 이유 중 하나인 "포트 번호"도 있습니다. (일부 프로토콜은 "포트 번호"를 사용하지 않습니다. 예를 들어 ICMP는 IP를 사용하고 "메시지 유형"이 있지만 "포트 번호"는 없습니다.)

대부분의 소프트웨어는 로컬 컴퓨터의 TCP/IP 네트워킹 구성 요소에 IP 주소 정보를 제공하고 원격 컴퓨터에 "페이로드"(원격 컴퓨터가 수신해야 하는 기타 정보)만 제공합니다. 예를 들어, HTTP를 사용하면 웹 브라우저는 로컬 TCP/IP 네트워크 스택에 IP 주소에 대한 연결을 열도록 지시하고 웹 브라우저는 원격 시스템에 수신하려는 파일을 알려줍니다. 귀하의 웹 브라우저는 귀하의 IP 주소를 공개하지 않습니다. 이러한 세부 사항은 TCP/IP 네트워킹 구성 요소에 의해 처리됩니다.

FTP는 대부분의 소프트웨어와 다릅니다.

FTP에는 실제로 페이로드에 IP 주소가 포함되어 있습니다. 따라서 표준 IP 패킷의 일부로 IP 주소를 제공하는 것 외에도 FTP 대화의 일부에서는 사용할 IP 주소를 언급합니다. 표준 "포트 전달"은 IP 주소의 표준 위치만 수정하고 FTP 대화는 수정하지 않습니다.

FTP는 대학이나 대기업이 연구 프로젝트로 네트워크를 만들던 시대에 작성된 매우 오래된 프로토콜입니다. 당시에는 방화벽과 같은 인터넷 방어 장치가 존재하지도 않았고 필요하지도 않았습니다. 따라서 FTP가 제공하는 문제는 저작자의 문제가 아니었습니다. 문제는 FTP가 다른 스타일의 네트워크용으로 설계되었다는 것입니다.

이 문제는 세 가지 다른 방법으로 해결될 수 있습니다.

  • "수동" FTP를 사용해 볼 수 있습니다. 이는 방화벽 뒤에 있는 FTP 서버에서 작동할 수 있습니다(그러나 부담은 옮겨집니다. FTP 클라이언트는 방화벽 뒤에 있으면 안 됩니다... 그래서 이 시나리오도 제대로 작동하지 않는 경우가 많습니다). 이 수정이 가능하다면(FTP 클라이언트 소프트웨어가 이 기능을 지원해야 함) 가장 빠른 수정이 될 수 있지만(FTP 클라이언트 소프트웨어의 설정 변경) 사용되는 FTP 클라이언트 소프트웨어에 따라 쉬울 수도 있고 어려울 수도 있습니다.
  • 많은 라우터는 FTP 대화를 수정하여 이 문제를 효과적으로 해결하는 "ftp 프록시"라는 옵션을 지원합니다. 해당 옵션을 찾아 활성화합니다(존재하는 경우).
  • 동일한 문제가 없는 다른 프로토콜을 사용하십시오.

FTP는 좀 독특합니다. 오늘날 가장 널리 사용되는 프로토콜에는 동일한 문제가 없으며 앞으로도 없을 것입니다. 현재 방화벽이 존재하므로 사람들이 문제를 인식하고 있기 때문입니다. (누군가가 새 프로토콜을 작성했는데 그 사람이 문제를 인식하지 못했다면 프로토콜이 큰 인기를 끌기 전에 문제를 알게 되었을 것입니다.) 그러나 FTP는 어느 시점에서는 최고의 솔루션이었고 사람들은 다른 솔루션을 사용하는 것을 꺼려했습니다. 이에 대한 주요 이유 중 하나는 FTP를 지원하는 인기 있는 웹 브라우저를 포함하여 많은 사람들이 FTP 소프트웨어를 사용하고 있기 때문일 수 있습니다.

요즘에는 FTP보다 더 나은 솔루션이 있습니다. "SSH 파일 전송 프로토콜"("SFTP"라는 프로토콜 중 하나), SCP 또는 HTTPS를 사용하십시오. 이들 중 어떤 것도 방화벽에서 실행하기 위해 특별한 프록시가 필요하지 않습니다. 여러 고객이 쉽게 사용할 수 있어야 하는 솔루션의 경우 HTTPS가 그 역할을 할 수 있습니다. (FTPS와 같은 다른 옵션도 있을 수 있지만 방금 언급한 이전 프로토콜을 권장합니다.)

따라서 마지막 중요 항목을 권장하지만, 어떤 이유로 그렇게 할 수 없다고 생각되면 첫 번째 또는 두 번째 중요 항목을 시도해 볼 수 있습니다(각 항목은 열등하지만 더 빠를 수 있음). )를 다루고 있습니다.

관련 정보