NAS App Center

Total NAS App Worldwide

0783

Search





Collection

Categories

Developer Login

Support

PXE Server
  • Version : 1.0.0
  • Update Date : 2014-03-16
  • Developer : Stéphane
  • OS : ThecusOS 6 x86

Description


PyBootd is a daemon supporting a subset of the BOOTP, DHCP, PXE and TFTP protocols, with some handy extensions.
One of its main goals is to provide a simple solution to boot up any PXE-enabled personal computer, with no other tool required but a standard Python installation.
Pybootd can be used for any network boot up, or to install an OS without any physical support such as a USB key or a CD/DVD.

Permissions

DHCP protocol requires the daemon to listen on port 67.
TFTP protocol requires the daemon to listen on port 69.

As these ports are within the server's range (<1024), the superuser privileges are required on Unix hosts (Linux, Mac OS X, ...) to start up these daemons.

Features


Access control:

None (any remote host can be served)
MAC address ACL
UUID based ACL - requires PXE protocol
HTTP forwarding - authorization is delegated to a remote server using simple HTTP GET requests

Local or remote file serving:

For example, it is possible to boot up a full Debian system directly from the Internet, without storing any file on the pybootd host machine

Network notification of client requests through UDP messages
File name translation
Files requested from TFTP clients can be filtered and transformed into local filenames using filters
It is possible to use pybootd with only one of the services, either TFTP or DHCP


Common errors

pybootd.pxed.BootpError: Unable to detect network configuration
This error is often triggered when the pool_start address is not part of a valid network. Double check the network configuration and fix up the [bootp] section so that it matches the actual network.

pybootd daemon uses a configuration file, in .ini format, for all other options.

Documentation

Requirement :

TFTP Protocol Service enable on your NAS

Note :
 

  • I dont use the embedded TFTP server from pybootd (cant make it work correctly)
  • Edit your network configuration within the Webui : DHCP range, DNS Server (actually my freebox router)...
  • Stop and Restart module once config modified
  • Upload your file in the preset TFTP directory (i used SYSLINUX to have a basic boot, but you can find many other preconfigured)
  • boot on your PXE Client (tested on a VMWare with a basic pxe configuration)

Compatible Models

N2520, N2560, N4520, N4560,