Невозможно TFTP клонировать файлы с TFTP-сервера WDS во время загрузки PXE

1125
Mike

Я установил Windows Deployment Server и изменил свое загрузочное меню PXE, чтобы я мог загружать разные ядра (что работает). Сейчас я пытаюсь настроить CloneZilla также на загрузку PXE, но я не могу заставить корректно работать часть TFTP. Вот код загрузочного меню clonezilla:

label Clonezilla-live MENU LABEL Clonezilla Live (Ramdisk) KERNEL vmlinuz APPEND initrd=initrd.img boot=live username=user union=overlay config components quiet noswap edd=on nomodeset nodmraid locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=tftp://$serverIP/filesystem.squashfs 

где $ serverIP - это IP-адрес моего TFTP-сервера - отсюда:

http://clonezilla.org/livepxe.php

Все отлично работает, за исключением оператора fetch в конце строки APPEND. Он будет работать, когда я попытаюсь подключиться к другому TFTP-серверу (SolarWinds), но я не могу получить его для загрузки с TDS-сервера WDS, который, как я знаю, работает, потому что WDS полагается на него. Я могу использовать TFTP-клиент для доступа к WDS TFTP-серверу, но всякий раз, когда я пытаюсь сделать это с помощью clonezilla, при попытке загрузить (или не удается) загрузить файл filesystem.squashfs выдается ошибка «Нарушение доступа».

Это может быть длинный выстрел, но я подумал, что кто-то мог столкнуться с чем-то подобным раньше.

ПОЯСНЕНИЯ

Файл filesystem.squashfs, по сути, является приложением clonezilla - это не клонированный образ, предназначенный для хранения развертываемого образа - эти файлы огромны (на концертах) и передаются с помощью других средств в приложении clonezilla. Этот файл squashfs загружается во время загрузки подсистемы Linux, а затем приложение clonezilla выполняется после завершения загрузки.

0

2 ответа на вопрос

1
NTAuthority

Мне удалось решить эту проблему, основываясь на ответе telcoM, добавив /boot/*и добавив boot/*фильтры HKLM\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSTFTP\ReadFilter.

Кажется, что фильтры по умолчанию разрешают только ссылки на boot и tmp с обратными слешами, и чтобы клиенты могли использовать слэши, слэши должны быть явно разрешены здесь.

Конечно, я перезапустил WDSServerсервис после этого.

Моя возможная командная строка:

append initrd=initrd-clonezilla.img boot=live union=aufs noswap noprompt vga=788 fetch=tftp://10.0.10.23/boot/x64/clonezilla.squashfs

Обратите внимание на то, что я до сих пор размещен файл .squashfs в к / загрузки / каталога, но так как Linux использует дробную черту, я все еще должен был настроить реестр, чтобы разрешить использование с слэша.

Милая! Отличная находка Mike 5 лет назад 0
0
telcoM

TDS-сервер WDS использует разделители имен в стиле Windows, то есть обратные косые черты вместо прямых косых черт в стиле Unix.

Также обратите внимание на значения реестра Windows ReadFilter и RootFolder в HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services / WDSServer / Providers / WDSTFTP.

По умолчанию загрузка TFTP разрешена только из подпапок \ boot и \ tmp корневой папки TFTP (как определено значением реестра RootFolder).

Ваш "fetch = tftp: //$serverIP/filesystem.squashfs" означает попытку загрузки из <RootFolder> \ filesystem.squashfs, что запрещено по умолчанию для ReadFilter по умолчанию.

У меня не было проблем с загрузкой из подпапок - я думаю, что настоящая проблема - косые черты - я думаю, что утилита tftp, используемая CloneZilla (или debian или чем-то еще), не любит их. Я наконец сдался и просто загружаю clonezilla из коробки Ubuntu после загрузки PXE с сервера WDS. Это глупо, но я не планирую делать это очень долго ... Mike 6 лет назад 0