is it possible to boot a linux/windows machine (or other os) using network card with bootp support through internet?
I have a client agent machine in net 1.2.3.x
I have a remote agent support server in net 4.3.2.x
I connected thorough standart ipv4 network passing relays/hubs/switches and other devices.
I know i can boot from 1.2.3.x/192.168.0x or similar networks.
But can i boot from really remote machine?
Yes, but it will be slow if the latency is high.
As long as you don't have any firewall filtering it should work. If there is NAT then TFTP will probably fail unless your NAT router is smart enough to do packet mangling for TFTP src/dest addresses. If you use a Linux firewall then the nf_nat_tftp module should handle that.
You'll need a local DHCP/BOOTP server to point your host at the remote endpoint, but otherwise it can be done. We netboot servers in the office, but the principal is the same:
In dhcpd.conf, we have:
next-server 1.2.3.4; # Your remote TFTP server
filename "pxelinux.0"; # The PXE file the load from TFTP
gateway 192.168.102.1 # your local gateway
# a local pool for PXE in firmware to DHCP from:
range dynamic-bootp 192.168.102.50 192.168.102.70;
This tells it where to TFTP the PXE image.
Once PXE boots it is a matter of getting your disk connected.
The following network boot technologies should work fine across routers:
- NFS
- iSCSI
- NBD
For example, you could boot from iSCSI if you have a network-attached iSCSI initiator--- or for NFS boot with Linux you could pass ip=dhcp nfsroot=4.3.2.1:/foo/
on the kernel commandline from pxelinux if you have an NFS server.
The specific configuration details for setting up a disk or remote filesystem to boot from are beyond the scope of this article, but here are some references:
- https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt
- https://linuxhint.com/pxe_boot_server_centos/
- https://wiki.archlinux.org/title/diskless_system
There are other network disk technologies, but these are layer-2 frame based and will not route across your border:
- ATAoE
- FCoE
About Windows: it has worked historically, but iSCSI netboot for Windows stopped working in Windows 10 release 1809---however it should work fine with Windows Server operating systems. It is officially supported for Windows Server, but unofficially unsupported for Windows 10. I've not tried 2004 and newer so YMMV.
Also, there is a commercial product called CCBoot that does support netboot of newer Windows 10 releases. Here are some Windows iSCSI netboot references:
- http://mistyprojects.co.uk/documents/iscsi-targets/files/supported.htm
- https://www.cyberus-technology.de/posts/2018-02-26-windows-on-iscsi-part1.html
- Can I install Windows on a diskless system with iSCSI?
[ http://mistyprojects.co.uk/documents/iscsi-targets/files/supported.htm ]