Làm cách nào để cài đặt và chạy máy chủ TFTP?


60

Tôi có một mục tiêu VxWorks nhúng cần khởi động kernel từ máy tính Ubuntu của tôi. Làm cách nào để cài đặt và chạy máy chủ TFTP?

Câu trả lời:


103

Cài đặt và cài đặt máy chủ TFTP

  1. Cài đặt các gói sau.

    sudo apt-get install xinetd tftpd tftp
    
  2. Tạo /etc/xinetd.d/tftp và đặt mục này

    service tftp
    {
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    disable         = no
    }
    
  3. Tạo một thư mục / tftpboot cái này sẽ khớp với bất cứ thứ gì bạn đã cho trong server_args. chủ yếu nó sẽ là tftpboot

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. Khởi động lại dịch vụ xinetd.

    hệ thống mới hơn:

    sudo service xinetd restart
    

    hệ thống cũ hơn:

    sudo /etc/init.d/xinetd restart
    

Bây giờ máy chủ tftp của chúng tôi đang hoạt động.

Kiểm tra máy chủ tftp của chúng tôi

  1. Tạo một tệp có tên thử nghiệm với một số nội dung trong đường dẫn / tftpboot của máy chủ tftp

    Lấy địa chỉ IP của máy chủ tftp bằng lệnh ifconfig

  2. Bây giờ trong một số hệ thống khác làm theo các bước sau.

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

Nguồn: http://mohammadthalif.wordpress.com/2010/03/05/installing-and-testing-tftpd-in-ubuntudebian/


1
chỉ bước 4 cần được thay đổi, vì xinetd được sinh ra khi mới bắt đầu. bạn cần khởi động lại nó với 'dịch vụ xinetd khởi động lại'
Bовић

3
Tôi đã làm theo hướng dẫn này và phải đối mặt với sự cho phép bị từ chối! Tên tệp đích [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: mã lỗi 2 nhận được - Vi phạm truy cập% Lỗi mở tftp: //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin (Quyền bị từ chối) #copy flash: c2950-i6q4l2-mz.121-2 .EA1b.bin tftp: Địa chỉ hoặc tên của máy chủ từ xa []? 10.1.11.14 Tên tệp đích [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: nhận được mã lỗi 2 - Vi phạm truy cập
Mohammad Rafiee

1
@Mohammad Rafiee: bài đăng trên blog được liên kết đến đây đã thêm một số thông tin: chạy sudo chmod -R 777 /tftpbootgiữa bước 1 và 2 của "Kiểm tra máy chủ tftp của chúng tôi". Không phải nó giúp tôi, nhưng có vẻ như nó đã giúp người khác.
Gauthier

2
Vào ngày 14.04, điều này không làm việc cho tôi. Thông báo thông tin về /tftpboottrong /etc/xinetd.d/tftpdường như không thành vấn đề. Thay vào đó, khách hàng nhìn vào thư mục /srv/tftpnhư được chỉ định trong /etc/inetd.conf. Tôi không biết nếu cách mọi thứ được thiết lập thay đổi kể từ bài viết, hoặc nếu tôi làm hỏng việc gì đó. Nếu câu trả lời ở trên không phù hợp với bạn, hãy thử đặt tệp kiểm tra của bạn vào /srv/tftpthay thế.
Gauthier

2
Xin lưu ý rằng với Ubuntu 16.04, bạn sẽ trải nghiệm error code 2 (access violation). Để sửa lỗi, hãy đặt nó tftpboot -svào server_args(không có dấu gạch chéo hàng đầu, -sở cuối. Nguồn: icesapes.com/wordpress/iêu
CharlesB

7

Bạn có thể cài đặt atftpdvà nó sẽ tạo một thư mục được gọi là /tftpboottrong đó bạn có thể đặt các tệp của mình. Đặt đặc biệt là các pxelinux.0tập tin ở đó. Bất kỳ cấu hình trong tương lai sẽ được giải quyết nếu cần thiết.

Khi bạn cài đặt gói với

sudo apt-get install atftpd

nó sẽ sử dụng Debconf để nhắc bạn một số lựa chọn. Bạn có thể đặt nhiều lựa chọn (thời gian chờ máy chủ có thể hữu ích), đặc biệt là cơ sở . Bạn cũng có thể điều chỉnh phạm vi phát đa hướng.


Pxelinux.0 để làm gì? Tôi đang khởi động một mục tiêu VxWorks, vì vậy tôi nghĩ rằng tôi chỉ cần tệp vxworks trong / tftpboot.
user1689961

Xin lỗi - điều đó không làm việc cho tôi.
dùng1689961

Hãy thử đổi tên vxworksthành pxelinux.0, để xem câu trả lời của tôi có hiệu quả với người dùng trong tương lai không.
ζ--

Điều này không làm việc cho 13.04. Tôi vừa thử
BЈовић

@ BЈовић Đây là một phần của một câu trả lời cũ và tôi thực sự không biết thủ tục cho 13.04.
ζ--

6

Bạn có thể cài đặt tftpd-hpavà thay đổi cấu hình. Các bước để cài đặt tftpd-hpa được giải thích trong bài đăng trên blog này .


2
Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
guntbert

1
chỉ nâng cấp bạn vì tftpd-hpa là một máy chủ tftp đơn giản ngu ngốc để sử dụng và thực sự không yêu cầu bất kỳ cấu hình nào cần thiết trong bài đăng đó, chỉ cần thả các tệp của bạn vào / var / lib / tftpboot và bạn đã được đặt (trên ub Ubuntu 16.04 không chắc chắn về hệ điều hành khác).
mschuett
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.