Tahukah anda ada alternatif yang lebih mudah untuk protokol pemindahan fail yang popular? Ia adalah TFTP, dan berikut ialah cara untuk menyediakannya pada Linux.
TFTP (Trivial File Transfer Protocol) mula ditakrifkan pada tahun 1980. Ia adalah protokol yang agak lama, diterbitkan sebagai TFTP Protocol Revision 2 pada Jun 1981 oleh Karen R. Sollins dalam RFC 783 (Permintaan untuk Komen).
Pada masa awal, matlamat utama TFTP adalah untuk menghantar dan menerima fail melalui rangkaian. Khususnya, ia digunakan untuk memindahkan fail yang diperlukan semasa but untuk membolehkan sistem but melalui rangkaian.
Begini cara untuk menyediakan pelayan TFTP pada mesin Linux.
Apakah itu TFTP?
TFTP masih digunakan untuk tujuan pemindahan fail, tiada perubahan asas pada fungsi yang disokongnya. TFTP digunakan untuk memuat turun dan menghantar fail melalui UDP/IP. Ia tidak mempunyai ciri tambahan seperti kawalan identiti dan kebenaran, penyenaraian fail, pemadaman atau penamaan semula yang biasa dalam protokol pemindahan fail lain.
Berbeza dengan Advanced File Transfer Protocol, yang menggunakan TCP pada lapisan pengangkutan, ia berfungsi pada protokol UDP dan tidak mempunyai fungsi seperti menyemak sama ada paket kepunyaan fail akan dihantar ke hujung yang lain. Oleh kerana had ini, ia lebih sesuai digunakan dalam LAN berbanding Internet atau WAN.
Walaupun semua ciri yang kelihatan tidak berfaedah disenaraikan di atas, satu aspek protokol TFTP yang sangat berkuasa ialah kesederhanaannya. Berbanding dengan alternatifnya, protokol ini sangat mudah untuk dilaksanakan, walaupun untuk persekitaran tanpa sistem pengendalian. Disebabkan ciri ini, ia mempunyai pelbagai kegunaan dalam sistem terbenam.
Pasang pelayan TFTP pada Linux
Apabila menggunakan peranti terbenam, adalah penting untuk memasang perkhidmatan pelayan TFTP. Pada sistem Linux, adalah mungkin untuk menjalankan berbilang pelaksanaan pelayan TFTP. Jika anda menggunakan pengedaran berasaskan Debian, anda boleh memasang pakej tftpd-hpa, tftpd atau atftpd. Jika anda tidak pasti yang mana satu untuk dipilih, pertimbangkan untuk memasang pakej tftpd-hpa.
┌──(linuxmi㉿linuxmi)-[~/linuxmi.com] └─$ sudo apt-get install tftpd-hpa
Selepas pemasangan, perkhidmatan TFTP akan mula mendengar pada port UDP 69. Untuk menyampaikan fail kepada sistem lain melalui pelayan TFTP, anda perlu mengingati beberapa prasyarat:
Yang pertama ialah menyalin fail yang diperlukan ke direktori utama TFTP atau direktori di bawah direktori rumah itu, dan yang kedua ialah untuk membuat kebenaran fail kelihatan kepada orang ramai
Untuk mengetahui apa itu direktori rumah pelayan TFTP, anda boleh melihat pembolehubah TFTP_DIRECTORY dalam fail /etc/default/tftpd-hpa. Biasanya, anda akan melihat direktori seperti /var/lib/tftpboot atau /srv/tftp. Jika perlu, anda boleh menukar direktori ini dan memulakan semula perkhidmatan.
┌──(linuxmi㉿linuxmi)-[~/linuxmi.com] └─$ cat /etc/default/tftpd-hpa
Untuk kemudahan penggunaan, jika anda menukar pemilik direktori rumah TFTP yang berkaitan kepada akaun pengguna anda, anda tidak perlu menambah awalan sudo pada setiap arahan yang anda jalankan. Gunakan arahan chown untuk menukar pemilikan daripada akar kepada pengguna semasa:
sudo chown -R $USER /srv/tftp
Nama pakej pelayan TFTP dan direktori rumah lalai mungkin berbeza-beza bergantung pada pengedaran Linux yang digunakan.
Hantar fail menggunakan pelayan TFTP
Kadangkala terdapat situasi di mana TFTP adalah satu-satunya pilihan untuk memindahkan fail daripada sistem Linux terbenam ke persekitaran luaran. Sebagai contoh, kadangkala sistem mungkin tidak menyokong sebarang media boleh tulis yang boleh digunakan untuk memindahkan fail.
Dalam kes ini, memandangkan klien TFTP mungkin disusun dalam kotak sibuk, anda boleh menghantar fail yang disimpan dalam sistem anda ke pelayan TFTP pada rangkaian.
Untuk menggunakan aplikasi klien TFTP, keluarkan arahan busybox tftp:
busybox tftp
Untuk menghantar fail sampel ke pelayan TFTP, anda perlu menggunakan arahan berikut:
busybox tftp -l example.bin -p 192.168.1.111
Walaupun arahan di atas betul, ralat akan berlaku semasa memindahkan fail ke pelayan TFTP. Memandangkan mesej ralat yang dikembalikan tidak jelas, sukar untuk memahami masalah sebenar.
Masalah di sini adalah kerana beberapa prosedur keselamatan pada pelayan TFTP. TFTP menghendaki bahawa fail dengan nama yang sama harus ditempatkan dalam direktori tempat fail itu akan ditulis sebagai prasyarat untuk muat naik fail dan kebenaran menulis untuk fail itu harus tersedia kepada semua orang.
Dalam erti kata lain, fail yang tidak wujud pada pelayan TFTP tidak boleh dimuat naik melalui klien TFTP. Jika anda mencipta fail kosong dengan nama yang sama dan mengedit kebenaran aksesnya, proses muat naik di atas akan berjaya. Untuk melakukan ini, anda mesti menjalankan arahan berikut dalam direktori rumah pelayan TFTP yang berkaitan:
cd /srv/tftp touch example.bin chmod 666 example.bin
Kini anda boleh melakukan muat naik dengan jayanya.
Ia juga mungkin untuk melumpuhkan langkah keselamatan di atas dan membiarkan pelayan TFTP mencipta fail yang tidak wujud. Untuk melakukan ini, anda boleh menggunakan parameter -c atau --create apabila memulakan aplikasi tftpd-hpa. Ia cukup untuk menambah parameter ini pada pembolehubah TFTPD_OPTIONS sedia ada dalam fail /etc/default/tftpd-hpa:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure --create"
Mengapa menggunakan pelayan TFTP untuk pemindahan fail?
Kelebihan paling penting TFTP ialah ia pantas dan membantu anda menjimatkan masa. Ia sesuai untuk memindahkan fail konfigurasi peranti rangkaian ke sistem lain. Tambahan pula, ia mempunyai piawaian penggunaan yang sangat mudah. Ia boleh dijalankan dengan mudah dengan perisian pada sistem pengendalian berasaskan Windows dan Linux. Akhir sekali, dalam situasi di mana FTP secara teknikalnya tidak mungkin, TFTP sentiasa boleh menyelamatkan hari.
Sudah tentu, kelemahan terbesar ialah ia tidak selamat. Oleh itu, anda mesti berhati-hati apabila memindahkan fail menggunakan pelayan TFTP.
Kecuali untuk pemindahan fail, anda tidak boleh menggunakan pelayan TFTP untuk melaksanakan fungsi seperti pemadaman fail, penyuntingan dan pengubahsuaian. Ciri ini merupakan kelemahan utama bagi mereka yang menggunakan atau mencari sistem lanjutan. Akhir sekali, ia tidak memerlukan pengesahan, yang merupakan kelemahan utama jika anda serius tentang keselamatan anda.
Sediakan TFTP pada sistem pengendalian lain
Jika anda ingin menggunakan TFTP pada Windows, anda tidak perlu memasang sebarang perisian pihak ketiga. Anda boleh mendayakan TFTP menggunakan pilihan Hidupkan atau matikan ciri Windows dalam Panel Kawalan.
Atas ialah kandungan terperinci Cara Menyediakan Pelayan TFTP Purba dan Mudah di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!