Bagaimana cara saya menginstal dan menjalankan server TFTP?


60

Saya memiliki target VxWorks tertanam yang perlu mem-boot kernel-nya dari komputer Ubuntu saya. Bagaimana cara saya menginstal dan menjalankan server TFTP?

Jawaban:


103

Instalasi dan Pengaturan TFTP Server

  1. Instal paket berikut.

    sudo apt-get install xinetd tftpd tftp
    
  2. Buat /etc/xinetd.d/tftp dan tulis entri ini

    service tftp
    {
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    disable         = no
    }
    
  3. Buat folder / tftpboot ini harus sesuai dengan apa pun yang Anda berikan di server_args. sebagian besar akan tftpboot

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. Mulai ulang layanan xinetd.

    sistem yang lebih baru:

    sudo service xinetd restart
    

    sistem yang lebih lama:

    sudo /etc/init.d/xinetd restart
    

Sekarang server tftp kami sudah beroperasi.

Menguji server tftp kami

  1. Buat file bernama test dengan beberapa konten di jalur / tftpboot dari server tftp

    Dapatkan alamat ip server tftp menggunakan perintah ifconfig

  2. Sekarang di beberapa sistem lain ikuti langkah-langkah berikut.

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

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


1
hanya langkah 4 yang perlu diubah, karena xinetd dihasilkan oleh pemula. Anda perlu me-restart dengan 'service xinetd restart'
BЈовић

3
Saya mengikuti instruksi ini dan mendapat izin ditolak! Nama file tujuan [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: kode kesalahan 2 diterima - Pelanggaran akses% Pembukaan kesalahan tftp: //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin (Izin ditolak) #copy flash: c2950-i6q4l2-mz.121-22 .EA1b.bin tftp: Alamat atau nama host jarak jauh []? 10.1.11.14 Nama file tujuan [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: kode kesalahan 2 diterima - Pelanggaran akses
Mohammad Rafiee

1
@Mohammad Rafiee: posting blog yang ditautkan ke sini menambahkan beberapa info: jalankan sudo chmod -R 777 /tftpbootantara langkah 1 dan 2 dari "Menguji server tftp kami". Bukannya itu membantu saya, tetapi sepertinya itu membantu orang lain.
Gauthier

2
Pada 14,04, ini tidak berhasil untuk saya. Info tentang /tftpbootdi /etc/xinetd.d/tftpsepertinya tidak masalah. Sebagai gantinya, klien mencari di direktori /srv/tftpsebagaimana ditentukan dalam /etc/inetd.conf. Saya tidak tahu jika cara pengaturannya diubah sejak artikel, atau jika saya mengacaukannya. Jika jawaban di atas tidak bekerja untuk Anda, coba masukkan file tes Anda /srv/tftpsebagai gantinya.
Gauthier

2
Harap dicatat bahwa dengan Ubuntu 16.04, Anda akan mengalami error code 2 (access violation). Untuk memperbaikinya dimasukkan tftpboot -sdalam server_args(tidak ada garis miring terkemuka, -sdi akhir Sumber:. Icesquare.com/wordpress/...
CharlesB

7

Anda dapat menginstal atftpddan itu akan membuat direktori yang disebut /tftpbootdi mana Anda dapat menempatkan file Anda. Letakkan terutama pxelinux.0file di sana. Setiap konfigurasi di masa depan akan diatasi jika perlu.

Ketika Anda menginstal paket dengan

sudo apt-get install atftpd

itu akan menggunakan Debconf untuk meminta Anda beberapa pilihan. Anda dapat mengatur banyak pilihan (batas waktu server mungkin berguna), terutama basepath . Anda juga dapat menyesuaikan rentang multicast.


Untuk apa pxelinux.0? Saya mem-boot target VxWorks, jadi saya pikir saya hanya perlu file vxworks di / tftpboot.
user1689961

Maaf - itu tidak berhasil untuk saya.
user1689961

Coba ganti nama vxworksmenjadi pxelinux.0, hanya untuk melihat apakah jawaban saya akan berfungsi untuk pengguna di masa mendatang.
ζ--

ini tidak bekerja untuk 13,04. Saya baru saja mencoba
BЈовић

@ BЈовић Ini adalah jawaban yang agak lama dan saya sejujurnya tidak tahu prosedur untuk 13.04.
ζ--

6

Anda dapat menginstal tftpd-hpadan mengubah konfigurasi. Langkah-langkah untuk menginstal tftpd-hpa dijelaskan dalam posting blog ini .


2
Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
guntbert

1
memvotasikan Anda hanya karena tftpd-hpa adalah server tftp sederhana yang bodoh untuk digunakan dan sebenarnya tidak memerlukan konfigurasi apa pun yang diperlukan dalam posting itu, cukup taruh file Anda di / var / lib / tftpboot dan Anda sudah siap (di ubuntu 16.04 tidak yakin tentang OS lain).
mschuett
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.