Настройка DHCP+TFTP для DOCSIS

Недавно нужно было настроить выдачу IP адресов нескольким старым DOCSIS модемам и хосту находящемуся после модема.
Под рукой был Arris Cadant C3 и модемы Thomson TCM-420.

Первым делом запустим DHCP сервер который будет выдавать IP адреса модемам, например как я описывал в этой статье — Установка и настройка isc-dhcp-server.
А также запустим TFTP сервер на котором будут файлы для модемов, например как я описывал в статье — Установка и настройка TFTP сервера

Читать далее Настройка DHCP+TFTP для DOCSIS

IPTables правила для TFTP

Чтобы открыть порт TFTP в IPTables выполним правило:

sudo iptables -A INPUT -p udp --dport 69 -j ACCEPT

Чтобы открыть порт TFTP только для конкретной сети, выполним правило:

sudo iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 69 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

sudo iptables -D INPUT -p udp -s 192.168.1.0/24 --dport 69 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

Смотри также мои статьи:
Настройка IPTables
Установка и настройка TFTP сервера в Ubuntu

Резервное копирование конфигурации TP-Link коммутаторов

Набросал скрипт для резервного копирования конфигурации TP-Link коммутаторов.
Скрипт выполняется на Linux где запущен TFTP сервер, он подключается по telnet к коммутатору и специальной командой конфигурация отправляется на указанный TFTP, по закрытию telnet соединения, файл перемещается в нужную директорию, а также последняя команда удаляет файлы которым больше 30 дней, так как больше их хранить мне не нужно.
Также можно ежемесячно делать например копию всех файлов в облако.
Как видно, перед вводом пароля в скрипте ставить паузу нельзя.

#!/bin/bash
{
echo "ПАРОЛЬ";
echo "enable";
echo "ПАРОЛЬ";
echo "copy startup-config tftp ip-address 192.168.0.5 filename tplink";
sleep 2;
echo "exit";
sleep 1;
echo "exit";
} | telnet 192.168.0.110

mv /srv/tftp/tplink.cfg /backups/devices/tplink/`date +%Y-%m-%d`_tplink.cfg
find /backups/devices/tplink/ -type f -mtime +30 -exec rm {} \;

Восстановление Ubiquiti (UBNT) устройств

Бывало такое, когда во время процесса обновления прошивки Rocket M, NanoBeam, NanoStation и других Ubiquiti устройств пропадало питание, либо случались какие-то другие проблемы после которых на устройство нельзя было зайти через web-интерфейс и оно не работало.

Опишу по пунктам как можно восстановить прошивку:

1) Скачать прошивку с официального сайта https://www.ubnt.com/download/, которой необходимо прошить устройство.

2) Запустить TFTP сервер. Пример запуска я описывал в этих статьях:
Запуск TFTP сервера на Windows
или
Установка и настройка TFTP сервера в Ubuntu.

3) Обязательно назначить компьютеру именно этот IP-адрес 192.168.1.254 и маску подсети 255.255.255.0.

4) Выключить устройство в котором необходимо восстановить прошивку, при выключенном устройстве нажать кнопку RESET и держа ее включить питание устройству, продолжать держать RESET 8-10 секунд, после чего опустить. Этими манипуляциями мы активируем режим восстановления и светодиодные индикаторы начнут поочередно мигать. IP-адресс устройства 192.168.1.20 должен начать пинговаться, если не пингуется, то восстановить увы не получится. Для проверки пинга выполняется команда в командной строке:

ping 192.168.1.20

5) Теперь скачанный ранее файл прошивки положим в директорию TFTP сервера и отправим его. Из windows это можно выполнить командой:

tftp -i 192.168.1.20 put XM-v5.5.4.build16501.bin

Из Linux это делается командами (возможно придется файл прошивки положить в домашнюю директорию пользователя):

tftp
connect 192.168.1.20
bin
trace
put XM-v5.5.4.build16501.bin
exit

Когда файл прошивки с TFTP сервера будет отправлен на устройство, необходимо подождать пока произойдет процесс обновления прошивки и устройство автоматически перезагрузится.

Готово.

Запуск TFTP сервера на Windows

Один из вариантов запуска tftp сервера на Windows скачать и запустить приложение по ссылке ниже:
http://tftpd32.jounin.net/tftpd32_download.html

После запуска приложения чтобы проверить необходимо запустить tftp клиент, он присутствует в скачанном приложении, а также можно установить встроенный клиент в Windows, ставим набрав в командной строке:

dism /online /Enable-Feature /FeatureName:TFTP

либо можно также открыв «Панель управления» -> «Удаление программы» или «Программы и компоненты» -> «Включение или отключение компонентов Windows», поставить галочку напротив «Клиент TFTP» и нажать «ОК».

Чтобы передавать и скачивать файлы c TFTP сервера открываем командную строку и например выполним команды:

tftp 192.168.1.2 GET file.txt
tftp 192.168.1.10 PUT file.txt

Файлы будут считываться и сохранятся в директорию с TFTP сервером.

Смотрите также:
Установка и настройка TFTP сервера в Ubuntu

Установка и настройка TFTP сервера в Ubuntu

TFTP (Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
atftpd — сервер
atftp — клиент

Устанавливаем:

sudo apt-get install atftpd atftp

Сервер использует порт: 69/udp
Стандартно создается директория /srv/tftp если ее нету, создаем:

sudo mkdir -p /srv/tftp
sudo chown nobody /srv/tftp

Для автоматического запуска необходимо закомментировать (поставить # в начале строки) строку запуска в /etc/inetd.conf:

#tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd —tftpd-timeout 300 —retry-timeout 5 —mcast-port 1758 —mcast-addr 239.239.239.0-255 —mcast-ttl 1 —maxthread 100 —verbose=5 /srv/tftpd

И поменять значение переменной USE_INETD в файле /etc/default/atftpd с true на false.
Это можно сделать в любом редакторе, например используя nano:

sudo nano /etc/default/atftpd

(в редакторе комбинация клавиш Ctrl+O используется для сохранения изменений, а Ctrl+X для выхода).

Для применения изменений и запуска atftpd выполним команду:

sudo /etc/init.d/atftpd restart

Все, TFTP сервер должен работать, принимать и отдавать файлы из директории /srv/tftp.

Смотрите также мои статьи:
IPTables правила для TFTP
Запуск TFTP сервера на Windows
Настройка DHCP+TFTP для DOCSIS