TFTP (Trivial File Transfer Protocol) ilk olarak 1980 yılında tanımlanmıştır. Haziran 1981'de Karen R. Sollinler.

İlk günlerde, TFTP'nin temel amacı, bir ağ üzerinden dosya gönderip almaktı. Özellikle, sistemlerin bir ağ üzerinden önyüklenmesini sağlamak için önyükleme sırasında ihtiyaç duyulan dosyaları aktarmak için kullanıldı.

Bir Linux makinesinde bir TFTP sunucusunu nasıl kurabileceğiniz aşağıda açıklanmıştır.

TFTP Nedir?

TFTP hala dosya aktarımı amacıyla kullanılmaktadır ve desteklediği özelliklerde temel bir değişiklik yoktur. TFTP, dosyaları UDP/IP üzerinden indirmek ve göndermek için kullanılır. Genellikle diğer dosya aktarım protokollerinde bulunan kimlik ve yetki denetimi, dosya listeleme, silme veya yeniden adlandırma gibi ek işlevleri yoktur.

İletim katmanında TCP kullanan gelişmiş dosya aktarım protokollerinden farklı olarak UDP protokolünde çalışır. ve dosyaya ait paketlerin diğerine gidip gitmediğini kontrol etme gibi özelliklere sahip değildir. yan. Bu sınırlama nedeniyle internet veya geniş alan ağları yerine yerel ağlarda kullanım için daha uygundur.

instagram viewer

Yukarıda listelenen tüm bu görünüşte olumsuz özelliklere rağmen, TFTP protokolünün çok güçlü olan bir yönü basitliğidir. Protokolün uygulanması, üzerinde işletim sistemi olmayan ortamlar için bile alternatiflerine göre oldukça kolaydır. Bu özelliğinden dolayı gömülü sistemlerde geniş bir kullanım alanına sahiptir.

Linux'ta TFTP Sunucusu Kurmak

Gömülü cihazlarla çalışırken, TFTP sunucu hizmetinin kurulu olması önemlidir. Linux sistemlerinde, birkaç TFTP sunucusu uygulaması çalışabilir. kullanıyorsanız Debian tabanlı dağıtım, yükleyebilirsiniz tftpd-hpa, tftpd, veya atftpd paketler. Hangisini seçeceğinizden emin değilseniz, tftpd-hpa paketini kurmayı düşünün.

sudo uygunalmak tftpd-hpa'yı yükleyin

Kurulumdan sonra TFTP hizmeti dinlemeye başlayacaktır. UDP bağlantı noktası 69. Dosyaları TFTP sunucusu aracılığıyla diğer sistemlere sunmak için birkaç ön koşulu aklınızda tutmanız gerekir:

  • Gerekli dosyayı TFTP ana dizinine veya o ana dizinin altındaki bir dizine kopyalamak
  • Dosya izinlerinin herkese görünür hale getirilmesi

TFTP sunucusu ana dizininin ne olduğunu öğrenmek için şuraya bakabilirsiniz. TFTP_DIRECTORY değişken /etc/default/tftpd-hpa dosya. Genellikle, gibi dizinler görürsünüz /var/lib/tftpboot veya /srv/tftp. İsterseniz bu dizini değiştirebilir ve servisi yeniden başlatabilirsiniz.

kedi /vb/varsayılan/tftpd-hpa

Kullanım kolaylığı için, ilgili TFTP giriş dizininin sahibini kullanıcı hesabınızla değiştirirseniz, çalıştırdığınız her komuta sudo önekini eklemeniz gerekmez. Sahipliği kökten geçerli kullanıcıya değiştirmek için chown komutunu kullanın:

sudo chown -R $USER /srv/tftp

TFTP sunucu paketi adları ve varsayılan ana dizinler, kullanılan Linux dağıtımına bağlı olarak farklılık gösterebilir.

TFTP Sunucusu ile Dosya Gönderme

Bazen, bir dosyayı bilgisayarınızdan taşımak için tek seçeneğin TFTP olduğu durumlar vardır. gömülü Linux sistemi dış ortama. Örneğin, bazen sistem, dosyayı aktarabileceğiniz herhangi bir yazılabilir ortamı desteklemeyebilir.

Bu gibi durumlarda, TFTP istemcisi muhtemelen meşgul kutusu, sistemde kayıtlı bir dosyayı ağdaki bir TFTP sunucusuna gönderebilirsiniz.

TFTP istemci uygulamasını kullanmak için, meşgul kutusu tftp emretmek:

meşgul kutusu tftp 

TFTP sunucusuna örnek dosya göndermek için aşağıdaki gibi bir komut kullanmanız gerekir:

meşgul kutusutftp-lörnek.çöp Kutusu-p 192.168.1.100

Yukarıdaki komut doğru olmasına rağmen dosyayı TFTP sunucunuza aktarırken hata alırsınız. Döndürülen hata mesajı kendini açıklayıcı olmadığı için asıl sorunun ne olduğunu anlamak zordur.

Buradaki sorun, TFTP sunucusundaki bazı güvenlik prosedürlerinden kaynaklanmaktadır. TFTP, aynı ada sahip bir dosyanın, dosyanın yazılacağı dizinde olmasını gerektirir. dosya yükleme için bir ön koşul olarak ve bu dosya için yazma erişiminin herkes.

Başka bir deyişle, TFTP sunucusunda bulunmayan bir dosyanın TFTP istemcileri aracılığıyla yüklenmesi mümkün değildir. Aynı ada sahip boş bir dosya oluşturur ve erişim haklarını düzenlerseniz, yukarıdaki yükleme işlemi başarılı olacaktır. Bunun için ilgili TFTP sunucusu ana dizininde aşağıdaki komutları çalıştırmalısınız:

CD /srv/tftp 
dokunmakörnek.çöp Kutusu
chmod 666 örnek.çöp Kutusu

Artık yüklemenizi başarıyla gerçekleştirebilirsiniz.

Yukarıdaki güvenlik önlemini devre dışı bırakmak ve TFTP sunucusunun var olmayan bir dosya oluşturmasını sağlamak da mümkündür. Bunun için, -c veya --oluşturmak parametreyi başlatırken tftpd-hpa başvuru. Mevcut parametreye bu parametreyi eklemek yeterlidir. TFTPD_OPTIONS değişken /etc/default/tftpd-hpa dosya:

# /etc/default/tftpd-hpa 
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--güvenli --oluştur"

Dosya Aktarımı için Neden TFTP Sunucusu Kullanmalısınız?

TFTP'nin en önemli avantajı hızlı olması ve zamandan tasarruf etmenize yardımcı olmasıdır. Ağ cihazlarının konfigürasyon dosyalarını diğer sistemlere aktarmak için ideal bir seçenektir. Üstelik çok basit kullanım kriterlerine sahiptir. Hem Windows hem de Linux tabanlı işletim sistemlerinde yazılımlarla rahatlıkla çalışır. Son olarak, FTP'yi teknik olarak kullanamayacağınız durumlarda günü kurtarmak için TFTP her zaman oradadır.

En büyük dezavantajı, elbette, güvenli olmamasıdır. Bu nedenle, bir TFTP sunucusu kullanarak dosya aktarırken çok dikkatli olmalısınız.

Dosya aktarımları dışında dosya silme, düzenleme ve değiştirme gibi işlevleri TFTP sunucusu kullanarak gerçekleştiremezsiniz. Bu özellik, gelişmiş sistemler kullanan veya arayanlar için büyük bir dezavantajdır. Son olarak, kimlik doğrulama gerektirmez; bu, güvenliğiniz konusunda ciddiyseniz büyük bir dezavantajdır.

Diğer İşletim Sistemlerinde TFTP Kurulumu

Windows üzerinde TFTP kullanacaksanız herhangi bir üçüncü parti yazılım yüklemenize gerek yoktur. TFTP'yi kontrol panelindeki Windows özelliklerini aç veya kapat seçeneğiyle etkinleştirebilirsiniz.