패시브 포트 범위와 외부 IP

집이나 사무실 밖에서 파일질라 서버에 접속했더니 로그인까지는 되는데 폴더 목록이 안 뜨거나 425 오류가 난다면, 거의 대부분 이 글의 설정 문제입니다. FTP가 연결을 두 개 쓰기 때문인데, 원리부터 설정·확인까지 차례로 정리했습니다.
💡 결론부터:
- Server > Configure(Ctrl+F) → Protocol settings > FTP and FTP over TLS (FTPS) > Passive mode 탭
- Use custom port range 체크 → 서버가 제안하는 49152–65534 그대로
- Public IP or hostname에 공유기의 공인 IP(또는 DDNS 주소) 입력, Use local IP for local connections는 체크
- 공유기에서 TCP 21 + 49152–65534를 서버 PC로 포트포워딩 → ipTIME 공유기 포트포워딩
처음이라면 이 전부를 차례로 안내하는 네트워크 설정 마법사(Server > Start a guided configuration of the network)를 쓰는 게 가장 쉽습니다.
🙋 같은 공유기 안(LAN)에서만 쓸 거라면 이 글은 건너뛰어도 됩니다. 기본 설정 그대로 LAN 안에서는 잘 됩니다. 필요한 건 밖에서(인터넷으로) 접속할 때입니다.
왜 필요할까 — FTP는 연결이 두 개
FTP는 두 가지 연결을 따로 씁니다.
| 연결 | 하는 일 | 포트 |
|---|---|---|
| 제어 연결 | 로그인, 명령과 응답 (USER, PASV 등) | 21 (고정) |
| 데이터 연결 | 파일 내용과 폴더 목록을 실어 나름 | 매번 새로 정함 |
패시브(수동형) 모드에서는 클라이언트가 "데이터 연결 어디로 할까요?" 하고 물으면(PASV), 서버가 IP 주소와 포트 번호를 알려 주고, 클라이언트가 그 주소로 두 번째 연결을 겁니다. 공식 위키는 서버 쪽 한 곳만 설정하면 모든 사용자가 쓸 수 있어서 대부분 패시브를 권장합니다. 액티브·패시브의 차이는 → 액티브 vs 패시브 모드
그런데 서버가 공유기 뒤에 있으면 두 가지가 문제가 됩니다.
- 알려 주는 IP가 틀린다 — 서버 PC는 자기 사설 IP(예
192.168.0.10)밖에 모릅니다. 밖의 클라이언트에게 이 주소를 알려 주면 클라이언트는 엉뚱한 곳으로 연결하려다 실패합니다. 그래서 서버에 공인 IP를 알려 줘야 합니다. - 알려 주는 포트가 닫혀 있다 — 기본 설정에서는 운영체제가 아무 포트나 고릅니다. 그러면 공유기에서 어느 포트를 열어 줘야 할지 정할 수 없습니다. 그래서 범위를 정해 두고 그 범위만 공유기에서 엽니다.
🙋 FTPS(암호화)라서 더 중요해요. 일부 공유기는 FTP 명령을 몰래 읽고 필요한 포트를 알아서 열어 주기도 합니다. 하지만 파일질라 서버 1.x는 기본으로 암호화(FTPS)를 쓰기 때문에 공유기가 내용을 읽지 못합니다. 그래서 패시브 범위를 직접 정하고 직접 열어 줘야 합니다.
준비물
- 관리 화면이 서버에 연결된 상태 → 설치부터 첫 접속까지
- 공유기의 공인 IP — 모르면 마법사의 Retrieve public IP 버튼으로 알아낼 수 있습니다. (이 글의 예:
192.0.2.10) - 공인 IP가 자주 바뀌는 회선이라면 DDNS 주소(공인 IP를 가리키는 이름) → ipTIME 공유기 포트포워딩
방법 A — 네트워크 설정 마법사로 (처음이라면 추천)
관리 화면 메뉴 Server > FTP Network Configuration Wizard(Ctrl+N)를 고릅니다. 공식 문서 일부는 같은 기능을 "Start a guided configuration of the network"라고 부르지만, 1.12.6 메뉴 이름은 FTP Network Configuration Wizard입니다.
사진을 누르면 크게 볼 수 있어요
- 1. FTP Network Configuration Wizard (Ctrl+N) — 마법사
- 2. Test FTP Network Configuration (Ctrl+T) — 시험만
마법사 1 — 액티브·패시브 소개
FTP Data connection modes — FTP 데이터 연결 방식(액티브·패시브)을 설명하는 화면입니다. "패시브 모드가 대부분 클라이언트의 기본값이고, 액티브 모드는 서버 쪽 설정이 필요 없다"는 내용입니다. 읽고 [Next].
사진을 누르면 크게 볼 수 있어요
- 1. [Next]
마법사 2 — 패시브 포트 범위
Setting up Passive mode port range 화면입니다. ⚠️ 처음 열면 Use any available port(아무 포트나)가 골라져 있습니다. 이대로 넘어가면 공유기에서 모든 포트를 열어야 해서 사실상 밖에서 쓸 수 없습니다.
사진을 누르면 크게 볼 수 있어요
- 1. 처음 선택값: Use any available port — 이대로면 공유기에서 모든 포트를 열어야 함
Use custom port range를 고르면 From·To 칸에 49152와 65534가 자동으로 들어갑니다.
사진을 누르면 크게 볼 수 있어요
- 1. Use custom port range 선택
- 2. From — 고르면 49152가 자동으로
- 3. To — 65534
- 4. [Next]
| 선택 | 뜻 | 공유기에서 열 포트 |
|---|---|---|
| Use custom port range (추천) | 서버가 49152–65534를 제안 | 이 범위만 |
| Use any available port (처음 선택값) | 아무 포트나 사용 | 모든 포트 (사실상 불가능) |
- 추천: 사용자 지정 범위 + 제안값 49152–65534 그대로. 이 범위는 공식 튜토리얼이 권하는 구간과도 같습니다.
- 범위를 꼭 메모하세요. 공유기 포트포워딩과 방화벽에 똑같이 넣어야 합니다.
마법사 3 — 공인 IP 또는 호스트 이름
사진을 누르면 크게 볼 수 있어요
- 1. 공인 IP 또는 호스트 이름 (예시 192.0.2.10)
- 2. [Retrieve public IP] — 외부 서비스로 공인 IP 알아내기
- 3. Use local IP for local connections — ✔ 그대로
입력 칸 위 안내대로 비워 두면 로컬 IP를 알려 줍니다(if you leave it empty FileZilla Server uses the local IP). 공유기 뒤라면 꼭 채우세요.
- Retrieve public IP 버튼을 누르면 서버가 공인 IP를 알아내 채워 줍니다.
- 공인 IP가 바뀌는 회선이라면 IP 대신 DDNS 호스트 이름(예
myoffice.example.com)을 넣으세요. - Use local IP for local connections (recommended) 체크 상자는 처음부터 켜져 있습니다. 켜 둔 채로 둡니다. 공식 문서도 그대로 두라고 합니다. 이게 꺼져 있으면 같은 LAN 안의 PC·복합기가 오히려 접속이 안 될 수 있습니다.
마법사 4 — 요약과 테스트
사진을 누르면 크게 볼 수 있어요
- 1. 고른 값 요약 — custom, from 49152 to 65534 / 192.0.2.10 / Yes
- Network Configuration settings 화면에 지금까지 고른 값이 정리됩니다(예: Port range
custom, from 49152 to 65534., External IP192.0.2.10). 고칠 게 있으면 [Back]. - 다음 Test the settings 화면에는 파일질라 쪽 온라인 시험 도구(FTP Server Tester, https://ftptest.net/)로 시험하는 [Start the test]가 있습니다. [Finish]를 눌러야 설정이 저장됩니다.
사진을 누르면 크게 볼 수 있어요
- 1. [Start the test] — ftptest.net 온라인 시험 (포트포워딩 뒤에)
- 2. [Finish] — 누르면 저장
- 시험은 공유기 포트포워딩을 먼저 끝낸 뒤 해야 결과가 맞습니다. 포트포워딩이 아직이면 → ipTIME 공유기 포트포워딩 후 다시 테스트하세요.
- 나중에 마법사 없이 테스트만 하려면 Server > Test FTP Network Configuration... 을 씁니다.
방법 B — 설정 창에서 직접
Server > Configure...(Ctrl+F) → Protocols settings > FTP and FTP over TLS (FTPS) → Passive mode 탭.
사진을 누르면 크게 볼 수 있어요
- 1. Use custom port range — ✔
- 2. From 49152
- 3. To 65534
- 4. Public IP or hostname — 공유기의 공인 IP(예시 192.0.2.10)나 DDNS 주소
- 5. Use local IP for local connections — ✔
Use custom port range — 체크 (기본은 꺼짐)
- 꺼져 있으면(기본): 운영체제가 포트를 고릅니다. LAN 안에서는 문제없지만, 공유기 뒤에서 밖으로 공개하기는 어렵습니다.
- 켜면: 범위를 직접 정합니다. From·To 칸에 49152, 65534가 자동으로 들어갑니다(칸 위에 "suggested is 49152 / 65534"로 표시).
- 범위 크기 = 동시에 열 수 있는 데이터 연결 수의 한도입니다. 공식 문서는 4분 동안 일어날 전송 수보다 넉넉하게 잡으라고 합니다. 작은 파일을 많이 옮기면 연결이 많이 생기기 때문입니다. 공식 위키도 범위가 너무 좁으면 작은 파일 여러 개를 옮길 때 실패할 수 있다고 경고합니다.
- 좁혀야 한다면: 공유기가 넓은 범위를 받지 못하는 경우 같은 구간 안에서 50000–50999(1,000개)처럼 잡으세요. 사용자가 몇 명뿐이면 공식 튜토리얼 기준으로 최소 100개는 두세요.
Public IP or hostname — 공인 IP 또는 호스트 이름
- 공유기(NAT) 뒤에 있다면 공유기의 공인 IP(예
192.0.2.10)나 그 IP를 가리키는 호스트 이름(DDNS 가능)을 넣습니다. - 칸 이름 그대로 비워 두면 로컬 IP(서버 PC의 IP)를 알려 줍니다(leave it empty to use the local IP). 서버 PC가 공인 IP를 직접 받는 환경(공유기 없음)이라면 비워 둬도 됩니다.
- 공유기 뒤인데 비워 두면 서버가 밖의 클라이언트에게 사설 IP(
192.168.…)를 알려 줍니다. 공식 위키 설명대로 사설 IP는 LAN 안에서만 통하는 주소라, 밖의 클라이언트는 그 주소로 데이터 연결을 할 수 없습니다. 파일질라 클라이언트는 이런 응답을 받으면 "서버가 알 수 없는 주소와 수동형 응답을 보냈습니다. 대신 서버 주소를 사용합니다."라고 적고 접속한 주소로 대신 연결해 보기도 하지만, 다른 프로그램이나 복합기는 그렇게 해 주지 않을 수 있습니다. 공유기 뒤라면 꼭 채우세요. - 옆의 [Retrieve public IP]를 누르면 공인 IP를 알아내 채워 줍니다.
Use local IP for local connections (recommended) — 체크 (기본 켜짐)
- 같은 LAN 안에서 들어온 접속에는 사설 IP를 알려 줍니다. 외부 IP를 거치지 않고 LAN 안에서 바로 연결되게 해 줍니다.
- 켜 두세요.
[OK]를 누르면 적용됩니다.
⚠️ 옛 글의 설정 이름이 다를 수 있어요. 공식 위키 튜토리얼(2026-03)에는
Configure > FTP Server > Passive mode, Use custom host, Use the default host for local connection, 옛 FAQ에는 범위 예시 5000–5100이 나옵니다. 1.x 안에서도 버전에 따라 이름이 바뀌었습니다. 이 글은 1.12.6 화면의 실제 이름(Protocols settings > FTP and FTP over TLS (FTPS) > Passive mode, Use custom port range, Public IP or hostname, Use local IP for local connections)을 따랐습니다.
다음 — 방화벽과 공유기
서버 설정만으로는 끝이 아닙니다. 서버가 알려 준 포트로 들어오는 연결이 윈도우 방화벽과 공유기를 통과해야 합니다.
| 어디서 | 무엇을 열까 |
|---|---|
| 윈도우 방화벽 | 파일질라 서버 프로그램 허용 (또는 TCP 21 + 패시브 범위) → 윈도우 방화벽 허용 |
| 공유기 | TCP 21 + 49152–65534를 서버 PC 사설 IP로 → ipTIME 공유기 포트포워딩 |
확인 — 반드시 LAN 밖에서
공식 위키가 가장 많이 경고하는 실수는 LAN 안에서 공인 IP로 테스트하는 것입니다. 공유기가 안에서 밖의 주소로 되돌아오는 연결을 막거나, 반대로 우연히 되기도 해서 결과를 믿을 수 없습니다.
- 내장 테스트: Server > Test FTP Network Configuration...(Ctrl+T) — FTP configuration tester 창이 뜹니다. Host(s)에 공인 IP나 DDNS 주소를 넣고(Retrieve public IP로 채울 수도 있음) [Start the test]를 누르면 인터넷 쪽의 시험 서버(ftptest.net)가 내 서버에 접속해 보고 결과를 Test log·Test results 탭에 보여 줍니다.
사진을 누르면 크게 볼 수 있어요
- 1. Host(s) — 공인 IP나 DDNS 주소
- 2. [Start the test] — 인터넷 쪽에서 내 서버를 시험
- 실제 접속 테스트: 노트북을 휴대폰 핫스팟(모바일 데이터)에 연결해 LAN 밖에서 파일질라 클라이언트로 접속합니다. 호스트에는 공인 IP(
192.0.2.10)나 DDNS 주소를 넣습니다. - 로그에서
227 Entering Passive Mode (…)응답을 보면 서버가 알려 준 주소를 확인할 수 있습니다. 괄호 안 숫자a,b,c,d,p1,p2는 IPa.b.c.d, 포트 p1×256+p2입니다. 예를 들어(192,0,2,10,195,80)이면192.0.2.10의 50000번(195×256+80) 포트입니다.- 여기 IP가
192.168.…같은 사설 IP라면 → Public IP 설정이 안 된 것 - 포트가 정한 범위 밖이라면 → Use custom port range가 꺼져 있는 것
- 여기 IP가
🙋 FTPS(암호화) 접속이어도
227응답은 로그에서 볼 수 있습니다. 암호화는 공유기 같은 중간 장비가 못 읽게 할 뿐이고, 암호를 푸는 양쪽 끝(클라이언트·서버)은 내용을 그대로 압니다. 공식 위키도 파일질라 클라이언트의 메시지 로그에 서버 응답(227 Entering Passive Mode등)이 찍힌다고 설명하고, 425 오류 문서에서는 TLS 연결 뒤에227 Entering Passive Mode (…)줄이 이어지는 로그를 예로 듭니다.
자주 하는 실수
| 증상 | 원인과 해결 |
|---|---|
| 밖에서 로그인은 되는데 [디렉터리 목록을 조회하는 데 실패함] | 패시브 범위를 공유기에서 안 열었거나, Public IP가 비어 있음 → 디렉터리 목록 조회 실패 |
425 Can't open data connection | 서버가 알려 준 패시브 포트가 공유기·방화벽에서 막힘 → 425 오류 |
| LAN 안에서는 되는데 밖에서만 안 된다 | 포트포워딩 누락, 또는 이중 공유기 → ipTIME 공유기 포트포워딩 |
| 설정 후 오히려 LAN 안에서 목록이 안 뜬다 | Use local IP for local connections가 꺼짐 |
| 작은 파일 여러 개를 옮길 때만 중간에 실패 | 패시브 범위가 너무 좁음. 넓히기 |
| 며칠 뒤 갑자기 밖에서 안 된다 | 공인 IP가 바뀜. IP 대신 DDNS 호스트 이름 쓰기 |
| 공유기에서 21번만 열었다 | 패시브 범위도 같이 열어야 함 |
자주 묻는 질문
Q. 범위를 49152–65534처럼 넓게 열어도 괜찮나요? 49152–65534는 공식 KB와 네트워크 마법사가 제안하는 기본 범위라 그대로 써도 됩니다. 공유기 정책상 좁히고 싶다면 50000–50999처럼 같은 구간 안에서 연속 1,000개 정도를 권합니다. 어떤 범위든 서버·방화벽·공유기 세 곳에 똑같이 넣는 게 중요합니다.
Q. 액티브 모드로 쓰면 이 설정이 필요 없나요? 액티브 모드에서는 반대로 서버가 클라이언트 쪽으로 연결을 겁니다. 이번엔 클라이언트 쪽 공유기가 막혀서 안 되는 경우가 많습니다. 공식 위키도 서버 쪽 패시브 설정을 권합니다.
Q. 공인 IP가 사설 IP처럼 나와요 (192.168.… / 10.…). 공유기 앞에 또 공유기(통신사 모뎀 겸 공유기 등)가 있는 이중 구조일 수 있습니다. → ipTIME 공유기 포트포워딩의 이중 공유기 부분
Q. 서버가 공인 IP를 알아낼 때 어디로 정보를 보내나요? Retrieve public IP는 서버 PC가 인터넷 쪽에 물어서 "밖에서 보이는 내 공인 IP"를 알아내는 버튼입니다(공식 KB). 1.12.6이 어느 주소에 묻는지는 공식 KB에 나와 있지 않습니다. 버튼을 쓰고 싶지 않다면 공유기 관리 화면에 표시되는 외부(WAN) IP를 직접 넣어도 됩니다. 그 값이 192.168.…처럼 사설 IP라면 바로 위 질문의 이중 공유기 경우입니다.
참고한 공식 문서
- FileZilla Server Passive Mode (FileZilla Pro KB)
- FileZilla Server: Setup Passive Mode with Network Wizard (KB)
- How to Configure FileZilla Server (KB)
- Network Configuration (공식 위키)
- Setting up your Router to Fix the "425 code" (공식 위키)
- FileZilla server Tutorial (공식 위키)
- FileZilla FTP Server (공식 위키)
- Log text (공식 위키)
이 글의 일부는 FileZilla 위키(GFDL)를 참고해 한국어로 새로 썼습니다.
한눈에 정리
- 1마법사로 설정
Server > FTP Network Configuration Wizard (Ctrl+N).
- 2포트 범위는 직접 지정
처음엔 '아무 포트'가 골라져 있어요. Use custom port range → 49152~65534.
- 3공인 IP 넣기
공유기 뒤라면 공인 IP나 DDNS 주소. 로컬 IP 옵션은 켜 둔 채로.
- 4시험은 LAN 밖에서
포트포워딩 뒤 Test FTP Network Configuration이나 휴대폰 핫스팟으로.
최종 수정 2026-09-25