Jump to content

Recommended Posts

7 часов назад, vst сказал:

Огромное спасибо, всё таки моя не внимательность при переводе в HEX формат, помогли 00 в конце, вот правильная строка опции ip dhcp pool _WEBADMIN_HOME option 67 hex 7078656c696e75782e3000

  • Upvote 1
Link to comment
Share on other sites

Достаточно много клиентов, которые некорректно работают со строковыми опциями. Думаю стоит добавить завершающий ноль для всех таких опций.

Link to comment
Share on other sites

  • 7 months later...

Добрый вечер!

А такое прописать как-то можно в конфиге dhcp

 ; This one line must be outside any bracketed scope
 option architecture-type code 93 = unsigned integer 16;
 
 class "pxeclients" {
  match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
  
  if option architecture-type = 00:00 {
   filename "path/to/BIOS/pxelinux.0";
  } elsif option architecture-type = 00:09 {
   filename "path/to/EFIx64/syslinux.efi";
  } elsif option architecture-type = 00:07 {
   filename "path/to/EFIx64/syslinux.efi";
  } elsif option architecture-type = 00:06 {
   filename "path/to/EFIia32/syslinux.efi";
  }
 }

?

Link to comment
Share on other sites

  • 1 month later...

Во встроенном DHCP сервере зависимости можно прописать только по опции 60. По опции 93 зависимостей нет. Реализовать вышеприведенный конфиг не получится.

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
On 3/7/2021 at 9:25 PM, CraSTIX said:

Может кому то пригодиться  весь материал по PXE собрал и выложил

https://yadi.sk/d/3y5K3oFVZzst8Q 

Работает на Viva Extra (белые, новые)

Приветствую форумчане. "

( ip dhcp pool _ WEBADMIN option 67 ascii pxelinux .0) – работать не будет на
компьютерах(на виртуальной машине только)"

А что на реальных компьютерах это не работает? Я что-то не понял? Это полный и рабочий мануал? Можно добавлять любой iso образ будь это Linuxы, WindPE, Windows или какие либо другие образы?

Edited by Maxwelltau
Link to comment
Share on other sites

17 часов назад, Maxwelltau сказал:

Сделал все как здесь https://yadi.sk/d/3y5K3oFVZzst8Q по инструкции и ничего не получается.

Если я правильно понял инструкцию до проверки загрузки то все работает.

Скрытый текст

1. после установки tftpd-hpa и xinetd (его конф файл -> /opt/etc/xinetd.conf выглядит ниже)




defaults
{
}
includedir /opt/etc/xinetd.d

2. в каталоге /opt/etc/xinetd.d создать файл например tftp и в нем содержимое




service tftp
{
flags = REUSE
socket_type = dgram
protocol = udp
instances = 30
wait = yes
user = root
server = /opt/sbin/tftpd-hpa
server_args = -s /opt/var/tftp
cps = 100 2
log_on_success = HOST PID
log_on_failure = HOST
disable = no
}

3. в каталог /opt/var/tftp  положить нужные файлы например из tftpboot минимальный

4. в CLI ввести "ip dhcp pool...." для своего IP

5. запустить (для первого запуска и отладки в файл /opt/etc/init.d/S10xinetd в строку ARGS="-f /opt/etc/xinetd.conf" добавить ключ -d => ARGS="-d -f /opt/etc/xinetd.conf" и посмотреть вывод отладки, потом убрать данный ключ "-d"




/opt/etc/init.d # ./S10xinetd start
on
 Starting xinetd... 21/4/29@09:32:51: DEBUG: 5571 {handle_includedir} Reading included configuration file: /opt/etc/xinetd.d/tftp [file=/opt/etc/xinetd.conf] [line=4]
Service defaults
        Bind = All addresses.
        Only from: All sites
        No access: No blocked sites
        No logging

Service configuration: tftp
        id = tftp
        flags = REUSE IPv4
        socket_type = dgram
        Protocol (name,number) = (udp,17)
        port = 69
        Instances = 30
        wait = yes
        user = 0
        Groups = no
        CPS = max conn:100 wait:2
        PER_SOURCE = -1
        Bind = All addresses.
        Server = /opt/sbin/tftpd-hpa
        Server argv = tftpd-hpa -s /opt/var/tftp
        Only from: All sites
        No access: No blocked sites
        No logging

21/4/29@09:32:51: DEBUG: 5571 {cnf_start_services} Started service: tftp
21/4/29@09:32:51: DEBUG: 5571 {cnf_start_services} mask_max = 6, services_started = 1
21/4/29@09:32:51: NOTICE: 5571 {main} xinetd Version 2.3.15 started with loadavg options compiled in.
21/4/29@09:32:51: NOTICE: 5571 {main} Started working: 1 available service
21/4/29@09:32:51: DEBUG: 5571 {main_loop} active_services = 1
             done.
/opt/etc/init.d #

6. Далее проверить сервис xinetd




5711 root      3808 S    xinetd -f /opt/etc/xinetd.conf

7. Проверить дальнейшее действие

 

Edited by vasek00
Link to comment
Share on other sites

Все сделал, но вот остались непонятные моменты:
 

Spoiler

 

4. "в CLI ввести "ip dhcp pool...." для своего IP" Туда надо прописать 192.168.1.1? Написано так. Написал:ip.JPG.f5f1bb9222db73d42ece0233285d527d.JPG

5." запустить (для первого запуска и отладки в файл /opt/etc/init.d/S10xinetd в строку ARGS="-f /opt/etc/xinetd.conf" добавить ключ -d => ARGS="-d -f /opt/etc/xinetd.conf" и посмотреть вывод отладки, потом убрать данный ключ "-d"

Ничего не понял, ничего не происходит и где это должно происходить. Вывод отладки?

6." Далее проверить сервис xinetd" Ну вот вроде есть в процессах. Да?

pxeboot.JPG.b2347a1f52f246c74a71cab9dd0a3544.JPG

 

Что-то опять не так делаю? Вход в вебморду изменил, это же не может влиять?

Edited by Maxwelltau
Link to comment
Share on other sites

2 часа назад, Maxwelltau сказал:

Все сделал, но вот остались непонятные моменты:
Что-то опять не так делаю? Вход в вебморду изменил, это же не может влиять?

Цитата

5." запустить (для первого запуска и отладки в файл /opt/etc/init.d/S10xinetd в строку ARGS="-f /opt/etc/xinetd.conf" добавить ключ -d => ARGS="-d -f /opt/etc/xinetd.conf" и посмотреть вывод отладки, потом убрать данный ключ "-d"

Что имелось в виду - вариант а

#!/bin/sh

ENABLED=yes
PROCS=xinetd
ARGS="-f /opt/etc/xinetd.conf"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

echo "on"
. /opt/etc/init.d/rc.func

вариант b

#!/bin/sh

ENABLED=yes
PROCS=xinetd
ARGS="-d -f /opt/etc/xinetd.conf"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

echo "on"
. /opt/etc/init.d/rc.func

Найдите одно отличие

 

 

Цитата

6." Далее проверить сервис xinetd" Ну вот вроде есть в процессах. Да?

Процесс xinetd согласно скрина запустился, далее проверяйте что вам нужно => работу сервиса tftp или чего вы там хотели.

service tftp
{
...
server = /opt/sbin/tftpd-hpa
server_args = -s /opt/var/tftp
..
}
Цитата

4. "в CLI ввести "ip dhcp pool...." для своего IP" Туда надо прописать 192.168.1.1? Написано так.

в инструкции написано, тут уж сами

2.	В CLI (Телнет) роутера разрешить опции 66 и 67 

ip dhcp pool _WEBADMIN option 66 ascii 192.168.2.1 

Где IP - ваш ип адрес роутера

ip dhcp pool _WEBADMIN option 67 hex 7078656c696e75782e3000

работает только через HEX

 

После изменений через cli и если ошибок нет то нужно записать

 system configuration save

 

Link to comment
Share on other sites

3 hours ago, vasek00 said:

5. запустить (для первого запуска и отладки в файл /opt/etc/init.d/S10xinetd в строку ARGS="-f /opt/etc/xinetd.conf" добавить ключ -d => ARGS="-d -f /opt/etc/xinetd.conf" и посмотреть вывод отладки, потом убрать данный ключ "-d"

Spoiler

/opt/etc/init.d # ./S10xinetd start
on
 Starting xinetd... 21/4/29@09:32:51: DEBUG: 5571 {handle_includedir} Reading included configuration file: /opt/etc/xinetd.d/tftp [file=/opt/etc/xinetd.conf] [line=4]
Service defaults
        Bind = All addresses.
        Only from: All sites
        No access: No blocked sites
        No logging

Service configuration: tftp
        id = tftp
        flags = REUSE IPv4
        socket_type = dgram
        Protocol (name,number) = (udp,17)
        port = 69
        Instances = 30
        wait = yes
        user = 0
        Groups = no
        CPS = max conn:100 wait:2
        PER_SOURCE = -1
        Bind = All addresses.
        Server = /opt/sbin/tftpd-hpa
        Server argv = tftpd-hpa -s /opt/var/tftp
        Only from: All sites
        No access: No blocked sites
        No logging

21/4/29@09:32:51: DEBUG: 5571 {cnf_start_services} Started service: tftp
21/4/29@09:32:51: DEBUG: 5571 {cnf_start_services} mask_max = 6, services_started = 1
21/4/29@09:32:51: NOTICE: 5571 {main} xinetd Version 2.3.15 started with loadavg options compiled in.
21/4/29@09:32:51: NOTICE: 5571 {main} Started working: 1 available service
21/4/29@09:32:51: DEBUG: 5571 {main_loop} active_services = 1
             done.
/opt/etc/init.d #

Эххх, я вообще не понимаю:( Откуда вы эти логи берете и как их смотреть и вытащить, ну вообще не понятно, что и как. Вы пишите а я не понию о чем вы.

6. Далее проверить сервис xinetd

5711 root      3808 S    xinetd -f /opt/etc/xinetd.conf

 

Edited by Maxwelltau
Link to comment
Share on other sites

3 hours ago, vasek00 said:

Процесс xinetd согласно скрина запустился, далее проверяйте что вам нужно => работу сервиса tftp или чего вы там хотели.

Spoiler

service tftp
{
...
server = /opt/sbin/tftpd-hpa
server_args = -s /opt/var/tftp
..
}

И вот это тоже непонятно, где-то запустить/смотреть?

 

 

 

Edited by Maxwelltau
Link to comment
Share on other sites

Что там написано делал, но я не понимаю момент с отладкой🙁 Компьютер, ноут не видят. Не работает инструкция.

Edited by Maxwelltau
Link to comment
Share on other sites

  • 2 weeks later...
В 28.04.2021 в 14:21, Maxwelltau сказал:

Можно добавлять любой iso образ будь это Linuxы, WindPE, Windows или какие либо другие образы?

Нет, не любые. Что и как добавлять - вопросы к "линуксам виндовсам и другим образам".

  • Upvote 1
Link to comment
Share on other sites

  • 1 year later...

А может кто подсказать, что прописать в cli роутера, что бы загрузка была не с tftp роутера, а другого сервера, 

с роутера грузить с флешки долго, а если в сети есть сервер с tftp было бы логичнее использовать его

пробовал прописать ip dhcp pool _WEBADMIN option 66 ascii 192.168.1.57 

где этот ip адрес другого сервера, но грузится с роутера

пробовал ip dhcp pool _WEBADMIN option 67 ascii pxelinux.0 192.168.1.57, при загрузке пишет файл не найден

 

Link to comment
Share on other sites

  • 7 months later...

А будет ли добавлена функция загрузки pxe с uefi? Очень интересует эта тема, т.к. уже большее количество пк идет с загрузкой по сети только с помощью uefi. Можно ли это как-то реализовать в keenetic?

Edited by chillywilly
Link to comment
Share on other sites

4 часа назад, chillywilly сказал:

А будет ли добавлена функция загрузки pxe с uefi?

Со стороны кинетика они ни чем не отличается от уже существующей. Всё зависит от того, какой контент вы размещаете для загрузки по PXE.

Link to comment
Share on other sites

В 25.05.2023 в 18:53, Александр Рыжов сказал:

Со стороны кинетика они ни чем не отличается от уже существующей. Всё зависит от того, какой контент вы размещаете для загрузки по PXE.

Просто у меня до кинетика был асуc, он позволял грузить ipxe с такими параметрами:

"dhcp-match=set:efi64,60,PXEClient:Arch:00009"
"dhcp-boot=tag:efi64,ipxe.efi,192.168.0.1,192.168.0.1"
"dhcp-match=set:bios,60,PXEClient:Arch:00000"
"dhcp-boot=tag:bios,undionly.kpxe,192.168.0.1,192.168.0.1"
"dhcp-match=set:efi32,60,PXEClient:Arch:00006"
"dhcp-boot=tag:efi32,i386-efi/ipxe.efi,192.168.0.1,192.168.0.1"
"dhcp-match=set:efibc,60,PXEClient:Arch:00007"
"dhcp-boot=tag:efibc,ipxe.efi,192.168.0.1,192.168.0.1"

Естественно там стоял dnsmasq, а на кинетике из этих значений грузится один undionly.kpxe, а ipxe.efi - необходимый для загрузки  с uefi, грузится с ошибкой.

ip dhcp pool _WEBADMIN bootfile

Позволяет добавить только одно значение, а хотелось бы несколько, чтобы можно было грузить как legacy, так и uefi.

По pxe грузится bootmenu с разнообразным софтом от антивирусов и до реаниматоров.

Хотелок у меня конечно много, но было бы неплохо если появились такие возможности.

Link to comment
Share on other sites

1 час назад, Александр Рыжов сказал:

Я бы не стал на это рассчитывать. Расстановка тэгов в зависимости от опций клиента — это (замечательная!) фича dnsmasq.

Вообще-то уже есть "ip dhcp class" с матчем по 60 опции и с возможностью выдавать часть опций этому классу индивидуально, но там (пока) нет bootfile - https://help.keenetic.com/hc/ru/articles/115004467465

Edited by KorDen
  • Upvote 1
Link to comment
Share on other sites

  • 4 months later...

Здравствуйте! Keenetic Viva 1910, установил по инструкции https://yadi.sk/d/3y5K3oFVZzst8Q    для успешного старта пришлось изменить путь в строке на server_args = -s /opt/var/tftp . Замечательно все работает на ноутбуке, но  только в режиме Legacy, ПК к сожалению перевести в этот режим нельзя. Вопрос можно ли как то загрузиться через UEFI? При попытке загрузки через UEFI выходит сообщение "Sucсeed to download NBP file"  и происходит загрузка в систему с диска.

Link to comment
Share on other sites

@catdimon, с точки зрения TFTP сервера никаких изменений не требуется. Однако для загрузки по UEFI:

  • нужен загрузочный образ в формате UEFI,
  • в образе д.б. поддержка UEFI NIC драйверов,
  • chained-загрузка в большинстве случаев невозможна,
  • в BIOS д.б. отключен Secure Boot.
  • Upvote 1
Link to comment
Share on other sites

  • 3 weeks later...
В 26.05.2023 в 23:08, KorDen сказал:

Вообще-то уже есть "ip dhcp class" с матчем по 60 опции и с возможностью выдавать часть опций этому классу индивидуально, но там (пока) нет bootfile - https://help.keenetic.com/hc/ru/articles/115004467465

Доброго времени суток. Пробовал я воспользоваться данным способом, вроде как получилось на первый взгляд. Прописал класс, в нём опцию 60 и для этого класса задал 66 и 67 опции. Единственное что при указании опции 60 нужно прописать полное наименование vendor-class-identifier типа - PXEClient:Arch:00000:UNDI:002001. Можно ли как то использовать опцию 60 только по части этого идентификатора типа PXEClient:Arch:00000 вопрос, так как часть идентификатора после UNDI: может меняться. Ниже код того как у меня заработало. возможно не очень правильно.

ip dhcp class pxe_x86
    option 60 ascii PXEClient:Arch:00000:UNDI:002001
!
ip dhcp class pxe_efi
    option 60 ascii PXEClient:Arch:00007:UNDI:003000
!
ip dhcp pool _WEBADMIN
    class pxe_x86
        option 67 ascii undionly.kpxe
        option 66 ascii 192.168.7.1
    !
    class pxe_efi
        option 66 ascii 192.168.7.1
        option 67 ascii ipxe.efi
    !
    range 192.168.7.240 192.168.7.253
    dns-server 192.168.7.1 77.88.8.8
    lease 25200
    bind Home
    next-server 192.168.7.1
    enable
!

 

  • Upvote 3
Link to comment
Share on other sites

  • 4 weeks later...
В 07.11.2023 в 17:20, zmax сказал:

Ниже код того как у меня заработало

И что работает без опции 175? У меня идёт циклическая загрузка undionly.kpxe. Не знаете как прописать с этой опцией?

Update

Добился работы без этой опции. Заменил файлы ipxe из проекта FOGProject - с ними загрузка отрабатывает нормально. Ещё для работы uefi загрузки пришлось поменять идентификатор на UNDI:003016.

Edited by de_MAX
Link to comment
Share on other sites

В 03.12.2023 в 02:21, de_MAX сказал:

И что работает без опции 175? У меня идёт циклическая загрузка undionly.kpxe. Не знаете как прописать с этой опцией?

Так как я сам собирал iPXE то при компиляции был добавлен скрипт указывающий загрузчику где взять меню чтобы не было зацикливания. Так сделано по документации с сайта ipxe.org. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...