본문 바로가기

Engineer on the Mac

[Engineer on the Mac] 맥북에서 TFTP Server 사용하기

시작하며
네트워크를 다루는 엔지니어에겐 TFTP는 필수 애플리케이션입니다. 라우터 및 스위치에 구성 정보나 펌웨어를 업로드하는 일이 많기 때문입니다. 윈도우즈 OS에는 다양한 무료 어플리케이션이 있지만, 맥 OS에은 대부분이 유료 버전이라 무료 버전을 구하는 것이 쉽지 않습니다.  


이번 글에서는 Mac OS에 내장된 TFTP서버를 구동하기 위한 방법을 살펴보겠습니다. 



TFTP Server 애플리케이션 다운로드 및 설치하기 
Mac OS X에 내장된 TFTP Server 기능을 활성화하기 위해서는 
리눅스 및 유닉스에 익숙한 사용자여야 합니다. 저와 같이 리눅스 및 유닉스를 잘 모르는 사람들은 명령어를 따라서 치기만 해도 문제를 일으키는 경우가 많습니다. 그래서, 몇몇 개발자들은 간단한 유틸리티를 만들어 내포하였습니다.  




위의 홈페이지에서 다운로드를 받을 파일은 두가지 버전이 있으므로 아래 링크를 클릭하시기 바랍니다.


OS X 10.6 Snow Leopard 이전 버전

OS X 10.7 Lion 이후 버전  


다운로드 후 설치하는 것은 일반 맥 애플리케이션과 동일합니다. 저는 "응용프로그램 >> 유틸리티" 디렉토리에 설치하였습니다. 



위의 그림처럼 TftpServer.app 와 xQuartz.app 두 가지가 설치됩니다. TftpServer.app는 사용자 인터페이스를 담당하는 GUI 화면이고, xQuartz.app는 실제 명령어를 Mac OS에 전달하는 터미널입니다. 일반 사용자들을 터미널을 통해 직접 구성하지 못하므로 GUI에서 실행한 변경사항을 스크립트로 처리하는 것입니다.



TftpServer.app 시작하기

설치 후에 어플리케이션을 시작하기 위해 더블 클릭을 하면 정식 어플리케이션이 아니라는 에러 창이 뜨면서 실행되지를 않습니다. 해결하는 방법은 다음과 같습니다. 캡쳐를 뜨지를 못해서 말로 설명합니다. -,-:?


"CTRL + 어플리케이션 클릭"을 누르면 어플리케이션 구동을 하기 위해 관리자 인증을 요청합니다. 인증이 완료되면 어플리케이션이 구동됩니다. 



이 TFTP 서버는 생각보다 사용이 간편합니다만 MAC OS에 가진 보안 설정을 일일히 해제해 주어야 합니다. 처음 사용할 때 해야할 일들을 나열해 봅니다. 


  • TFTP Root 디렉토리 변경
    기본적으로 제공되는 "/Private/Tftpboot"가 있지만, 디렉토리 체계가 복잡합니다. 복잡하다는 의미는 하위 디렉토리가 읽기 및 쓰기 권한을 가지고 있더라도 상위 디렉토리가 권한이 없으면 문제를 일으킵니다. 가장 단순하게 하기 위해 TFTP Root 디렉토리를 Macintosh HD 하드디스크에 "TFTPRoot"라는 디렉토리를 만든 후에 "Chang Path" 메뉴바를 클릭하여 연결하여 줍니다. 



    변경을 원하지 않는 분들은 그대로 사용하셔도 됩니다. 저는 편의를 위해 사용하였습니다.


  • 경로 상의 모든 디렉토리에 "읽기 및 쓰기" 권한 부여
    매우 어려운 듯 하지만, TFTP 서버 애프리케이션 윈도우 아래의 3개 정보 중에 "Working Path permissions"에서 "Fix" 버튼을 클릭합니다. 이것은 관련 디렉토리에 읽기 및 쓰기 권한을 일괄적으로 부여하는 것입니다. 와료되면 붉은 색 아이콘이 녹색 아이콘으로 바뀔 것입니다. 


  • 재시작
    TFTP 서버 애플리케이션을 완전 종료후에 다시 시작하면 속성이 적용되어 사용할 수 있습니다. 만일 제대로 되지 않는다는 생각이 들면, 맥북 자체를 재시작해 보시기 바랍니다.


TFTP 서버 구동하기
기본적인 설정을 완료한 후에 TFTP 서버의 "Reveal" 탭을 맥북에서 "Finder"를 이용하여 기존에 만든었던 "TFTPRoot" 디렉토리로 복사합니다. 복사를 한 후에 "Start TFTP" 메뉴를 클릭합니다.





TFTP Server에 대한 설정을 완료하였으므로 사용하는 데 문제가 없어야 하지만, 계속 "Permission denied"가 계속 발생하였습니다. 맥은 디렉토리에 대한 권한을 변경하더라도 새롭게 추가된 파일에 대한 권한을 새로 설정해야 한다는 것입니다. 이 것을 모르면 파일 전송은 않됩니다.


TFTP로 전송할 파일의 정보를 아래와 같이 "정보 가져오기"로 확인합니다. 




정보 가져오기 창의 맨 아래 "공유 및 사용 권한"에서 아래 그림과 같이 "everyone 읽기 및 쓰기"로 되어 있는 지를 확인합니다. 권한이 제대로 되어있지 않을경우에는 변경해야 합니다.  




이제 정상적으로 TFTP 서버를 통해 파일을 다운로드하는 것을 확인할 수 있습니다. 


보안이슈

TFTP는 UDP 69번을 사용하며 언제나 해커들의 공격 대상이 될 수 있는 포트이므로 사용하지 않을 경우에는 TFTP 서버 애플리케이션을 항상 종료해야 합니다. 그리고, TFTP 루트 디렉토리를 광범위하게 도큐먼트나 데스크탑과 같은 상위 디렉토리를 잡는 것은 매우 위험합니다. 하위 디렉토리의 권한에 영향을 미치기 때문입니다. 



마치며
지금까지 여러 개의 맥용 FTP 및 TFTP를 설치해 보았는 데 제대로 사용할 수 있는 애플리케이션이 많지 않았습니다. 이 애플리케이션이 가장 효과적인 듯합니다. 참고로, 파일을 다운로드하는 것은 위와 같지만, 업로드하는 것은 조금 복잡합니다. 저도 해보지는 않았지만, 권한 설정 때문에 동일한 파일명을 "Create Files"로 만든 후에 사용하는 듯합니다. 



또한, 엔지니어들에게 필요한 FTP 서버 및 클라이언트도 Mac OS에 내장되어 있을 텐데 사용하기가 불편합니다. 제가 FTP를 사용할 일이 생기면 그 때가서 찾아서 정리해 보겠습니다. ^^



참조

http://kb.promise.com/KnowledgebaseArticle10139.aspx



고마우신분

TFTP 서버 설정 중에 파일에 대한 권한 설정 문제를 해결하지 못하고 있었는 데 한방해결해 주신 분이 있습니다. 같은 회사 동료로 성이 구씨이면서 장비 설정에 뛰어난 능력을 보이시기에 별명이 "컨피구"입니다. 컨피구님께 감사의 말씀을 전합니다. 



[Engineer on the Mac] 시리즈

맥북에 관련된 내용은 왼쪽 카테고리 탭의 "MISC >> Enginner on the Mac" 에 있습니다. 


2015/12/28 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 맥북에서 SNMP Server 사용하기

2015/10/21 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 맥북에서 SFTP Server 사용하기


2015/10/01 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 엔지니어들이 자주 사용하는 맥용 애플리케이션들


2015/09/30 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 맥북에서 화면캡쳐하기


2015/04/02 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 맥북에서 FTP Server 사용하기


2014/10/20 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 맥북에서 TFTP Server 사용하기


2014/10/13 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 맥북에서 USB 메모리 포맷하기


2014/08/20 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 맥북에서 NTFS로 포맷된 대용량 USB 사용하기


2014/08/19 - [MISC../Engineer on the Mac] - [Engineer on the Mac] 맥북에서 USB to Serial 케이블 이용하기




라인하트 (CCIEV #18487)  -----------------------------------------------------
ucwana@gmail.com (라인하트의 구글 이메일) 
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항) 
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스) 
http://groups.google.com/group/ucforum (벤더에 상관없이 UC를 공부하는 사람들이 모인 구글 구룹스) 
세상을 이롭게 하는 기술을 지향합니다. ________________________________________________________