[ipxe-devel] iPXE tries to translate a IPv4 address via DNS if I use the https protocol to chainload the boot process

Michael Brown mbrown at fensystems.co.uk
Fri Nov 8 13:36:02 UTC 2013

On 04/11/13 04:45, Jens Röwekamp wrote:
> When I switch from http to https with a self-signed certificate and the
> EMBED parameter to to include my personal root.ca I get a "Connection
> timed out (http://ipxe.og/4c116035)" error.
> I checked the above given URL and found out that the error somehow is
> related to DNS. So I build a new ipxe.kpxe with the EMDED and
> DEBUG=dns:3,https:3 parameters. The additional information I get is "DNS
> 0xd30d4 sending query ID 1" till "DNS 0xd30d4 sending query ID 5" (see
> attached PXE-Client-https-error.png).
> After that I thought about addressing the chainloading host via a valid
> local DNS name. So I set up bind and changed the EMBED script. Now the
> IP address got exactly translated, but still there is the a "Connection
> timed out (http://ipxe.org/4c0a6035)" error (see attached
> PXE-Client-https-error-2.png), which is somehow related to the tcp.c
> file on line 633.

My guess is that your certificate chain is incomplete (i.e. the web 
server is presenting a certificate chain which does not include the root 
certificate), and that iPXE is attempting to download the remainder of 
the certificate chain from the ${crosscert} server (which defaults to 

For space reasons, iPXE embeds only the fingerprint of the trusted root 
certificate, rather than the whole certificate.  It therefore needs to 
be able to obtain the root certificate itself at runtime.  This root 
certificate can be provided by the web server as part of the certificate 
chain, but this is a non-standard configuration since web servers 
usually assume that clients are already in possession of the complete 
root certificate.

The easiest fix is probably to include your root certificate within the 
certificate chain presented by the web server.


More information about the ipxe-devel mailing list