[Kea-users] PXE booting to PHP file and on commit, release, expiry

Klaus Steden klausfiend at gmail.com
Tue Sep 13 21:34:45 UTC 2016


Hi Chris,

'd-i' is the DHCP signature of the preseed Debian Installer (hence, 'd-i').
I've only ever used iPXE, I've never used gPXE before it, so yeah, a couple
of minutes with tcpdump to inspect the ID it's sending in the option string
should help you along; once you have that ID field, change the test
condition in the second stanza and you should be good to go.

BTW the problem you're encountering with the looping boot process is one
that affected ISC DHCP in a similar way, you just have to tune the
conditions the DHCP server uses to distinguish the state of the booting
client in order to direct it where you want to go. ... or flash iPXE on the
firmware of all your servers hahaha :-)

cheers,
Klaus

On Tue, Sep 13, 2016 at 9:29 AM, Christoffer Jönsson <bonchen at imap.cc>
wrote:

>
>
> On 2016-09-12 22:58, Klaus Steden wrote:
>
>
> I don't know about updating PowerDNS, but I suspect you'll have to write a
> plugin. As for the designated boot menu, you can still do that, although
> the syntax is different.
>
> This snippet below -should- do more or less what you're doing with vanilla
> ISC DHCP:
>
> -- cut --
>   "client-classes": [
>     {
>         "name": "bootstrap",
>         "test" : "option[60].exists
>         "option-data": [
>           {
>             "name": "boot-file-name",
>             "data": "ipxe/undionly.kpxe"
>           }
>         ]
>     },
>     {
>         "name": "preseed",
>         "test": "option[60].hex == 'd-i'",
>         "option-data": [
>           {
>               "data" : "http://10.0.0.9/tftp/boot.php",
>               "name" : "boot-file-name"
>            }
>         ]
>      }
>   ],
> -- cut --
>
> You're probably going to have to tune that a bit, but this is the approach
> I'm using to manage both server and switch booting, and it works well.
>
> hth,
> Klaus
>
> On Mon, Sep 12, 2016 at 11:57 AM, Christoffer Jönsson <bonchen at imap.cc>
> wrote:
>
>> Hello again!
>>
>> Since the 1.1 release i decided to try and migrate from isc-dhcp. And
>> there is a few things I have questions about.
>>
>> For years I have been using a python script to feed my PowerDNS it's
>> records using this:
>>
>> on commit {
>>                 set ClientIP = binary-to-ascii(10, 8, ".",
>> leased-address);
>>                 set ClientMac = binary-to-ascii(16, 8, ":",
>> substring(hardware, 1, 6));
>>                 log(concat("Commit: IP: ", ClientIP, " Mac: ", ClientMac,
>> "Hostname: ", option host-name));
>>                 execute("/etc/pdns/dhcp-event", "commit", ClientIP,
>> ClientMac, option host-name);
>> }
>>
>> Is it still possible to call and external script?
>>
>> At the same time I've been using a php file that loads the designated
>> boot menu for the booted mac-address:
>>
>> subnet 10.0.0.0 netmask 255.255.255.0 {
>> [...]
>>
>> if not exists gpxe.bus-id {
>>     filename "undionly.kpxe";
>> } else {
>>     filename "http://10.0.0.9/tftp/boot.php";
>> }
>> [...]
>> }
>>
>> I'm not sure I can still use this line of code?
>>
>> Thanks in advance!
>> _______________________________________________
>> Kea-users mailing list
>> Kea-users at lists.isc.org
>> https://lists.isc.org/mailman/listinfo/kea-users
>>
>
>
>
> _______________________________________________
> Kea-users mailing list
> Kea-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/kea-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20160913/efdab9a9/attachment.htm>


More information about the Kea-users mailing list