Jump to content











Photo

Bug Reports, Requests, HowTo's about Tiny PXE Server

pxe network boot

  • Please log in to reply
909 replies to this topic

#451 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 25 February 2016 - 04:22 PM

erwan.l, it was just a theory before... Now let me show you the real problem.

For example, I'd like to use an external TFTP server just by setting its IP (thru 66 opt.) and its bootfile (thru 67 opt.) into Tiny.

How to do it?

 

As is, I do not know how to use a 3rd server acting as tftp server in proxydhcp mode.

 

But why dont run the tftp server on either your dhcp server or proxydhcp server?



#452 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 25 February 2016 - 04:24 PM

 

erwan.l, really, I also could not find how to do it.

 

1_800.jpgi.gif

 

Although Serva external TFTP working

 

2016_02_25_17_00_20__800.jpgi.gif
 

One more question.
Where can I find the detailed description to the optextra options that could be used in Tiny?
 
Thank you for an excellent program!

 

 

Extra option works by separting each byte (in a decimal form, not hexadecimal form) by a dot.

 

Exemple : 175.6.1.1.1.8.1.1 means option 175, length 6, value = 1.1.1.8.1.1



#453 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 25 February 2016 - 08:43 PM

below an example of how to use option 43 and retrieve it in IPXE

 

Xn81VVn.png



#454 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 25 February 2016 - 08:57 PM

and below another example to use a custom option (for whatever purpose).

 

this should help answer previous post : how to bypass the option 66 limitation...

 

one should then be able to do the following (untested thus)

 

#!ipxe
dhcp
set next-server ${100:ipv4}
set filename ${proxydhcp/filename}
chain $filename

 

idE82MP.png



#455 The_Immortal

The_Immortal

    Newbie

  • Members
  • 11 posts
  •  
    Russian Federation

Posted 26 February 2016 - 07:20 AM

As is, I do not know how to use a 3rd server acting as tftp server in proxydhcp mode.

 

 

erwan.l, the problem of using 66 option also involves a regular DHCP mode (when proxyDHCP is non-active).

 

So I just want to ask you then: for what do you provide 66 option in your program? Could you give me a practical example of using this option?

 

The problem is 66 option doesn't work at all... It seems there is a bug in DHCP Server that used in Tiny.


Edited by The_Immortal, 26 February 2016 - 07:23 AM.


#456 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 26 February 2016 - 09:51 AM

I'll review my code.

 

Thus beware that option 66 is not to be confused with next-server (unless I am wrong...).

 

Next-server is inherited from siaddr field (which is forced to option 54 in my code).

 

Option 66 definition (from the RFC 2132) is

9.4 TFTP server name

   This option is used to identify a TFTP server when the 'sname' field
   in the DHCP header has been used for DHCP options.

   The code for this option is 66, and its minimum length is 1.

Siaddr definition (from RFC 2131) is

DHCP clarifies the interpretation of the 'siaddr' field as the
   address of the server to use in the next step of the client's
   bootstrap process.  
A DHCP server may return its own address in the
   'siaddr' field, if the server is prepared to supply the next
   bootstrap service (e.g., delivery of an operating system executable
   image).  
A DHCP server always returns its own address in the 'server
   identifier' option.

  • The_Immortal likes this

#457 The_Immortal

The_Immortal

    Newbie

  • Members
  • 11 posts
  •  
    Russian Federation

Posted 26 February 2016 - 10:23 AM

 

I'll review my code.

 

Thus beware that option 66 is not to be confused with next-server (unless I am wrong...).

 

Next-server is inherited from siaddr field (which is forced to option 54 in my code).

 

 

DHCP server puts his own address in "siaddr" by default. If you want to seperate DHCP server and TFTP server use option 66 in Windows 2003 DHCP server to specify the separate TFTP server name.

The DHCP server always use option 54 : DHCP server identifier to declare its own identity and ip address. It should not be confused with "siaddr" field.

 

It seems you shouldn't force siaddr to option 54 :)

And I got what you're trying to say: 66 option != next-server (siaddr), aren't you? Okay... So maybe the solution could be to create a field "siaddr". By default "DHCP server puts his own address in "siaddr" but user has to have the possibility to change siaddr (by the way it was realized in Serva)... What do you think about this?

 

P.S. And I don't insist on it or something... Absolutely! It's just a suggestion that could solve some problems and nothing more :)


Edited by The_Immortal, 26 February 2016 - 10:50 AM.


#458 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 26 February 2016 - 12:38 PM

I believe you are right : i should add one more field in the gui named next-server.

And I will :)


  • The_Immortal likes this

#459 ostapvoip

ostapvoip
  • Members
  • 5 posts
  •  
    Ukraine

Posted 26 February 2016 - 05:03 PM

#!ipxe
dhcp
set next-server ${100:ipv4}
set filename ${proxydhcp/filename}
chain $filename

 

 

2016_02_26_12_10_43_test_ipxe_Bloknot_80i.gif

 

In practice it is possible, to do so.
But it's still bad.


#460 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 26 February 2016 - 05:19 PM

not saying it is good practice :)

 

just answering and illustrating your question from previous post.

One more question.
Where can I find the detailed description to the optextra options that could be used in Tiny?


#461 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 26 February 2016 - 07:58 PM

version 1.0.0.20 now handles next-server alias siaddr.

 

wXLwSFO.png



#462 ostapvoip

ostapvoip
  • Members
  • 5 posts
  •  
    Ukraine

Posted 26 February 2016 - 10:38 PM

erwan.l, is great!

 

1_800.jpgi.gif

 

Too bad that the switching server IP DHCP (54 option) is lost value next-server from the config.ini file.

Also, you can not enter a value in the remote bootp filename file in the GUI.



#463 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 27 February 2016 - 12:21 PM

When switching from one network card to the other in option 54, the software will indeed recompute fields 3,6,28 and next-server.

It does so, so that you dont end up with an inconsistent setup like a gateway on a different subnet than your network card.

Down side to this is that if you setup next-server first then change option 54, you'll have to re enter next server again.

 

About filename, you have to use indeed the browse button ("...").

I had too many bug reports when the issue was users wrongly typing path and filename.



#464 ostapvoip

ostapvoip
  • Members
  • 5 posts
  •  
    Ukraine

Posted 27 February 2016 - 07:22 PM



About filename, you have to use indeed the browse button ("...").

It's impossible. The file is stored on remote TFTP server....

But you can allow edit field ;)

 

Try to repeat my settings. This will load the boot file from a public TFTP server.

1.pngi.gif


Edited by ostapvoip, 27 February 2016 - 07:34 PM.


#465 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 27 February 2016 - 08:03 PM

It's impossible. The file is stored on remote TFTP server....

But you can allow edit field ;)

 

Try to repeat my settings. This will load the boot file from a public TFTP server.

1.pngi.gif

 

I get it now (sorry slow brain on the week end :) ).

Indeed, since Tiny PXE Server is no longer as the TFTP server, you have to enter manually the remote path.

 

Does editing the config.ini manually work for now? (until I review the GUI).

 

Side note that, if loading files from a remote server is what you are looking for, you can also use HTTP by setting the root variable to an HTTP server.



#466 ostapvoip

ostapvoip
  • Members
  • 5 posts
  •  
    Ukraine

Posted 27 February 2016 - 08:32 PM

Does editing the config.ini manually work for now? (until I review the GUI).

From file config.ini - option filename working ( Tiny writes a warning, but it's ok..)

But must enter option next-server address manually in GUI.

Try my values...

 

Side note that, if loading files from a remote server is what you are looking for, you can also use HTTP by setting the root variable to an HTTP server.

 

Please show an example...

I can think of only simple:

chain http://${remote-server}/undionly.kpxe
chain tftp://${remote-server}/undionly.kpxe
chain ftp://${remote-server}/undionly.kpxe
chain http://${remote-server}/menu.ipxe
chain tftp://${remote-server}/menu.ipxe
chain ftp://${remote-server}/menu.ipxe

Though it not the same. 

А remote TFTP server needs its ONLY own DHCP server (and access to the Internet if use the public  remote TFTP server ).


Edited by ostapvoip, 27 February 2016 - 09:09 PM.


#467 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 28 February 2016 - 10:44 AM

The below works for me.

 

[dhcp]
root=_pxe
filename=ipxe/ipxe.kpxe
proxydhcp=1
opt54=192.168.1.99
next-server=158.197.16.70

UDP (TFTP) is not recommended over internet (not reliable).

 

I could recommend the below (you would need to share your file thru http thus)

[dhcp]
root=http://158.197.16.70/ipxe
filename=ipxe.kpxe
proxydhcp=1
opt54=192.168.1.99



  • The_Immortal likes this

#468 ljycslg

ljycslg

    Newbie

  • Members
  • 26 posts
  •  
    China

Posted 11 March 2016 - 01:11 AM

suggest config add like this

filename=ipxe.pxe
filename1=undionly.kpxe
filename2=grldr.0

UI add Drop-down list to easy switch boot file



#469 reboot12

reboot12

    Frequent Member

  • Advanced user
  • 287 posts
  • Interests:WinXP, Debian, OpenWrt, gPXE, iPXE, BIOS, UEFI, Coreboot, MS VirtualPC, VMware
  •  
    Poland

Posted 04 April 2016 - 09:25 AM

I suggest separate items of Filename if user-class=gPXE or iPXE:

Attached File  ipxe_gpxe.png   3.89KB   3 downloads

If filename is e.g. menu.ipxe and PC boot from gPXE then PC hangs because gPXE not understand file menu.ipxe:

Attached File  hang.png   7.62KB   1 downloads

 

Vice versa - if script is script.gpxe and PC boot from iPXE then work because iPXE support gPXE script's

 

Alternatively, remove from the program support for detect gPXE leaving only iPXE.



#470 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 07 April 2016 - 07:21 PM

I suggest separate items of Filename if user-class=gPXE or iPXE:

attachicon.gifipxe_gpxe.png

If filename is e.g. menu.ipxe and PC boot from gPXE then PC hangs because gPXE not understand file menu.ipxe:

attachicon.gifhang.png

 

Vice versa - if script is script.gpxe and PC boot from iPXE then work because iPXE support gPXE script's

 

Alternatively, remove from the program support for detect gPXE leaving only iPXE.

 

I will consider adding a flag to disable gpxe support in a next version.



#471 activitymonitor

activitymonitor

    Newbie

  • Members
  • 11 posts
  •  
    Canada

Posted 27 April 2016 - 07:05 PM

I am also confused about the difference between next-server and filename vs Option 66/67. Which one should we use and why? Both seem to work on their own in ProxyDHCP mode, but they can't be mixed.

 

There was a similar question asked about it last year: http://reboot.pro/to...vs-pxe-options/



#472 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 27 April 2016 - 07:37 PM

BootP is defined in RFC 951.

PXE is based (MUST implement) on DHCP  defined in RFC 2131.

 

They both can be used to boot a device while providing a filename to boot from.

 

Thus, RFC 2131 was written over 10 years after RFC 951 and has such implements more options.

But for basic scenarios (which is most of the time the case), BootP is all fine.

 

I know of some devices like mikrotic routers who support only bootp.

I never encountered devices who only support PXE.



#473 ZEE

ZEE

    Frequent Member

  • Advanced user
  • 104 posts
  •  
    Portugal

Posted 17 September 2016 - 10:26 PM

Hi...

 

I'm testing Windows 2016 Preview 5 as an iSCSI target...

 

Works OK from a iSCSI initiator like Windows 7 or Windows 10...

 

I'm trying to boot from a iSCSI target using TinyPXE/iPXE as DHCP/TFTP server

 

The PXE client finds the DHCP server...

loads the undionly.kpxe...

starts looking for the iSCSI target and fails with the message "Could not open SAN device..."

* please see the images attached below...

 

*CONFIGURATION*

Option67=undionly.kpxe

Option17=iscsi:10.0.0.213:tcp:3260:0:vm2016-demo1-target

ExtraOption=iscsi:10.0.0.213:tcp:3260:0:vm2016-demo1-target

Option3=<blank>

 

Below are the Server/Target configuration and the TinyPXE screenshots...

Any ideas are welcome...

 

 


Edited by ZEE, 17 September 2016 - 10:31 PM.


#474 ZEE

ZEE

    Frequent Member

  • Advanced user
  • 104 posts
  •  
    Portugal

Posted 17 September 2016 - 10:32 PM

I try to put 2 images in:

    *.jpg,

    *.png,

   *.gif

 

Keeps givin' this annoying message

 

    **You are not allowed to use that image extension on this community.***

 

?what can i do


Edited by ZEE, 17 September 2016 - 10:33 PM.


#475 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3042 posts
  • Location:Nantes - France
  •  
    France

Posted 19 September 2016 - 06:55 PM

Hi...

 

I'm testing Windows 2016 Preview 5 as an iSCSI target...

 

Works OK from a iSCSI initiator like Windows 7 or Windows 10...

 

I'm trying to boot from a iSCSI target using TinyPXE/iPXE as DHCP/TFTP server

 

The PXE client finds the DHCP server...

loads the undionly.kpxe...

starts looking for the iSCSI target and fails with the message "Could not open SAN device..."

* please see the images attached below...

 

*CONFIGURATION*

Option67=undionly.kpxe

Option17=iscsi:10.0.0.213:tcp:3260:0:vm2016-demo1-target

ExtraOption=iscsi:10.0.0.213:tcp:3260:0:vm2016-demo1-target

Option3=<blank>

 

Below are the Server/Target configuration and the TinyPXE screenshots...

Any ideas are welcome...

 

Hi Zee,

 

-Leave extraoption empty or put 175.6.1.1.1.8.1.1 but ExtraOption=iscsi:10.0.0.213:tcp:3260:0:vm2016-demo1-target is definitely wrong.

-router (opt 3), leave 0.0.0.0

-opt 17 is OK

 

Let me know how it works out.

 

Regards,

Erwan


  • ZEE likes this





Also tagged with one or more of these keywords: pxe, network boot

3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users