LINUX.ORG.RU
ФорумAdmin

network boot (dhcp+tftp) бесконечный цикл запросов

 , , ,


0

1

Никак не получается настроить dhcp-tftp-boot сервер на Archlinux, чтоб загрузить роутер (mikrotik) по сети. Нужно ли запускать tftpd, или `dnsmasq` сам его подымает? Как проверить, что tftpd точно работает? Такое чувство, что до него просто не доходят запросы. Я пробовал `tftp localhost`, но оно `get file` выполняет даже с отрубленными `dnsmasq` и `tftpd`
/etc/dnsmasq.conf

interface=enp2s0
dhcp-range=192.168.1.100,192.168.1.119,12
dhcp-host=d4:ca:6d:92:a4:7e,192.168.1.101
enable-tftp
tftp-root=/srv/tftp
dhcp-boot=openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf,boothost,192.168.1.10
: ifconfig 
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.10
:ls /srv/tftp/ 
openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf
: systemctl status tftpd
● tftpd.service - hpa's original TFTP daemon
   Loaded: loaded (/etc/systemd/system/tftpd.service; static; vendor preset: disabled)
   Active: active (running) since Tue 2015-02-10 22:53:32 EET; 3min 44s ago
 Main PID: 30664 (in.tftpd)
   CGroup: /system.slice/tftpd.service
           └─30664 /usr/sbin/in.tftpd -s /srv/tftp/
Запускаю:
sudo ifconfig enp2s0 192.168.1.10 up
sudo systemctl start tftpd
sudo dnsmasq -i enp2s0  -d -u test -p0 -K --log-dhcp --bootp-dynamic
Бутаю роутер с зажатым ресетом, и получаю флуд запросами в логах dnsmasq
dnsmasq-dhcp: 3595606023 available DHCP range: 192.168.1.100 -- 192.168.1.119
dnsmasq-dhcp: 3595606023 vendor class: Mips_boot
dnsmasq-dhcp: 3595606023 DHCPDISCOVER(enp2s0) d4:ca:6d:92:a4:7e 
dnsmasq-dhcp: 3595606023 tags: enp2s0
dnsmasq-dhcp: 3595606023 DHCPOFFER(enp2s0) 192.168.1.114 d4:ca:6d:92:a4:7e 
dnsmasq-dhcp: 3595606023 requested options: 1:netmask, 3:router
dnsmasq-dhcp: 3595606023 bootfile name: openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf
dnsmasq-dhcp: 3595606023 server name: boothost
dnsmasq-dhcp: 3595606023 next server: 192.168.1.10
dnsmasq-dhcp: 3595606023 sent size:  1 option: 53 message-type  2
dnsmasq-dhcp: 3595606023 sent size:  4 option: 54 server-identifier  192.168.1.10
dnsmasq-dhcp: 3595606023 sent size:  4 option: 51 lease-time  2m
dnsmasq-dhcp: 3595606023 sent size:  4 option: 58 T1  1m
dnsmasq-dhcp: 3595606023 sent size:  4 option: 59 T2  1m45s
dnsmasq-dhcp: 3595606023 sent size:  4 option:  1 netmask  255.255.255.0
dnsmasq-dhcp: 3595606023 sent size:  4 option: 28 broadcast  192.168.1.255
dnsmasq-dhcp: 3595606023 sent size:  4 option:  3 router  192.168.1.10
dnsmasq-dhcp: 109765576 available DHCP range: 192.168.1.100 -- 192.168.1.119
... Так ~1000 раз


dnsmasq-dhcp: 3472001688 available DHCP range: 192.168.1.100 -- 192.168.1.119
dnsmasq-dhcp: 3472001688 vendor class: Mips_boot
dnsmasq-dhcp: 3472001688 DHCPREQUEST(enp2s0) 0.0.0.0 d4:ca:6d:92:a4:7e 
dnsmasq-dhcp: 3472001688 DHCPNAK(enp2s0) 0.0.0.0 d4:ca:6d:92:a4:7e wrong network
dnsmasq-dhcp: 3472001688 broadcast response
dnsmasq-dhcp: 3472001688 sent size:  1 option: 53 message-type  6
dnsmasq-dhcp: 3472001688 sent size:  4 option: 54 server-identifier  192.168.1.10
dnsmasq-dhcp: 3472001688 sent size: 13 option: 56 message  77:72:6f:6e:67:20:6e:65:74:77:6f:72:6b
dnsmasq-dhcp: 3472001688 available DHCP range: 192.168.1.100 -- 192.168.1.119
dnsmasq-dhcp: 3472001688 vendor class: Mips_boo
.... Так ~1000 раз

К сожалению роутер в uart ничем не плюется, но могу поспорить там было бы `tftp file not found` Уже 3ий час мучаюсь. За любые наводки буду очень благодарен.

Должно быть DHCPDISCOVER -> DHCPOFFER -> DHCPREQUEST -> DHCPACK. А у вас как-то не так, похоже, ваш маршрутизатор почему-то не получает ip-адрес и до tftp вобще дело не доходит.

Но, можете проверить — запустить tcpdump на перехват 69 порта, если там будут пакет, значит дело действительно в tftpd.

mky ★★★★★ ()
Ответ на: комментарий от mky

Возможно, дело в:

dhcp-range=192.168.1.100,192.168.1.119,12

12 секунд это очень мало, dnsmasq поднимает это до 2 минут, но, может, микротику и это не нравится, вроде как вобще пишут 12h, или ничего (1 час по умолчанию).

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.