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?

pengguna1689961
sumber

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/

pengguna1689961
sumber
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.

ζ--
sumber
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 .

irfan_np
sumber
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