본문 바로가기

리눅스

우분투 22.04에서 TFTP 서버를 구축하는 방법

728x90
반응형

우분투 22.04에서 TFTP 서버를 구축하는 방법

TFTP 서버는 작은 크기의 파일을 네트워크를 통해 전송하는 간단한 파일 전송 프로토콜을 제공합니다.

테스트 환경

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.1 LTS
Release:	22.04
Codename:	jammy

APT 리포지토리 패키지 업데이트

apt update

tftpd-hpa 패키지 설치

apt install -y tftpd-hpa

TFTP 계정 정보(그룹/계정)

$ cat /etc/group | grep tftp
tftp:x:118:
$ cat /etc/passwd | grep tftp
tftp:x:113:118:tftp daemon,,,:/srv/tftp:/usr/sbin/nologin

TFTP 서버 설정일

TFTP 서버 설정 파일(/etc/default/tftpd-hpa)을 편집하여 TFTP 서버를 구성합니다.

vim /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

TFTP(tftpd-hpa) 서비스 시작

systemctl --now enable tftpd-hpa

TFTP(tftpd-hpa) 서비스 상태 확인

systemctl status tftpd-hpa
$ systemctl status tftpd-hpa
● tftpd-hpa.service - LSB: HPA's tftp server
     Loaded: loaded (/etc/init.d/tftpd-hpa; generated)
     Active: active (running) since Sun 2022-12-11 20:35:57 KST; 16s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 1 (limit: 4575)
     Memory: 536.0K
        CPU: 21ms
     CGroup: /system.slice/tftpd-hpa.service
             └─3340 /usr/sbin/in.tftpd --listen --user tftp --address :69 --secure /srv/tftp

Dec 11 20:35:57 kube-control1 systemd[1]: Starting LSB: HPA's tftp server...
Dec 11 20:35:57 kube-control1 tftpd-hpa[3332]:  * Starting HPA's tftpd in.tftpd
Dec 11 20:35:57 kube-control1 tftpd-hpa[3332]:    ...done.
Dec 11 20:35:57 kube-control1 systemd[1]: Started LSB: HPA's tftp server.

TFTP(tftpd) 서비스 포트 확인

netstat -anlp | grep -v grep | grep tftp

t1

TFTP(tftpd) 서버 프로세스 확인

ps -ef | grep -v grep | grep tftpd
$ ps -ef | grep -v grep | grep tftpd
root        3340       1  0 20:35 ?        00:00:00 /usr/sbin/in.tftpd --listen --user tftp --address :69 --secure /srv/tftp
728x90

TFTP 디렉터리 생성

mkdir -pv /apps/tftproot

TFTP 디렉터리 소유자 및 그룹 설정

sudo chown tftp:tftp /apps/tftproot

TFTP 디렉터리 권한 설정

sudo chmod -R /apps/tftproot

TFTP 설정 편집

vim /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/apps/tftproot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure --create"

TFTP 서비스 재시작

systemctl restart tftpd-hpa

방화벽 설정 (선택 사항)

방화벽을 사용하는 경우 TFTP 포트 69을 열어야 합니다.

sudo ufw allow 69/udp

TFTP 클라이언트 패키지 설치

apt install -y tftp
touch bb.txt
tftp 192.168.0.51
put bb.txt
quit
$ tftp 192.168.0.51
tftp> put bb.txt
tftp> quit

tftp 서버(/apps/tftproot)에서 파일 확인

$ ls -l /apps/tftproot
total 0
-rw-rw-rw- 1 tftp tftp 0 Dec 11 20:59 bb.txt

 

참고URL

- TFTP 서버 구성 방법 : https://scbyun.com/552

 

728x90
반응형