TFTP-сервер

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

Всё что будет написано ниже, 100% работает на Debian 7 Wheezy
Исходные данные:
192.168.100.1 — IP «TFTPd» — сервера (он же сервер HTTP, DHCP, DNS, NTP)
192.168.100.X/24 — IP клиента

# 08:00:27:80:e9:99 VB intnet — виртуальная локальная сеть
auto eth1
allow-hotplug eth1
iface eth1 inet static
    address 192.168.100.1
    netmask 255.255.255.0

# 08:00:27:a4:9a:8b VB Bridget Adapter — мост в «реальную» локальную сеть
auto eth2
allow-hotplug eth2
iface eth2 inet dhcp

eth1:192.168.100.1 — IP адрес настроен вручную
eth2:10.0.0.152 — IP адрес получен DHCP сервера в «реальной» сети

Подготовка
Для работы необходимы DHCP и TFTP сервера. Устанавливаем:
apt-get install tftpd-hpa dhcp3-server
Настройка DHCP сервера
Редактируем настройки в файле /etc/dhcp/dhcpd.conf
# cat /etc/dhcp/dhcpd.conf

local-address 192.168.100.1;

ddns-update-style none;

option domain-name "mydrafts.local";

# dns сервера, которые получат клиенты
# в моём случае, этот же сервере является DNS
option domain-name-servers 192.168.100.1;

# Шлюз
option routers 192.168.100.1;

# broadcast адрес
option broadcast-address 192.168.100.255;

# ntp сервер(ы) для dhcp клиентов. Указывать если имеются в наличии
option ntp-servers 192.168.100.1;

#Время аренды адреса в секундах
default-lease-time 1800;
max-lease-time 3600;

# "Предполагаю", что конфигурационная информация правильна и "авторитетна" 
authoritative;

# на тот случай если настроена, скажем, установка ОС по сети,
# выключаю возможность загрузки по сети всем.
deny booting;

log-facility local7;

# подсеть, из которой будут выдаваться IP адреса.
subnet 192.168.100.0 netmask 255.255.255.0
{
  range 192.168.100.100 192.168.100.150;
  option routers 192.168.100.1;
  option broadcast-address 192.168.100.255;
  option domain-name "mydrafts.local";
}

# Клиент для установки/загрузки по сети (по МАК-адресу)
host tftpclient {
  allow booting;
  filename "pxelinux.0";
  hardware ethernet 08:00:27:85:33:f7;
  fixed-address 192.168.100.151;
}
перегружаем DHCP-сервер:
# service isc-dhcp-server restart
[ ok ] Stopping ISC DHCP server: dhcpd.
[ ok ] Starting ISC DHCP server: dhcpd.

# ps aux |grep dhcpd
root      3346  0.0  0.9  12892  4912 ?        Ss   17:00   0:00 /usr/sbin/dhcpd -q -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid
Настройка TFTPd сервера
Правим /etc/default/tftpd-hpa
# cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp/debinst/"
TFTP_ADDRESS="192.168.100.1:69"
TFTP_OPTIONS="--secure"
перегружаем TFTP-сервер:
# ps aux |grep tftpd
root      4449  0.0  0.0  14860   328 ?        Ss   09:25   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 192.168.100.1:69 --secure /srv/tftp/debinst/
пожалуй всё. ПК, МАК-адрес которого равен 08:00:27:85:33:f7, будет иметь возможность загрузиться по сети.
Рубрики: *nix, Debian, DHCP, Сервер | 3 | 2 670 | Распечатать эту статью