Практика роботи з tftp ~ мережеві заморочки

Всім доброго дня, сьогодні ми з вами спробуємо попрактикуватися в використання протоколу TFTP. Для даної практики ми будемо використовувати 3 віртуальні машини, віртуально знаходяться в одній підмережі. У моєму випадку це будуть дві машини, що працюють під управлінням Windows XP. і одна віртуальна машина з встановленим на неї D ebian 6.0.7. На одну з віртуальних машин з Windows XP (віртуальна машина 1) ми встановимо популярний в певних колах Tftpd32, що включає до свого складу TFTP сервер і TFTP клієнт. На другий віртуальній машині з XP ми попрактікуемся в використання штатного клієнта TFTP вбудованого в Windows. Ну а на машині з D ebian (віртуальна машина 3) ми познайомимося з азами TFTP в Linux. І так якщо вам все це цікаво, то приступаємо.

Для початку сконфігуріруем наші віртуальні машини.

Практика роботи з tftp ~ мережеві заморочки

tftpd 32 налаштований на роздачу файлів з папки Public по протоколу TFTP

Тепер приступимо до найцікавішого - до конфігурації TFTP сервера в Debian. Відразу зазначу, що IP даної віртуальної машини 192.168.1.83. Для на чала нам буде потрібно встановити на нашу віртуальну машину кілька пакетів, для цього виконаємо в консолі команду:

sudo aptitude install openbsd-inetd tftpd tftp

Пакет openbsd-inetd є мережну службу, яка обробляє вхідні TCP і UDP з'єднання і запускає відповідну програму для обробки даних сполук. Пакет tftpd є TFTP сервер, а пакет tftp - TFTP клієнт.

Після того як всі перераховані вище пакети будуть встановлені приступимо до їх конфігурації. За замовчуванням TFTP сервер налаштований на використання директорії / srv / tftp. Можливо це і зручно, то так як ми вчимося працювати з TFTP ми спробуємо це змінити і зробимо так щоб TFTP сервер для своєї роботи використав директорію / TFTP _ server. Для початку створимо цю директорію виконавши команди:

sudo mkdir TFTP _ server

cd TFTP _ server

echo "1 file" | sudo tee 1.log

echo "2 file" | sudo tee 2.log

Першою командою ми переходимо в кореневу директорію. Другий створюємо в ній директорію TFTP _ server. Третьою командою ми переходимо в директорію TFTP _ server. За допомогою двох останніх команд ми створюємо в директорії TFTP _ server файли 1. log і 2. log містять текст «1 file» і «2 file» відповідно.

sudo nano /etc/inetd.conf

В даному файлі шукаємо рядки подібні:

#: BOOT: TFTP service is provided primarily for booting. Most sites

#run this only on machines acting as "boot servers."

tftp dgram udp wait nobody / usr / sbin / tcpd /usr/sbin/in.tftpd / srv / tftp

Замінюємо аргумент / srv / tftp на / TFTP _ server. В результаті у вас повинно вийти:

tftp dgram udp wait nobody / usr / sbin / tcpd /usr/sbin/in.tftpd / TFTP_server

Після чого зберігаємо файл inetd.conf. Щоб тільки що внесені настройки вступили в силу необхідно перезапустити службу openbsd - inetd. для цього виконуємо команду:

sudo /etc/init.d/openbsd-inetd restart

Тепер можна вважати що дана віртуальна машина налаштована для роботи. І далі ми перейдемо до практики.

Практика 1. Копіюємо файли сTFTP сервера за допомогою встроенногоTFTP кліентаWindows

Для початку запустимо консоль на віртуальній машині 2. І спробуємо завантажити файл 1. bmp з TFTP сервера віртуальної машини 1 (192.168.1.41). Для цього в консолі виконаємо команду:

tftp 192.168.1.41 GET 1. bmp

Після цього на час копіювання відбудеться пауза, по закінчення якої ви побачите результат виконання операції.

Практика роботи з tftp ~ мережеві заморочки

Файл успішно скопійований з TFTP сервера

tftp 192.168.1.41 GET 2.bmp

Практика роботи з tftp ~ мережеві заморочки

Статистика запитів надходять на TFTP сервер віртуальної машини 1

tftp 192.168.1. 83 GET 1 .log

tftp 192.168.1.83 GET 2. log

Практика 2. Записуємо файли наTFTP сервер за допомогою встроенногоTFTP кліентаWindows

Для того щоб скопіювати файли знаходяться в папці C: \ Client (віртуальна машина 2) на TFTP сервера віртуальної машини 1 необхідно в консолі виконати наступні команди:

tftp 192.168.1.41 PUT C: \ Client \ 1.txt

tftp 192.168.1.41 PUT C: \ Client \ 2.txt

Записані файли на віртуальній машині 1 з'являться в директорії C: \ Public.

Практика роботи з tftp ~ мережеві заморочки

Помилка Access Violation при спроби записи на tftpd

Справа в тому, що tftpd встановлений на віртуальну машину 3, дозволяє здійснювати запис тільки в уже існуючі файли. Тому на необхідно виконати на віртуальній машині 3 наступні команди:

cd / TFTP _ server

sudo chmod 777 -R / TFTP_server

Першою командою ми переходь в директорію / TFTP_server. Другий командою ми створюємо в ній порожній файл з ім'ям 1.txt. Третьою командою ми даємо повні права на доступ до директорії / TFTP і всіх наявних у ній файлів.

Після цього можна виконувати на віртуальній машині 2 команду:

tftp 192.168.1.83 PUT C: \ Client \ 1.txt