netboot.xyz icon indicating copy to clipboard operation
netboot.xyz copied to clipboard

Arch Linux static DNS failure

Open mvpsnet opened this issue 6 months ago • 1 comments

[x]: This bug persists when memory is increased beyond 8GB.

Describe the bug When the network is setup statically and the installation of Archlinux is started, the DNS IP is not passed to the Archlinux installation and the installation fails.

To Reproduce Steps to reproduce the behavior:

  1. Load the ISO image
  2. Enter the network information manually
  3. Choose the Arch Linux

Expected behavior While the initial files are downloaded without problems, proving that the DNS was working, the installation fails due to DNS failure when loading the Arch Linux installation files.

Screenshots Image Image

mvpsnet avatar Jun 06 '25 23:06 mvpsnet

I also had this issue, and I saw this on the Arch Linux iPXE menu code:

https://github.com/netbootxyz/netboot.xyz/blob/0983f34a889990e19040f030a4708d271f2f1874/roles/netbootxyz/templates/menu/archlinux.ipxe.j2#L14-L19

The archlinux/mkinitcpio/mkinitcpio-archiso repository now tracks the bug on https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio-archiso/-/issues/11 and related module has another issue on https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio-nfs-utils/-/issues/3.

While the workaround netboot.xyz has should work, it seems that whenever you request an item via mirrors.kernel.org (for which the IP is (139.178.88.99), it now redirects you to mirrors.edge.kernel.org; which you can't request items with just the IP address as the host.

I tried this with curl:

~ ❯ curl -vfsSL http://139.178.88.99/archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs
*   Trying 139.178.88.99:80...
* Connected to 139.178.88.99 (139.178.88.99) port 80 (#0)
> GET /archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs HTTP/1.1
> Host: 139.178.88.99
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: nginx
< Date: Thu, 09 Oct 2025 10:50:21 GMT
< Content-Type: text/html
< Content-Length: 162
< Connection: keep-alive
< Location: http://mirrors.edge.kernel.org/archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs
< Strict-Transport-Security: max-age=15768001
< X-Content-Type-Options: nosniff
< X-Frame-Options: DENY
< X-XSS-Protection: 1; mode=block
<
* Ignoring the response-body
* Connection #0 to host 139.178.88.99 left intact
* Issue another request to this URL: 'http://mirrors.edge.kernel.org/archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs'
*   Trying 213.196.21.55:80...
* Connected to mirrors.edge.kernel.org (213.196.21.55) port 80 (#1)
> GET /archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs HTTP/1.1
> Host: mirrors.edge.kernel.org
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Thu, 09 Oct 2025 10:50:21 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 1003560960
< Last-Modified: Wed, 01 Oct 2025 16:11:03 GMT
< Connection: keep-alive
< Vary: Accept-Encoding
< Content-Security-Policy: default-src https:
< Strict-Transport-Security: max-age=15768001
< X-Content-Type-Options: nosniff
< X-Frame-Options: DENY
< X-XSS-Protection: 1; mode=block
< Accept-Ranges: bytes
<
* Failure writing output to destination
* Closing connection 1
~ ❯
~ ❯ curl -vfsSL http://213.196.21.55/archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs
*   Trying 213.196.21.55:80...
* Connected to 213.196.21.55 (213.196.21.55) port 80 (#0)
> GET /archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs HTTP/1.1
> Host: 213.196.21.55
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: nginx
< Date: Thu, 09 Oct 2025 10:51:08 GMT
< Content-Type: text/html
< Content-Length: 162
< Connection: keep-alive
< Location: http://mirrors.edge.kernel.org/archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs
< Strict-Transport-Security: max-age=15768001
< X-Content-Type-Options: nosniff
< X-Frame-Options: DENY
< X-XSS-Protection: 1; mode=block
<
* Ignoring the response-body
* Connection #0 to host 213.196.21.55 left intact
* Issue another request to this URL: 'http://mirrors.edge.kernel.org/archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs'
*   Trying 213.196.21.55:80...
* Connected to mirrors.edge.kernel.org (213.196.21.55) port 80 (#1)
> GET /archlinux/iso/2025.10.01/arch/x86_64/airootfs.sfs HTTP/1.1
> Host: mirrors.edge.kernel.org
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Thu, 09 Oct 2025 10:51:08 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 1003560960
< Last-Modified: Wed, 01 Oct 2025 16:11:03 GMT
< Connection: keep-alive
< Vary: Accept-Encoding
< Content-Security-Policy: default-src https:
< Strict-Transport-Security: max-age=15768001
< X-Content-Type-Options: nosniff
< X-Frame-Options: DENY
< X-XSS-Protection: 1; mode=block
< Accept-Ranges: bytes
<
* Failure writing output to destination
* Closing connection 1
~ ❯

So, either we wait for archlinux/mkinitcpio/mkinitcpio-nfs-utils to fix the static DNS issue or choose a mirror that allows downloads with URL hostname being an IP.

linuxgemini avatar Oct 09 '25 10:10 linuxgemini