#1
vnm
-
- Members
- 2 posts
-
Singapore
Posted 03 December 2010 — 08:33 AM
Hi All,
I am running tftpd32.350 on Windows XP Pro SP3 as a DHCP server.
For my case, I need to unplug my LAN connection, so there is no connection at all, only my PC.
I try to set an IP address to the DHCP server (tftpd32.350), 192.168.20.1, by modifying «DHCP LocalIP=192.168.20.1» on tftpd32.ini
I start the tftpd32.350 and I got this error message:
Error 10049
The requested address is not valid in its context.
Tftpd32 tried to bind the DHCP port
to the interface 192.168.20.1
which is not available for this host
Either remove the DHCP service or suppress 192.168.20.1 interface assignation
I try to see using TCP View and disable other services that probably cause this problem, but still, I get the same result.
Is there something I miss here? need your help guys.
Thanks
- Back to top
#2
patpat
patpat
-
- Banned
-
- 48 posts
Member
-
United States
Posted 01 April 2011 — 08:25 AM
unfortunatelly Tftpd32 DHCP requieres to be bound to a valid IP on start-up
- Back to top
I’m trying to establish a connection with a custom bluetooth device without using COM ports. However, I’m getting an error: [10049] «The requested address is not valid in its context». What am I doing wrong?
static Guid serviceClass= new Guid("4d36e978-e325-11ce-bfc1-08002be10318"); //GUID of device class
static BluetoothAddress addr = BluetoothAddress.Parse("001210160177"); //from device
BluetoothDeviceInfo device = new BluetoothDeviceInfo(addr);
device.SetServiceState(serviceClass, true);
Console.WriteLine(BluetoothSecurity.PairRequest(device.DeviceAddress, "0000")); //pairing my device - writes True
BluetoothEndPoint ep = new BluetoothEndPoint(addr, serviceClass);
BluetoothClient conn = new BluetoothClient(ep); //10049 error
conn.Connect(ep);
Console.WriteLine(conn.GetStream());
asked Mar 12, 2014 at 8:45
Its all covered in the project’s documentation.
In short, remove that SetServiceState
line it is unnecessary/bad. Doing the pairing each time is also unnecessary and a bit slow but probably not worth changing if its working well.
Docs:
1) http://32feet.codeplex.com/documentation
- «See section General Bluetooth Data Connections below. The BluetoothClient provides the Stream to read and write on — there is no need to use virtual COM ports»
2) http://32feet.codeplex.com/wikipage?title=General%20Bluetooth%20Data%20Connections
BluetoothAddress addr
= BluetoothAddress.Parse("001122334455");
Guid serviceClass;
serviceClass = BluetoothService.SerialPort;
// - or - etc
// serviceClass = MyConsts.MyServiceUuid
//
var ep = new BluetoothEndPoint(addr, serviceClass);
var cli = new BluetoothClient();
cli.Connect(ep);
Stream peerStream = cli.GetStream();
peerStream.Write/Read ...
3) http://32feet.codeplex.com/wikipage?title=Errors
- 10049 «The requested address is not valid in its context.»
- No Service with given Service Class Id is running on the remote device
i.e. Wrong Service Class Id.
answered Mar 15, 2014 at 10:55
alanjmcfalanjmcf
3,4221 gold badge17 silver badges14 bronze badges
Here’s how it finally rolls.
device.SetServiceState(serviceClass, true); //do it before pairing
...
BluetoothClient conn = new BluetoothClient();
conn.Connect(ep);
Also, my mistake here:
static Guid serviceClass = new Guid("4d36e978-e325-11ce-bfc1-08002be10318");
//GUID of device class
Should be:
static Guid serviceClass = new Guid("00001101-0000-1000-8000-00805f9b34fb");
//GUID of bluetooth service
For seeing the proper GUID, refer to your device’s (not dongle’s) settings/properties. You can see them from Windows.
answered Mar 14, 2014 at 9:23
ammmeammme
331 silver badge4 bronze badges
я следовал этим инструкциям по установке tftpd64 на моей 64-битной ОС Windows 10:
http://www.tricksguide.com/how-to-setup-a-tftp-server-tftpd32-windows.html#comment-84949
когда я делаю это, я получаю ошибку при перезапуске TFTP. Там написано:
ошибка привязки 10013 сделана попытка доступа к сокету таким образом
запрещено правами доступа. 69.254.119.202.
Это не имеет значения какой IP Я выбираю из выпадающего списка «привязать TFTP к этому адресу» на панели настроек. Я все еще получаю ошибку. Ошибка также появляется в средстве просмотра журнала TFTP, которое говорит:
ошибка: сокет возвращает 10022 [02/05
21:40:28:822]
Как устранить эту ошибку?
источник
ошибка привязки 10013 указывает, что порт используется. У меня была эта же проблема сегодня, и я обнаружил, что в то время как UDP-порт 69 не используется, порты данных были. Просто как с FTP, TFTP и согласовывает временных портов для использования для передачи данных после подключения на UDP 69. Tftpd64 джанином по.программное обеспечение exe позволяет выбрать порт или диапазон портов, которые будут использоваться для данных, где он говорит:»локальные порты бассейн» в настройках. Вместо того чтобы оставить это поле пустым, выберите порт, который, как вы знаете, не используется (например, 70). Как только я определил, что UDP 69 не используется на моей машине, я установил пул локальных портов в 70-71 (я должен был указать диапазон; один порт не будет сохранен в .ini-файл), перезапустил TFTPd, и я больше не получил сообщение «Bind error 10013». Если вы обнаружите, что UDP-порт 69 не используется, но все равно не работает, попробуйте настроить локальный пул портов.
источник
У вас наверняка есть проблемы с разрешениями, то привязка терпит неудачу с указанной ошибкой.
Попробуйте решить проблему разрешения или попробуйте не связывать IP-адрес; это означает, что TFTP будет слушать «все» доступные сетевые адаптеры.
вы также можете попробовать Serva; лучше TFTP-сервер.
отвечен Pat 2017-05-15 10:39:53
источник
У меня та же проблема, и я обнаружил, что порт 69(TFTP) был пользователем в другом месте. Я просто использовал порт 70 (settingsTFTP) проблема ушла
источник
Другие вопросы
tftp
Wtware 4.9.14
очень долго грузится терминал и потом появляется такое сообщение i`m tired (хотя вроде разобрался с сообщением)
а вот с торможением непонятки, лог прилагаю.
сам клиент на virtual box тестируется
смущает вот это:
[192.168.1.254] Requests file «4.9.14packageskernel». Tsize is requested, blksize 1240 bytes.
[192.168.1.254] Sending OASK (tsize 1554816, blksize 1240).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
[192.168.1.254] Incorrect ACK received (expected 220, received 219).
Решение и попытка TFTPD32 не может передавать данные
Предыстория: однажды, чтобы провести эксперимент с топологией GNS3, вам нужно передать файл конфигурации GNS3 на локальный компьютер, поэтому я загрузил TFTPD32. Краткая диаграмма топологии выглядит следующим образом. После настройки его можно пропинговать, но нельзя передать. Это почти сбивает с толку. Такого рода судебное разбирательство длилось 3 часа … действительно глупо (вручную смешно)
Первый способ ошибки: добавить системный TFTP
В случае PING было неизбежно думать, что это проблема TFTP, и я начал думать, что это проблема системы. Я использовал систему GHOST, но я чувствовал, что она оптимизирована. Порт 69 был заблокирован. Через функцию программы панели управления — —Добавить программу WINDOS — TFTP-клиент.
Не работает …
Глупо думать об этом сейчас, как я хочу передавать данные из GNS3 на локальную, это тоже сторона сервера, открытие клиента — это позор!
Вторая попытка ошибки: проблема с программой TFTPD32.
Сделав неправильную попытку, я почувствовал, что завис и проблема с системой решена (Привет!) Поэтому я начал задаваться вопросом, есть ли проблема с настройкой TFTPD32, и я запустил Baidu для поиска правильной настройки TFTPD32, потому что мой был на английском языке, и Зеленого нет, значит, вначале был бардак … Сначала возьмите переводную картинку
Это моя собственная фотография
Не работает …
Неправильная третья попытка — N
Размышляя об этом, можно выделить разные:
1. Очевидно, что PING подключен, но я думаю, что есть проблема с этим адресом класса B, можно ли его изменить на класс C … (крупные компании не используют серию TFTP)
2. Перезагрузите компьютер, он будет работать? Перезагрузите GNS3, перезапустите TFTPD32 (тройное управление сетью)
3. Будет ли 360 заблокирован? Закройте его!
А, 360?
Вот и волшебный поворот
Правильная попытка первая:
Подумав о том, блокирует ли 360 информацию, я наконец вспомнил, что в WINDOS есть брандмауэр, который всегда будет игнорироваться …
Это оно!(Что я делал раньше )
Думаю, я могу написать статью «О необходимости отсутствия системного межсетевого экрана》。
Правильная попытка вторая:
Существование разумно, так что лучше найти способ обойти это. Довольно неприятно отключать подсказку в правом нижнем углу.
TFTP — это передача с небольшой пропускной способностью, поэтому это UDP.
Следующий шаг …
Здесь его можно отключить.
Это конец эксперимента, и я оплакиваю одну секунду IQ. OTL …
Содержание
- Как включить TFTP Client в Windows 10, 8.1, 7
- Как включить TFTP Client в окне «Компоненты Windows»
- Включение TFTP Client в командной строке
- Всключение через Windows PowerShell
- Поднятие tftpd32 сервера на Windows
- Установка tftpd32 сервера на Windows
- Как проверить работу сервера tftpd32?
- Комментарии
- Как включить TFTP-клиент в Windows 10 2022
- How to install Syncplify.me Server! version 5
- Включить клиент TFTP в Windows 10
- Включить или включить расширенные уведомления в Защитнике Windows
- Включить или включить службы IIS или Internet Information Services в Windows 8
- Включить или включить и использовать адаптивную яркость в Windows 10/8/7
- Tftpd64 не работает windows 10
- Tftp сервер windows
- Как проверить работу tftp-сервера?
- Настройка TFTP сервера в Windows 10
- Альтернатива домашней сети
- Настройка сервера TFTP
- Как пользоваться TFTP сетью
- Конфигурация клиента TFTP
- Настройка брандмауэра
- Как передавать файлы в сети TFTP
Как включить TFTP Client в Windows 10, 8.1, 7
В данной статье показаны действия, с помощью которых можно включить компонент TFTP Client в операционной системе Windows 10, Windows 8.1 и Windows 7
TFTP (Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки по сети операционных систем бездисковых рабочих станций, для обмена файлами с удаленным компьютером, на котором запущена служба TFTP, а так же для загрузки обновлений и конфигураций сетевых устройств (модемов, маршрутизаторов, систем хранения данных и т.п.). TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
По умолчанию компонент TFTP Client в операционных системах Windows 10, Windows 8.1 и Windows 7 отключён, но при необходимости можно легко включить его используя любой из способов, которые представлены далее в этой инструкции.
Как включить TFTP Client в окне «Компоненты Windows»
Чтобы включить компонент TFTP Client, нажмите сочетание клавиш + R, в открывшемся окне Выполнить введите (скопируйте и вставьте) OptionalFeatures и нажмите клавишу Enter↵.
В открывшемся окне «Компоненты Windows» установите флажок компонента TFTP Client и нажмите OK.
Через непродолжительное время Windows применит требуемые изменения и компонент TFTP Client будет включен.
Включение TFTP Client в командной строке
Вы можете включить или отключить компонент TFTP Client в командной строке используя DISM.
Чтобы включить компонент TFTP Client, запустите командную строку от имени администратора и выполните следующую команду:
Dism /online /Enable-Feature /FeatureName:TFTP
Чтобы отключить компонент TFTP Client, запустите командную строку от имени администратора и выполните следующую команду:
Dism /online /Disable-Feature /FeatureName:TFTP
Всключение через Windows PowerShell
Также включить или отключить компонент TFTP Client можно в консоли PowerShell.
Чтобы включить компонент TFTP Client, откройте консоль Windows PowerShell от имени администратора и выполните следующую команду:
Чтобы отключить компонент TFTP Client, откройте консоль Windows PowerShell от имени администратора и выполните следующую команду:
После включения компонента TFTP Client можно использовать утилиту tftp.exe для выполнения необходимых задач.
Если компонент TFTP Client отключен, то при вводе команды tftp в консоли командной строки вы увидите сообщение о том что:
«tftp» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Используя рассмотренные выше действия, можно включить или отключить компонент TFTP Client в операционной системе Windows 10, Windows 8.1 и Windows 7
Источник
Поднятие tftpd32 сервера на Windows
Для некоторых айтишных задач требуется поднять tftp-сервер, который обычно предназначен только для простой передачи файлов между устройствами. TFTP изначально так и разрабатывался, чтобы быть простым. Прочитать о его работе можно на Wikipedia.
Мне понадобился сервер tftp для того, чтобы слить настройки с уже настроенного коммутатора Cisco и при необходимости залить его обратно.
Для справки: tftp – это протокол передачи данных, который работает на транспортном протоколе UDP на порту 69. Особой безопасности не предоставляет. Используется для загрузки бездисковых систем (нужен для загрузки первоначального загрузчика) и для обновления прошивок аппаратных sip-телефонов Cisco.
Есть две версии приложения:
Данный tftp-сервер можно установить как для старой Windows XP, так и для современной Windows 10. На серверные ОС (Windows 2012 r2, Windows 2016 и др.), tftpd64 и tftpd32 встают тоже без проблем.
Порт tftp сервера по умолчанию — 69/UDP. Если подключение проходит через маршрутизатор, не забываем открыть 69 порт UDP протокола.
Установка tftpd32 сервера на Windows
Для таких простых целей я выбрал замечательное приложение tftpd32/tftpd64. Найти его можно здесь.
Для того, чтобы развернуть tftp-сервер на своем рабочем месте необходимо:
Всё! Теперь можно подключаться к tftp и копировать файлы. У операционной системы Windows XP tftp-клиент установлен по умолчанию, а у Windows 7/8/10 его необходимо доставить через компоненты системы.
Как проверить работу сервера tftpd32?
Для того, чтобы передать файл необходимо открыть cmd.exe и выполнить команду:
Для того, чтобы получить файл с tftp-сервера, есть команда:
Использовать tftpd32/tftpd64 для каких-то постоянных задач не рекомендуется, так как у него практически нет никакой защиты от несанкционированного подключений к серверу. Да, можно ограничить доступ к нему только определенным IP-адресам, но та легкость, с которой можно подменить IP-адрес, позволяет сказать, что это не относится к сетевой безопасности вообще.
Включать сервер tftp с таким «уровнем безопасности» можно только на короткое время, для выполнения каких-то сервисных работ, а лучше вообще делать это в изолированной сети.
Комментарии
Отлично и все так просто. Как раз хочу сохранить конфиг с маршрутизатора.
Распишите пожалуйста подробно, как с помощью этого ПО прошить голосовой шлюз. Где какие адреса вписывать и директории.
Возможно, в будущем обязательно напишу. Пока нет под рукой голосового шлюза от Cisco.
Разобрался. Утилита бородатая и просто не хочет правильно работать на семёрке. На хрюшке нормально заработала, правда пришлось правило фаэрвола ручками подправить – открыть 69 порт.
Не в чем там разбираться. Бородатость утилиты тут не причем, тем более последняя версия от 06.05.2015, тут семёрка даже с первым сервиспаком бородастей будет. Утилита прекрасно работает на всех версиях 32/64 рабочих станций и серверов. По умолчанию при запуске привязывается к первому интерфейсу по списку, если адрес 127.0.0.1 в списке первый, то к нему и привяжется. В утилите надо в настройках включить Bind TFTP to this address и выбрать нужный адрес из списка, чтобы он записался в файл tftp32.ini
Игорь, дружище, спасибо огромное, просто и быстро всё заработало, solarwinds ваще не хотел коннектить.
Источник
Как включить TFTP-клиент в Windows 10 2022
How to install Syncplify.me Server! version 5
TFTP или Протокол Trivial File Transfer Protocol позволяет передавать файлы на удаленный ПК или с него. TFTP отключен по умолчанию в Windows 10/8/7, но если вам нужна эта функция, вы можете легко включить TFTP.
TFTP передает файлы на удаленный компьютер и с него, как правило, на компьютере под управлением UNIX, который запускает Trivial Передача протокола TFTP или демон. TFTP обычно используется встроенными устройствами или системами, которые извлекают прошивку, информацию о конфигурации или образ системы во время процесса загрузки с TFTP-сервера, сообщает TechNet.
Включить клиент TFTP в Windows 10
Установите флажок и нажмите «ОК».
Windows запустится установки и активации функции. Это займет меньше минуты.
Как только процесс будет завершен, вы будете проинформированы об этом, и тогда вы сможете использовать TFTP.
TFTP сегодня не считается защищенным, поэтому используйте его, только если вы должен.
Также читайте : Как включить Telnet с помощью CMD.
Взгляните на некоторые из этих интересных трюков Telnet
Включить или включить расширенные уведомления в Защитнике Windows
Если вы включите Расширенные уведомления в Защитнике Windows, он будет постоянно информировать вас о здоровье вашего ПК и действия, которые он проводит.
Включить или включить службы IIS или Internet Information Services в Windows 8
Узнайте, как установить, включить или включить IIS или информацию в Интернете Услуги в Windows 7 | 8.
Включить или включить и использовать адаптивную яркость в Windows 10/8/7
Узнайте, если датчики света и если ваш монитор ноутбука или компьютера поддерживает адаптивную яркость, чтобы иметь возможность использовать Adaptive Brightness в Windows.
Источник
Tftpd64 не работает windows 10
Добрый день товарищи, сегодняшней темой для изучения будет как установить tftp сервер на примере tftpd64 service edition. Для некоторых айтишных задач требуется поднять tftp-сервер, который обычно предназначен только для простой передачи файлов между устройствами. TFTP изначально так и разрабатывался, чтобы быть простым. Прочитать о его работе можно на Wikipedia.Мне понадобился сервер tftp для того, чтобы слить настройки с уже настроенного коммутатора Cisco и при необходимости залить его обратно.
Tftp сервер windows
Для того, чтобы развернуть сервер на своем рабочем месте необходимо:
далее жмем i Agree и соглашаемся с лицензионным соглашением.
Выставляем нужный птички и жмем next.
Как установить tftp сервер на примере tftpd64 service edition-03
Задаем при необходимости альтернативный каталог для установки.
Как установить tftp сервер на примере tftpd64 service edition-04
Как установить tftp сервер на примере tftpd64 service edition-05
Как установить tftp сервер на примере tftpd64 service edition-06
Не забудьте проверить что открыт TCP, UPD порт 69.
Как установить tftp сервер на примере tftpd64 service edition-07
Открываем установленную программу и нажимаем снизу Settings
Как установить tftp сервер на примере tftpd64 service edition-08
Оставляем галку TFTP Server
Как установить tftp сервер на примере tftpd64 service edition-09
Переходим на вкладку TFTP и нажимаем Browse
Как установить tftp сервер на примере tftpd64 service edition-10
Указываем папку где у вас будет ссылка на папку tftp
Как установить tftp сервер на примере tftpd64 service edition-11
Закрываем, у вас должно получиться нечто подобное
Как установить tftp сервер на примере tftpd64 service edition-12
Всё! Теперь можно подключаться к серверу и копировать файлы. У операционной системы Windows XP tftp-клиент установлен по умолчанию, а у Windows server 2008R2 его необходимо доставить, я описал это тут (Как установить tftp клиента в Windows Server 2008R2)
Как проверить работу tftp-сервера?
Для того, чтобы передать файл необходимо открыть cmd.exe и выполнить команду:
Для того, чтобы получить файл с сервера, есть команда:
Использовать этот сервер для каких-то постоянных задач не рекомендуется, так как у него практически нет никакой защиты от несанкционированного подключений к серверу. Да, можно ограничить доступ к нему только определенным IP-адресам, но та легкость, с которой можно подменить IP-адрес, позволяет сказать, что это не относится к сетевой безопасности вообще.
Источник
Настройка TFTP сервера в Windows 10
Сервер TFTP предназначен для управления загрузкой бездисковых ПК (рабочих станций), но также эффективен для передачи файлов между удаленными системами. Этот упрощенный протокол передачи файлов очень прост в использовании.
Альтернатива домашней сети
Домашняя группа Windows была удобным инструментом для обмена файлами по сети. Но была исключена с обновлением Windows 10 до версии 1803. Для замены можно использовать TFTP-сервер, который интуитивный в настройке, достаточно надежный и позволяет передавать данные на быстрой скорости.
Перед настройкой сервера TFTP нужно выполнить следующие действия:
Настройка сервера TFTP
Если разрешили доступ к TFTP-серверу за пределами локальной сети дома, офиса и другого места, проверьте, что статический или динамический IP добавлен в диапазон адресов. По умолчанию на сервере разрешены все IP адреса для передачи и получения файлов, а также перенаправление портов. Можно ограничить диапазон IP, чтобы разрешить только несколько адресов.
Для настройки сервера следуйте инструкции:
Как пользоваться TFTP сетью
Если нужен доступ из устройств за пределами сети, потребуется переадресация порта 69. Поскольку экраны настроек разных моделей маршрутизаторов отличаются, предлагаем вам базовое представление.
Если не собираетесь передавать файлы из компьютеров за пределами вашей домашней сети, процедуру с перенаправлением портов можно пропустить.
Конфигурация клиента TFTP
Перейдем к установке клиента на удаленном или локальном компьютере.
Помните, что установку клиента нужно произвести на компьютере, на котором не запущен сервер TFTP.
Настройка брандмауэра
После установки клиента нужно либо отключить Брандмауэр Windows, либо добавить исключение для соединений TFTP.
Как передавать файлы в сети TFTP
После установки клиента и перенаправления порта перейдем к передаче файлов. Убедитесь, что сервер запущен, затем следуйте инструкциям:
Нажмите Win + R, в диалоговом окне наберите cmd для вызова командной строки. Перенесите или скопируйте файлы, которые хотите передать, в корневой каталог сервера.
Для отправки файлов нужно использовать параметр PUT, при получении GET. Синтаксис команды выглядит следующим образом:
Например, для передачи используйте команду:
Если хотите получить файл, то команда будет выглядеть:
Если хотите переслать на удаленное устройство за пределами сети, нужно указать публичный IP-адрес в командной строке, а затем порт. Примером может быть:
Источник
Время прочтения
11 мин
Просмотры 137K
Написанию данного поста предшествовало сбор информации по частям и многочасовое курение как русскоязычных, так и англоязычных ресурсов в сети интернет в поиске сравнительно простых способов реализации бездисковой загрузки ПК.
Предпосылкой к изучению данного вопроса стало наличие в сети компьютера, с вышедшем из строя дисковым накопителем. Необходимо было запустить на данном ПК «полноценную» 64-битную операционную систему Windows 7 без использования Linux-сервера, ограничившись только имеющимися в локальной сети Windows системами. Приводимые в данном посте программные продукты распространяются бесплатно и могут работать как на серверных, так и на пользовательских версиях Windows.
Разговор пойдет о замечательной технологии iSCSI, и как мы её можем использовать для загрузки по локальной сети, чтобы сэкономить на стоимости покупки нового дискового оборудования. Постараюсь описать весь процесс конфигурирования наиболее доступным языком как для начинающих администраторов, так и для непросвещенных пользователей.
Для понимания происходящего определимся немного с терминологией:
- iSCSI (англ. Internet Small Computer System Interface) — протокол, который базируется на TCP/IP и разработан для установления взаимодействия и управления системами хранения данных, серверами и клиентами;
- iSCSI Target: (Цель iSCSI) — программа или аппаратный контроллер (HBA), осуществляющие эмуляцию диска и выполняющие запросы iSCSI;
- iSCSI Initiator: (Инициатор iSCSI) — клиентская программа или аппаратный контроллер, который взаимодействует с iSCSI Target;
- IQN: (iSCSI Qualified Name) — уникальный идентификатор (имя) iSCSI Target’a или iSCSI Initiator’а;
- LUN: (Logical Unit Number) — адрес блочного устройства в диапазоне 0-127;
- DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла) — сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP;
- TFTP (англ. Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций.
Введение
Современные операционные системы Windows 7, Windows Server 2008 и всё, что старше, умеют подключаться напрямую на iSCSI target. Проблема только в том, как инициализировать удаленное блочное устройство при включении ПК.
Вспомним, что почти все современные сетевые карты умеют загружаться по технологии PXE. А вот с iSCSI дружат в основном только дорогостоящие серверные сетевые карты, например Intel. Однако, существует как минимум два open source проекта gPXE и iPXE позволяющий при загрузке ПК подключаться iSCSI устройствам. Последний, к слову, форк первого, с немного доработанной системой вывода ошибок и дополнительными опциями.
Есть много способов, как загружаться через gPXE и iPXE. В данном посте мы будем рассматривать загрузку с использованием iPXE и подключением для него необходимых скриптов в процессе загрузки.
Суть такова — при запуске компьютера сетевая карта получает необходимые настройки через DHCP сервер и загружает PXELINUX. Далее загрузчик PXELINUX подключает необходимый скрипт и загружает iPXE, который, в свою очередь, выступает iSCSI инициатором и передает управление диску. До момента инициализации блочного устройства передачу файлов по сети обеспечивает протокол TFTP.
Для чего мы загружаем PXELINUX?
Некоторые могут спросить — а для чего загружать PXELINUX? Во первых, через PXELINUX загрузчик iPXE получает необходимый скрипт для инициализации нужного iSCSI target-а. Во вторых, чтобы можно было построить удобное меню с выбором различных вариантов загрузки. В третьих, если в сети существует несколько бездисковых рабочих станций, то нужно чтобы каждый ПК подключался «к своему» iSCSI-диску и не имел доступа к «чужим» дискам, а значит их нужно как то отделять друг от друга, например, по MAC-адресам. Для этих целей будет использоваться двухстадийная загрузка с использованием PXELINUX.
Но обо всем по порядку. Начнем с установки и настройки в системе Windows необходимого софта для реализации DHCP, TFTP и iSCSI Target-а. Для этого я использовал бесплатно распространяемые программные продукты Tftpd32 и StarWind Virtual SAN. Программа Tftpd32 используется как в роли DHCP сервера, так и в роли TFTP сервера, ну а StarWind Virtual SAN соответственно будет использоваться в роли iSCSI target-а. Скачать данные программы можно на сайте разработчиков, ссылки которых указанны в их названиях. Для скачивание программы StarWind Virtual SAN необходимо будет выбрать на сайте Free версию программы и пройти процесс регистрации, с указанием корпоративного почтового адреса. На указанный вами почтовый адрес придет лицензионный ключ и ссылка на скачивание самой программы.
Настройка программы Tftpd32
Данная программа довольно простая и интуитивно понятная, поэтому приведу просто скриншоты своих настроек:
На вкладке «GLOBAL» у меня отмечены галочкой сервисы TFTP Server, Syslog Server и DHCP Server. На вкладке TFTP в поле Base Directory указана точка, которая означать, что в качестве корневой директорией будет использоваться папка, куда установлена сама программа Tftpd32. На вкладке DHCP в поле Boot File указан название загружаемого файла, которую мы рассмотрим дальше в настройках PXELINUX. На вкладке SYSLOG настройки не требуются.
Цель iSCSI. Настройка программы StarWind Virtual SAN
При установке программа никаких настроек не запрашивает, единственное может дополнительно запустить установку .NET Framework 4, если она еще не установлена в системе. После установки программа запускает свои службы и сразу готова к работе. На рабочем столе создается ярлык StarWind Management Console для управления.
Открываем StarWind Management Console, жмем кнопку Add Server и создаем новый сервер с IP-адресом 192.168.0.1. Имеющийся по умолчанию сервер с IP-адресом 127.0.0.1 можно удалить.
Далее выбираем созданный нами сервер и нажимаем ссылку Add Target. В появившемся окне можем указать свое название IQN цели, активировав галочку Target Name. В частности я указал iqn.2014-11.home:win7-64bit.
Далее выбираем созданный нами Target и нажимаем ссылку Add Device.
В появившейся окне выбираем Hard Disk Device, далее выбираем Virtual Disk, указываем расположение и объем создаваемого диска, задаем объем и параметры кэширования, и создаем дисковое устройство нажатием кнопки Create.
В итоге получаем настроенный и готовый к работе iSCSI Target, имеющий следующий вид:
При необходимости мы можем создавать необходимое количество iSCSI Target-ов и на каждый из них подключить необходимое количество iSCSI дисков. А также обеспечить безопасности доступа к iSCSI Target-ам с использованием CHAP-аутентификации клиентов, нажав по ссылке Add Permission.
Настройка PXELINUX
PXELINUX входит в комплект программ syslinux. Поэтому идем на сайт www.syslinux.org/wiki/index.php/Download, нажимаем на ссылку Download и загружаем zip архив с набором загрузчиков syslinux. Открываем загруженный архивный файл и распаковываем файлы pxelinux.0 из директории core и menu.c32 из директории com32/menu. Файл pxelinux.0 является загрузчиком, который передается клиентскому ПК DHCP сервером, а файл menu.c32 отвечает за построение загрузочного меню. Распакованные файлы размещаем в папку, куда установлена программа Tftpd32 (куда указывает путь в поле Base Directory в настройках TFTP).
В папке программы Tftpd32 создаем вложенную папку pxelinux.cfg, а в нем создаем файл default следующего содержания:
default menu.c32
gfxmenu /erdpxe
prompt 0
MENU TITLE Boot Menu (select the OS to boot)
MENU AUTOBOOT Windows 7 64bit in # seconds
TIMEOUT 50
TOTALTIMEOUT 3000
LABEL Windows 7 64bit
MENU DEFAULT
KERNEL IPXE.KRN
INITRD win7.ipxe
Думаю излишнем писать подробный комментарий к данному файлу, рассмотрим только две последние строчки:
KERNEL IPXE.KRN — указывает на ядро iPXE, которую нужно загрузить.
INITRD win7.ipxe — указывает на файл скрипта с параметрами iPXE
Указанных настроек PXELINUX вполне достаточно для использования дефолтной конфигурации и можно перейти к дальнейшей настройке iPXE, поэтому остающуюся часть текста решил убрать под спойлер.
Создание отдельного загрузочного меню для каждого ПК
Если в сети существует несколько бездисковых рабочих станций, и нужно чтобы каждый ПК имел доступ только «к своему» iSCSI-диску и не имел доступа к «чужим» дискам, то нам нужно будет создать несколько файлов с загрузочным меню для каждого ПК.
При получении файла конфигурации от TFTP сервера клиент ищет подходящую для себя в следующем порядке:
pxelinux.cfg/01-88-99-aa-bb-cc-dd
pxelinux.cfg/C0A800FE
pxelinux.cfg/C0A800F
pxelinux.cfg/C0A800
pxelinux.cfg/C0A80
pxelinux.cfg/C0A8
pxelinux.cfg/C0A
pxelinux.cfg/C0
pxelinux.cfg/С
И если ничего подходящего нет —
pxelinux.cfg/default
Здесь pxelinux.cfg — сама папка с файлами конфигурации.
01-88-99-aa-bb-cc-dd — файл с названием МАС-адрес клиента, в нижнем регистре, разделенный тире, с префиксом 01-.
Соответственно, для каждой бездисковой рабочей станции нам нужно написать «свое» загрузочное меню и разместить в папке pxelinux.cfg с названием файла 01-mac-адрес клиента, в нижнем регистре. Содержимое этих файлов может отличаться, к примеру, только последней строчкой INITRD win7.ipxe.
Инициатор iSCSI. Настройка iPXE
Итак, далее идем на сайт ipxe.org/download и загружаем iso-образ iPXE загрузчика. Из загруженного iso-образа вытаскиваем файл IPXE.KRN и сохраняем его в папке программы Tftpd32.
В этой же папке создаем файл win7.ipxe следующего содержания:
#!ipxe
dhcp net0
set keep-san 1
#login
sanboot iscsi:192.168.0.1::::iqn.2014-11.home:win7-64bit
Строка dhcp net0 данного скрипта указывает, что необходимо получить настройки через DHCP сервер в сети.
Строка set keep-san 1 указывает, что подключение к iSCSI Target-у необходимо сохранить даже если загрузка с данного устройства не удалась (этот параметр необходим, когда нужно устанавливать операционную систему с накопителей CD/DVD).
Если в iSCSI Target настроена CHAP-аутентификации клиентов, то нужно раскомментировать строку #login, которая будет выводит форму для ввода логина и пароля.
Последняя строка непосредственно подключает указанный iSCSI Target, инициализирует удаленный диск и передает процесс дальнейшей загрузки на данное устройство. Синтаксис подключения будет таким iscsi:<Айпи iSCSI target>:::::<IQN цели>.
Добавление дополнительных пунктов в загрузочное меню
Если мы хотим добавить в загрузочное меню еще один пункт, например, для загрузки ОС Windws 8.1, то создаем в StarWind Virtual SAN новый Target с указанием IQN цели iqn.2014-11.home:windows8.1, добавляем в него новое дисковое устройство iSCSI, а затем в файле pxelinux.cfg/default добавляем к примеру такие строчки:
LABEL Windows 8.1
KERNEL IPXE.KRN
INITRD win8.1.ipxe
Ну и далее создаем файл win8.1.ipxe следующего содержания:
#!ipxe
dhcp net0
set keep-san 1
#login
sanboot iscsi:192.168.0.1::::iqn.2014-11.home:windows8.1
Установка ОС Windows 7
Перед началом установки Windows 7 на бездисковую станцию открываем его BIOS и настраиваем порядок опроса загрузочных устройств следующим образом:
1) Hard Disk
2) Network
3) CD/DVD
4) остальные устройства
Если на ПК имеется установленный жесткий диск, то на время установки Windows его желательно отключить, чтобы компьютер не пытался с него загружаться.
Далее размещаем в приводе CD/DVD установочный диск Windows 7 и перезагружаем компьютер.
Первым делом мы должны увидеть запуск загрузки через PXE. Если этого не произошло то снова заходим в BIOS и разрешаем загрузку компьютера через сетевой адаптер.
Далее на экране появиться загрузочное меню PXELINUX. Если этого не произошло проверяем, запущена ли на другом компьютере программа Tftpd32, правильно ли она настроена и не блокирует ли его работу firewall-ы, антивирусы или другие программы.
После выбора необходимого пункта загрузочного меню PXELINUX мы должны увидеть запуск iPXE.
В процессе инициализации iPXE должны промелькнут надписи:
Registered as BIOS drive 0x80
Booting from BIOS drive 0x80
Это значит, что ПК удачно подключился к iSCSi диску.
Затем мы увидим ошибку загрузки через iSCSi диск, после чего компьютер перейдет к опросу следующего загрузочного устройства и запустит установка Windows 7 с привода CD/DVD. При этом подключение к iSCSi диску останется активным — за это отвечает указанная в скрипте строчка set keep-san 1.
Для тех, у кого не запускается установка Windows с привода CD/DVD
BIOS некоторых компьютеров, после неудачной попытки загрузки с iPXE, останавливает процесс запуска. Соответственно дальнейшая загрузка установщика Windows с привода CD/DVD не происходит. Такое поведение было замечено, например, на ноутбуках компании Hewlett-Packard. В подобных случаях спасает загрузка с использованием gPXE. Для этого:
1) открываем страницу сайта rom-o-matic.net/gpxe/gpxe-git/gpxe.git/contrib/rom-o-matic/build.php,
2) в поле Choose an output format выбираем пункт PXE bootstrap loader keep [Keep PXE stack method 1] (.kpxe),
3) в самом нижнем поле Embedded Script вводим три строчки нашего скрипта:
dhcp net0
set keep-san 1
sanboot iscsi:192.168.0.1::::iqn.2014-11.home:win7-64bit
4) сохраняем загрузчик gPXE в папку программы Tftpd32 и прописываем название файла на сервере DHCP в поле Boot File,
5) устанавливаем ОС Windows и обратно прописываем название файла pxelinux.0 на сервере DHCP в поле Boot File.
В процессе установки Windows, на этапе выбора дискового устройства мы должны увидеть подключенный нами iSCSi диск. Если iSCSi диск в списке отсутствует, значит установщик Windows не смог автоматически подключить необходимые драйвера для сетевой карты. В этом случае скачиваем с сайта разработчика необходимые драйвера сетевой карты и подключаем их установщику Windows. После этого iSCSi диск должен появиться в списке.
Если получили сообщение о невозможности установки Windows на выбранный диск
Иногда на этапе выбора дискового устройства можно получить сообщение о невозможности установки Windows на выбранный диск и просьбу проверить, включен ли в BIOS контроллер этого диска.
В этом случае первым делом проверьте в BIOS порядок опроса загрузочных устройств. Жесткий диск должен находиться на первой позиции, даже если на компьютере физически не установлен дисковый накопитель.
Если проблема не исчезла, то попробуйте в BIOS-е включать/выключать SATA контроллер, менять режим его работы IDE, ACHI, либо подключить реальный диск на время установки, но установку проводить на iSCSI диск.
После выбора дискового устройства начнется установка Windows 7. Дальше никаких трудностей возникнуть не должно. После установки мы получаем «полноценную» операционную систему Windows 7, работающей на iSCSI диске.
Установка ОС Windows (альтернативный метод)
Не знаю кому как, но мне лично не представляется удобным для каждого установочного образа Windows записывать DVD диск.
Мне привычнее распаковать содержимое установочного диска и запустить установку Windows с жесткого диска. К тому же с жесткого диска операционная система устанавливается быстрее.
Приведу пример, с использованием стандартного загрузчика bootmgr, имеющегося в любом установочном дистрибутиве Windows.
Данный метод подходит также для установки Windows с локальных жестких дисков.
Если коротко, то создаем на iSCSI диске небольшой «активный» раздел, копируем туда содержимое установочного диска Windows, и затем настраиваем MBR, для загрузки с диска установщика Windows. Подробности под спойлером.
Альтернативный метод установки ОС Windows
Итак, откроем на рабочей Windows системе Панель управления — Администрирование — Инициатор iSCSI.
Появиться окно «Свойства: Инициантор iSCSI».
Переходим на вкладку «Обнаружение» и нажимаем кнопку «Обнаружить портал…».
В открывшемся окне вводим IP-адрес нашей цели iSCSI — 192.168.0.1 и нажимаем ОК.
Далее переходим обратно на вкладку «Конечные объекты» и увидим все цели с идентификаторами IQN.
Выбираем в списке нужную цель и нажимаем кнопку «Подключить».
Откроется еще одно окно требующий нашего подтверждения, где также нажимаем ОК.
Если в открывшемся окне оставить галочку «Добавить это подключение в список предпочитаемых конечных объектов» то указанная цель будет автоматически подключаться к системе при каждой загрузке.
Открываем оснастку «Управление компьютером» и переходим на вкладку «Управление дисками». Тут мы увидим, что в нашей системе появилось еще одно дисковое устройство. Создаем на этом диске «Основной раздел», указав размер диска чуть больше размера нашего установочного образа. Далее форматируем под файловую систему NTFS, подключаем любую букву диска и делаем раздел «активным».
Откроем необходимый образ установочного диска программой UltraISO или WinRar и распакуем содержимое образа на созданный в предыдущем пункте раздел диска. Важно, чтобы после распаковки на диске оставалось как минимум 100Мб свободного места (Для Windows 8 рекомендуется 350Мб свободного места). Если свободного места недостаточно, то расширяем выбранный раздел в оснастке «Управление дисками».
Затем скачиваем из интернета программу BOOTICE и запускаем (ссылки приводить не буду, сами сможете найти без труда).
В программе выбираем нужный нам диск из раскрывающегося списка. В моем случае HD6:
Далее нажимаем кнопку «Process MBR» и откроется следующее окно:
В данном окне выбираем последний пункт «Windows NT 5.x / 6.x MBR» и нажимаем кнопку «Install/Config».
На диске будет настроен MBR, загружающий стандартный загрузчик bootmgr из активного раздела диска.
Далее можно загружаться на бездисковом ПК с данного iSCSI-диска и сходу устанавливать ОС WIndows.
Установка Windows запуститься автоматически.
Но рассмотрим еще один момент. Если мы хотим сделать данный раздел скрытым от пользователей и недоступным для операционной системы, то запускаем командную строку от имени администратора и набираем следующие команды:
Diskpart
List disk
Sel disk x (вместо x подставляем номер нужного диска, список которых выводит предыдущая команда)
Sel part 1 (при необходимости список разделов можно посмотреть командой List part)
Remove
Set id=27
После этого данный раздел диска станет технологическим и скрытым. Для этого раздела уже не возможно назначит букву диска и примонтировать его к работающей системе, но устанавливается Windows с данного раздела без проблем.
Получится что то типа раздела восстановления)
Надеюсь данная статья будет вам полезна. Всем удачи!
Ссылки на литературу:
- Бездисковая загрузка по технологии iSCSI
- PXELINUX — Syslinux Wiki
- iPXE — open source boot firmware