1
1
mirror of https://github.com/eblot/pybootd.git synced 2024-09-11 22:17:44 +03:00
A minimalist bootp/dhcp/pxe and tftp server
Go to file
2011-05-21 00:21:53 +02:00
pybootd Initial commit 2011-05-21 00:21:53 +02:00
.gitignore Initial commit 2011-05-21 00:21:53 +02:00
AUTHORS Initial commit 2011-05-21 00:21:53 +02:00
forward.sh Initial commit 2011-05-21 00:21:53 +02:00
LICENSE Initial commit 2011-05-21 00:21:53 +02:00
pybootd.py Initial commit 2011-05-21 00:21:53 +02:00
README.rst Initial commit 2011-05-21 00:21:53 +02:00
setup.py Initial commit 2011-05-21 00:21:53 +02:00

=========
 PyBootd
=========

--------
Overview
--------

PyBootd is a daemon that supports 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, without requiring any other tools 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 CD/DVD.


------------
Requirements
------------

- Python_ 2.6 or above is required. Python_ 3.x is not yet supported.
- Netifaces_ Python module

.. _Python: http://python.org/
.. _Netifaces: http://alastairs-place.net/netifaces/

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 range (<1024), the superuser privileges 
 are required on Unix hosts (Linux, Mac OS X, ...) to start up these daemons.

------
Status
------

This project is in beta development stage.

Supported features
------------------
- Access control:

 1. None (any remote host can be served)
 2. MAC address ACL
 3. UUID based ACL - requires PXE protocol
 4. 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 offered services, either
  TFTP or DHCP