Version 24 (modified by martijk, 6 years ago) (diff) |
---|
Installation
First get the latest stable source of the package from:
Then unpack the package. There are 2 methods to build the package:
- Debian package
- Manual installation
Debian package
How to build a debian package:
- debian/rules binary
- dpkg -i <packagename>
The debian package determines if inetd or xinetd configuration must be used.
Ansible installation
The administrators of the Niflheim Linux cluster supercomputer at the Technical University of Denmark have written an Ansible role to automatically install and start the pxeconfig service on CentOS/RHEL 7:
Download the role files to your Ansible setup and use this role in your Ansible playbooks by:
- pxeconfigd
Up to date documentation is also available on their wiki.
Manual installation
How to install the package:
- ./configure (default install directory = /usr/local)
- make install
How to configure the daemon (pxeconfigd)
To activate the pxeconfigd daemon utility on other platforms use this procedure:
- edit '/etc/services', eg:
pxeconfigd 6611/tcp # pxe config daemon
- Install the server, the server can ONLY be started from inetd or xinetd:
a) inetd.conf - edit '/etc/inetd.conf', eg: pxeconfigd stream tcp nowait root.sys /usr/sbin/tcpd \ /usr/local/sbin/pxeconfigd - /etc/init.d/inetd reload b) xinetd - cp examples/pxeconfigd.xinetd /etc/xinetd.d/pxeconfigd - /etc/init.d/xinetd reload
Test the setup
You can test it by:
- telnet localhost pxeconfigd (or port number)
output: Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. ip = 127.0.0.1, hex = 7F000001 file = /tftpboot/pxelinux.cfg/7F000001 Connection closed by foreign host.
In syslog a line will be added if the removal is succesful:
Feb 20 09:32:40 test pxeconfigd: /tftpboot/pxelinux.cfg/7F000001
Configuration
The pxeconfig and pxeconfigd utility can be configured with a configuration file:
- pxeconfig.conf (usually located in /usr/local/etc or /etc)
The following options are supported:
pxe_config_dir::
Specify which tftpboot directory must be used, default: /tftpboot/pxelinux.cfg
client_script_hook:: ( obsolete >= 4.1.0 )
This option is used by the client program pxeconfig it executes a script before a host link is created with the host ip-address as first argument. We use this to open ports on our firewall to allow the host to use rsync or bittorrent protocol.
client_script_hook_add:: (>= 4.1.0)
This option is used by the client program pxeconfig it executes a script before a host link is created with the host ip-address as first argument. We use this to open ports on our firewall to allow the host to use rsync or bittorrent protocol.
client_script_hook_remove:: (>= 4.1.0)
This option is used by the client program pxeconfig it executes a script before a host link is removed with the host ip-address as first argument. We use this to close ports on our firewall to deny the host to use rsync or bittorrent protocol.
daemon_script_hook::
This option is used by the daemon program pxeconfigd it executes a script before a host link is removed with the host ip-address as first argument. We use this to close ports on our firewall for the specified IP-address/host.
arp_command::
This command must be set if site use the mac address for pxe booting, default: /usr/sbin/arp -n
Host labels
It is difficult to remember mac-addresses. So you can specify a host label with a mac-address in pxeconfig.conf, eg:
[bas] mac_address: 00:19:b9:de:21:40
Now you can use use bas as name for pxeconfig instead of the mac-address