널리 사용되는 파일 전송 프로토콜에 대한 더 간단한 대안이 있다는 것을 알고 계셨나요? 이는 TFTP이며 Linux에서 설정하는 방법은 다음과 같습니다.
TFTP(Trivial File Transfer Protocol)는 1980년에 처음 정의되었습니다. 이는 RFC 783(의견 요청)에서 Karen R. Sollins가 1981년 6월에 TFTP 프로토콜 개정 2로 게시한 상당히 오래된 프로토콜입니다.
초창기 TFTP의 주요 목적은 네트워크를 통해 파일을 주고받는 것이었습니다. 특히, 네트워크를 통해 시스템을 부팅할 수 있도록 부팅 중에 필요한 파일을 전송하는 데 사용됩니다.
Linux 시스템에서 TFTP 서버를 설정하는 방법은 다음과 같습니다.
TFTP란 무엇인가요?
TFTP는 여전히 파일 전송 목적으로 사용되며 지원하는 기능에는 근본적인 변화가 없습니다. TFTP는 UDP/IP를 통해 파일을 다운로드하고 전송하는 데 사용됩니다. 다른 파일 전송 프로토콜에서 흔히 볼 수 있는 신원 및 인증 제어, 파일 목록, 삭제 또는 이름 변경과 같은 추가 기능이 없습니다.
전송 계층에서 TCP를 사용하는 고급 파일 전송 프로토콜과 달리 UDP 프로토콜에서 작동하며 파일에 속한 패킷이 상대방에게 전송되는지 확인하는 등의 기능이 없습니다. 이러한 제한으로 인해 인터넷이나 WAN보다는 LAN에서 사용하는 것이 더 적합합니다.
위에 나열된 겉보기에 불리한 모든 기능에도 불구하고 매우 강력한 TFTP 프로토콜의 한 가지 측면은 단순성입니다. 다른 프로토콜에 비해 이 프로토콜은 운영 체제가 없는 환경에서도 구현하기가 매우 쉽습니다. 이 기능으로 인해 임베디드 시스템에서 다양한 용도로 사용됩니다.
Linux에 TFTP 서버 설치
임베디드 장치를 사용하는 경우 TFTP 서버 서비스를 설치하는 것이 중요합니다. Linux 시스템에서는 여러 TFTP 서버 구현을 실행할 수 있습니다. Debian 기반 배포판을 사용하는 경우 tftpd-hpa, tftpd 또는 atftpd 패키지를 설치할 수 있습니다. 어느 것을 선택할지 확실하지 않은 경우 tftpd-hpa 패키지 설치를 고려하십시오.
으아악설치 후 TFTP 서비스는 UDP 포트 69에서 수신 대기를 시작합니다. TFTP 서버를 통해 다른 시스템에 파일을 제공하려면 몇 가지 전제 조건을 기억해야 합니다.
첫 번째는 필요한 파일을 TFTP 홈 디렉터리 또는 해당 홈 디렉터리 아래의 디렉터리에 복사하는 것이고, 두 번째는 파일 권한을 공개적으로 표시하는 것입니다
TFTP 서버 홈 디렉터리가 무엇인지 알아보려면 /etc/default/tftpd-hpa 파일에서 TFTP_DIRECTORY 변수를 보면 됩니다. 일반적으로 /var/lib/tftpboot 또는 /srv/tftp와 같은 디렉터리가 표시됩니다. 필요한 경우 이 디렉터리를 변경하고 서비스를 다시 시작할 수 있습니다.
사용 편의성을 위해 관련 TFTP 홈 디렉터리의 소유자를 사용자 계정으로 변경하는 경우 실행하는 모든 명령에 sudo 접두사를 추가할 필요가 없습니다. chown 명령을 사용하여 소유권을 루트에서 현재 사용자로 변경합니다.
으아악TFTP 서버 패키지 이름과 기본 홈 디렉터리는 사용되는 Linux 배포판에 따라 다를 수 있습니다.
TFTP 서버를 사용하여 파일 보내기
때때로 임베디드 Linux 시스템에서 외부 환경으로 파일을 이동하는 데 TFTP가 유일한 옵션인 상황이 있습니다. 예를 들어, 시스템이 파일 전송에 사용할 수 있는 쓰기 가능한 미디어를 지원하지 않는 경우도 있습니다.
이 경우 TFTP 클라이언트가 비지박스에 컴파일될 수 있으므로 시스템에 저장된 파일을 네트워크의 TFTP 서버로 보낼 수 있습니다.
TFTP 클라이언트 애플리케이션을 사용하려면 busybox tftp 명령을 실행하세요.
으아악샘플 파일을 TFTP 서버로 보내려면 다음 명령을 사용해야 합니다.
으아악위 명령은 맞지만 TFTP 서버로 파일을 전송하는 중 오류가 발생합니다. 반환된 오류 메시지는 설명이 필요 없기 때문에 실제 문제가 무엇인지 이해하기 어려울 수 있습니다.
여기서 문제는 TFTP 서버의 일부 보안 절차 때문입니다. TFTP에서는 파일 업로드를 위한 전제 조건으로 파일이 기록될 디렉터리에 동일한 이름의 파일이 있어야 하며, 파일에 대한 쓰기 권한이 모든 사람에게 제공되어야 합니다.
즉, TFTP 서버에 존재하지 않는 파일은 TFTP 클라이언트를 통해 업로드할 수 없습니다. 동일한 이름의 빈 파일을 생성하고 해당 파일의 액세스 권한을 편집하면 위의 업로드 프로세스가 성공합니다. 이렇게 하려면 관련 TFTP 서버 홈 디렉터리에서 다음 명령을 실행해야 합니다.
으아악이제 업로드를 성공적으로 수행할 수 있습니다.
위의 보안 조치를 비활성화하고 TFTP 서버가 존재하지 않는 파일을 생성하도록 할 수도 있습니다. 이를 수행하려면 tftpd-hpa 애플리케이션을 시작할 때 -c 또는 --create 매개변수를 사용할 수 있습니다. /etc/default/tftpd-hpa 파일의 기존 TFTPD_OPTIONS 변수에 이 매개변수를 추가하면 충분합니다.
으아악파일 전송에 TFTP 서버를 사용하는 이유는 무엇입니까?
TFTP의 가장 중요한 장점은 속도가 빠르고 시간을 절약할 수 있다는 것입니다. 네트워크 장치의 구성 파일을 다른 시스템으로 전송하는 데 이상적입니다. 게다가 매우 간단한 사용 기준을 가지고 있습니다. Windows 및 Linux 기반 운영 체제의 소프트웨어로 쉽게 실행됩니다. 마지막으로, FTP가 기술적으로 불가능한 상황에서는 TFTP가 항상 문제를 해결할 수 있습니다.
물론 가장 큰 단점은 안전하지 않다는 점입니다. 따라서 TFTP 서버를 사용하여 파일을 전송할 때는 매우 주의해야 합니다.
파일 전송을 제외하고 TFTP 서버를 사용하여 파일 삭제, 편집, 수정 등의 기능을 수행할 수 없습니다. 이 기능은 고급 시스템을 사용하거나 찾는 사람들에게 큰 단점입니다. 마지막으로 인증이 필요하지 않습니다. 이는 보안을 중요하게 생각하는 경우 큰 단점이 됩니다.
다른 운영 체제에서 TFTP 설정
Windows에서 TFTP를 사용하려면 타사 소프트웨어를 설치할 필요가 없습니다. 제어판의 Windows 기능 켜기/끄기 옵션을 사용하여 TFTP를 활성화할 수 있습니다.
위 내용은 Linux에서 고대의 간단한 TFTP 서버를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!