TFTP 서버를 어떻게 설치하고 실행합니까?


60

우분투 컴퓨터에서 커널을 부팅 해야하는 임베디드 VxWorks 대상이 있습니다. TFTP 서버를 어떻게 설치하고 실행합니까?

답변:


103

TFTP 서버 설치 및 설정

  1. 다음 패키지를 설치하십시오.

    sudo apt-get install xinetd tftpd tftp
    
  2. /etc/xinetd.d/tftp를 작성하고이 항목을 넣습니다.

    service tftp
    {
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    disable         = no
    }
    
  3. / tftpboot 폴더를 생성하십시오. 이것은 server_args에서 지정한 것과 일치해야합니다. 대부분 tftpboot입니다

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. xinetd 서비스를 다시 시작하십시오.

    최신 시스템 :

    sudo service xinetd restart
    

    구형 시스템 :

    sudo /etc/init.d/xinetd restart
    

이제 tftp 서버가 시작되었습니다.

tftp 서버 테스트

  1. tftp 서버의 / tftpboot 경로에 일부 내용으로 test라는 파일을 작성하십시오.

    ifconfig 명령을 사용하여 tftp 서버의 IP 주소를 얻습니다.

  2. 이제 다른 시스템에서는 다음 단계를 수행하십시오.

    tftp 192.168.1.2
    tftp> get test
    Sent 159 bytes in 0.0 seconds
    
    tftp> quit
    
    cat test
    

출처 : http://mohammadthalif.wordpress.com/2010/03/05/installing-and-testing-tftpd-in-ubuntudebian/


1
xinetd는 upstart에 의해 생성되므로 4 단계 만 변경하면됩니다. 'service xinetd restart'를 사용하여 다시 시작해야합니다
BЈовић 12

3
나는이 지시를 따르고 허가가 거부되었다! 대상 파일 이름 [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP : 오류 코드 2 수신-액세스 위반 % tftp : //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin 열기 오류 (권한 거부) #copy flash : c2950-i6q4l2-mz.121-22 .EA1b.bin tftp : 원격 호스트의 주소 또는 이름 []? 10.1.11.14 대상 파일 이름 [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP : 오류 코드 2 수신-액세스 위반
Mohammad Rafiee

1
@Mohammad Rafiee : 여기에 링크 된 블로그 게시물 sudo chmod -R 777 /tftpboot에 "tftp 서버 테스트"의 1 단계와 2 단계 사이에 정보가 추가되었습니다 . 그것이 나에게 도움이되었지만 다른 사람들에게 도움이 된 것처럼 보입니다.
Gauthier

2
14.04에서 이것은 효과가 없었습니다. 에 대한 정보 /tftpboot에서이 /etc/xinetd.d/tftp문제가 보이지 않았다. 대신 클라이언트는에 /srv/tftp지정된 디렉토리 를 찾습니다 /etc/inetd.conf. 기사 이후로 설정 방식이 바뀌 었는지, 어떻게 든 망쳐 놓았는지 모르겠습니다. 위의 답변이 효과가 없다면 /srv/tftp대신 테스트 파일을 넣으십시오 .
Gauthier

2
Ubuntu 16.04를 사용하면 경험할 수 있습니다 error code 2 (access violation). 그것은 두지 해결하려면 tftpboot -s에서 server_args(선두에 슬래시를 -s끝 출처 :. icesquare.com/wordpress/...
CharlesB

7

설치 하면 파일을 저장할 수 atftpd있는 디렉토리가 생성됩니다 /tftpboot. 특히 pxelinux.0파일을 거기에 넣으십시오 . 필요한 경우 향후 구성이 해결됩니다.

패키지를 설치할 때

sudo apt-get install atftpd

Debconf를 사용하여 몇 가지 선택을 요구합니다. 많은 선택 사항 (서버 시간 초과가 유용 할 수 있음), 특히 basepath를 설정할 수 있습니다 . 멀티 캐스트 범위를 조정할 수도 있습니다.


pxelinux.0은 (는) 무엇 이죠? VxWorks 대상을 부팅 중이므로 / tftpboot에 vxworks 파일 만 있으면된다고 생각했습니다.
user1689961

죄송합니다-저에게는 효과가 없었습니다.
user1689961

내 답변이 향후 사용자에게 적합한 지 확인하려면로 이름 vxworks을 바꾸십시오 pxelinux.0.
ζ--

13.04에서는 작동하지 않습니다. 방금 시도
BЈовић

@ BЈовић 이것은 다소 오래된 답변이며 솔직히 13.04의 절차를 모릅니다.
ζ--

5

tftpd-hpa구성을 설치 하고 변경할 수 있습니다 . tftpd-hpa 설치 단계는이 블로그 게시물 에서 설명 합니다.


2
이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
guntbert

tftpd-hpa는 사용하기에 어리석은 간단한 tftp 서버이고 실제로 그 게시물에 필요한 설정이 필요하지 않기 때문에 당신을 upvoted했습니다. 다른 OS에 대해).
mschuett
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.