TFTP 서버는 네트워크로 연결된 시스템 간에 파일을 전송하는 데 사용되는 기본적인 도구입니다. TFTP(Trivial File Transfer Protocol, 간이 파일 전송 프로토콜)는 원격 시스템에서 파일을 주고받을 수 있게 해주는 인터넷 소프트웨어 유틸리티입니다. 다만 이 프로토콜은 구조가 매우 단순하여 전송되는 파일에 대한 보안 기능이 많지 않다는 점을 유의해야 합니다.
Windows 홈그룹(Homegroup)을 이용하면 네트워크상에서 별다른 어려움 없이 파일을 공유할 수 있다는 것을 많은 분들이 알고 계실 것입니다. 그러나 Windows 10의 v1803 업데이트부터 홈그룹 기능이 제거되면서 대안을 찾아야 하는 상황이 되었습니다. 이때 좋은 대안으로 활용할 수 있는 것이 바로 TFTP 서버입니다. 설정이 간단하고 사용하기도 쉽기 때문입니다.
이 글에서는 사용법이 직관적이고 안정적이며 빠른 속도로 파일 전송이 가능한 SolarWinds TFTP 서버를 활용하는 방법을 소개합니다. SolarWinds는 대규모 조직의 네트워크, 시스템, IT 인프라 관리 솔루션을 전문적으로 개발하는 기업이므로 제품의 신뢰성도 높습니다.
사전 준비 사항
TFTP 서버를 본격적으로 설정하기 전에 몇 가지 준비해야 할 사항이 있습니다. 아래 항목들을 미리 확인해 두세요.
- 관리자 계정: 관리자 권한이 없는 계정으로는 시스템에 TFTP 서버를 설치할 수 없습니다. 반드시 관리자 계정으로 로그인했는지 확인하세요.
- SolarWinds TFTP 서버: SolarWinds 웹사이트에서 TFTP 서버 유틸리티를 다운로드합니다. 다운로드한 .zip 파일을 바탕화면에 압축 해제한 후, 설치 마법사에 따라 간단하게 설치를 진행하면 됩니다.
- 포트 포워딩: 외부 네트워크에서 TFTP 서버에 접속하려면 라우터에서 UDP 포트 69번을 내부 IP 주소로 포워딩해야 합니다. 원격 접속이 필요 없다면 포트 포워딩은 생략해도 무방합니다.
위 요건을 모두 충족했다면 이제 서버 설정을 시작할 수 있습니다.
원격 접속 또는 로컬 접속 결정하기
가정이나 회사 등 로컬 네트워크 외부에서 TFTP 서버에 접속할 수 있도록 허용하려면 고정 IP(Static IP)를 사용하거나 동적 IP(Dynamic IP)를 화이트리스트에 추가해야 합니다. 기본 설정에서는 TFTP 서버가 모든 IP 주소의 파일 송수신을 허용하므로, 보안을 위해 특정 IP만 접근하도록 제한하는 것이 좋습니다.
IP 범위를 지정하여 여러 대의 장비를 허용할 수도 있고, 범위를 좁혀 한 대의 장비만 허용하도록 설정할 수도 있습니다.
TFTP 서버 설정 방법
서버를 설정하려면 아래 순서대로 진행하세요.
- 시작 메뉴를 열고 "TFTP Server"를 검색한 후 SolarWinds TFTP 서버 유틸리티를 실행합니다.
- 프로그램이 실행되면 상단의 File(파일) 메뉴를 클릭하고 Configure(구성)를 선택합니다.
- Windows 시스템 트레이에 서버 아이콘을 표시하고 싶다면 'TFTP Server to Windows System Tray 추가' 옵션을 체크합니다.
- 이제 Server Root Directory(서버 루트 디렉터리)를 지정해야 합니다. 이 폴더는 수신된 모든 파일이 저장되는 위치입니다. 파일을 전송하려면 먼저 해당 파일을 이 디렉터리로 복사해야 합니다. Browse(찾아보기) 버튼을 눌러 원하는 위치를 선택하세요.
- 접근 제한을 적용하려면 Security(보안) 탭으로 이동합니다.
- 파일 전송만 허용하려면 Send files(파일 보내기)를, 수신만 허용하려면 Receive files(파일 받기)를 선택합니다. 송수신을 모두 허용하려면 'Send and Receive files(파일 보내기 및 받기)' 옵션에 체크합니다.
- SolarWinds TFTP 서버는 특정 IP 주소만 파일을 송수신할 수 있도록 허용하는 추가 보안 기능도 제공합니다. 이를 설정하려면 'Only allow the following IP address to send/receive files(아래 IP 주소만 파일 송수신 허용)'을 체크한 후 Add(추가) 버튼을 클릭합니다.
- 허용할 IP 주소 범위를 입력하고 OK(확인)를 누릅니다.
- 마지막으로 OK를 클릭하여 구성 창을 닫으면 설정이 완료됩니다.
여기까지 완료했다면 TFTP 서버 설정과 구성이 성공적으로 끝난 것입니다.
TFTP 서버 사용하기
서버 설정을 마쳤다면 이제 TFTP 서버로 파일을 어떻게 주고받는지 알아보겠습니다.
포트 포워딩: 네트워크 외부의 시스템이 서버에 접속하도록 하려면 먼저 UDP 69번 포트를 포워딩해야 합니다. 포트 포워딩 방법은 라우터 펌웨어마다 다르기 때문에 모든 경우를 다룰 수는 없지만, 일반적인 절차는 다음과 같습니다. 라우터 관리 페이지에 접속한 후 고급 설정(Advanced Setup) 메뉴에서 NAT 또는 Port Forwarding 항목을 찾습니다. 새 항목을 추가하고 자신의 IPv4 주소로 UDP 69번 포트를 포워딩하면 됩니다.
참고로 원격 파일 전송을 할 계획이 없다면 포트 포워딩을 할 필요가 전혀 없습니다.
TFTP 클라이언트 설치하기
다음 단계는 원격 또는 로컬 시스템에 TFTP 클라이언트를 설치하는 것입니다. 아래 과정을 따라 해 보세요.
- 시작 메뉴를 열고 제어판(Control Panel)을 실행합니다.
- 프로그램 및 기능(Programs and Features)으로 이동한 후, 왼쪽 메뉴에서 'Windows 기능 켜기/끄기(Turn Windows features on or off)'를 클릭합니다.
- 목록을 스크롤하여 TFTP 클라이언트(TFTP Client)를 찾은 후 체크박스를 선택합니다.
- 확인을 눌러 클라이언트 설치를 시작합니다.
- 설치가 완료될 때까지 잠시 기다립니다.
주의할 점은 이 작업이 반드시 서버가 실행 중이 아닌 다른 컴퓨터에서 이루어져야 한다는 것입니다.
방화벽에서 TFTP 허용하도록 구성하기
TFTP 클라이언트 설치를 마쳤다면 Windows 방화벽을 끄거나 TFTP 연결에 대한 예외 규칙을 추가해야 합니다. 방법은 다음과 같습니다.
- 시작 메뉴를 열고 제어판을 실행합니다.
- 보기 기준(View by)을 큰 아이콘(Large Icons)으로 변경한 후 Windows Defender 방화벽을 선택합니다.
- 방화벽을 완전히 끄려면 'Windows Defender 방화벽 켜기 또는 끄기'를 클릭합니다.
- 개인 네트워크와 공용 네트워크 두 설정 모두에서 'Windows Defender 방화벽 끄기'를 선택하고 확인을 누릅니다.
- 방화벽을 끄고 싶지 않다면 TFTP 연결에 대한 예외를 추가하는 방법도 있습니다. Windows 방화벽 설정 창에서 'Windows Defender 방화벽을 통해 앱 또는 기능 허용'을 클릭합니다.
- 예외를 추가할 수 있도록 '설정 변경(Change settings)' 버튼을 클릭합니다.
- '다른 앱 허용(Allow another app)'을 누른 후 찾아보기(Browse)를 클릭합니다.
- Windows system32 폴더에서 TFTP.exe 파일을 찾아 선택한 후 열기를 누릅니다.
- 개인(Private)과 공용(Public) 체크박스를 모두 선택한 후 확인을 클릭합니다.
TFTP로 파일 전송하기
TFTP 클라이언트 설치와 UDP 포트 69번 포워딩까지 마쳤다면 이제 원격 또는 로컬로 파일을 전송할 준비가 된 것입니다. 서버가 실행 중인 상태에서 아래 지침을 따르세요.
- Windows 키 + R을 눌러 실행(Run) 창을 엽니다.
- 'cmd'를 입력하여 명령 프롬프트를 실행합니다.
- 파일 전송에 앞서, 전송하려는 파일이 서버 루트 디렉터리에 있는지 먼저 확인합니다.
- 파일을 받으려면 GET 파라미터를, 파일을 보내려면 PUT 파라미터를 사용합니다. 명령어 형식은 다음과 같습니다.
Tftp -i [서버 IP 주소] [GET 또는 PUT] [파일 경로]
- 파일을 전송하는 실제 예시는 다음과 같습니다.
Tftp -i 192.168.10.8 put E:\hello.txt
- 파일을 수신하는 경우에는 명령어를 다음과 같이 입력합니다.
Tftp -i 192.168.10.8 get hello.txt
참고:
원격으로 파일을 전송하려면 명령 프롬프트에 공인(public) IP 주소를 입력하고 포트 번호를 함께 지정해야 합니다. 예시는 다음과 같습니다.
Tftp -i 39.43.126.2:69 put E:\hello.txt