Usage

Starting

Depending on your environment you may want to run this server headless or with a GUI. Depending on your use case, select a section below.

GUI

Under and administrative command prompt, traverse to the folder you have onb-classic-all.jar

java -jar onb-classic-all.jar
../_images/onb_home.png

When started in gui mode, on a system that has a system tray, the application will run in the background when closed. If Java detects your system does not support tray icons, it will run in the window and exit on closure.

Console

Under and administrative command prompt, traverse to the folder you have onb-classic-all.jar

java -jar onb-classic-all.jar -console
../_images/console_start.png

Normal Usage

Worth mentioning, you may routinely see “TftpService - ERROR TFTP010: Attempted to check options negotiation, and client gave failure”, that is normal. A lot of TFTP clients start a connection asking the size of the file, cancel that connection, then start the real transfer.

Console Usage

The following options are available under the ‘-help’ menu

OpenNetBoot - v2.2.1

    No throws to start with gui.

    -h              - displays help
    -i [interfaces] - comma delimited list of interfaces
    -lsint          - display interfaces for filtering
    -r [file name]  - load a rule base from a specific file
    -pxe    - start pxe server
    -tftp   - start tftp server
    -http   - start http server
    -disablepxe     - stop pxe from loading
    -disabletftp    - stop tftp from loading
    -disablehttp    - stop http from loading
    -blankrules (optional file name, ending in .onr)        - save a file named 'Rules - 0.onr', if that exists it will increment the number
    -virtualnic
    -console        - force start in console mode

Logging
* 0 - Say when the system starts and stops, either on purpose or fatal errors
* 1 - Say when ports come up, no other info
* 2 - Echo out when a packet is received, and simple response
* 3 - More in depth info about packet and response
* 4 - Most verbose level of output
        -l [level]      - starts console and file loggers on specified level
        -lc [level]     - starts console logger on specified level
        -lf [level]     - starts file logger on specified level


Example:
    java -jar onb-classic-all.jar -i vmnet1,en0

Argument

Description

What it does

-h

Show help

Shows the above help menu

-i [interfaces]

Override interfaces

Set interfaces (via comma separation) to override rules

-lsint

Show interfaces

Some systems (Windows) name interfaces oddly, this allows users to see what Java/ONB will see the interface name as

-r [file name]

Load rules file

Set a rules file that isn’t default (rules.onr) to load

-pxe

Start PXE Services

Override rules, and start PXE Services

-tftp

Start TFTP Services

Override rules, and start TFTP Services

-http

Start HTTP Services

Override rules, and start HTTP Services

-disablepxe

Disable PXE Services

Override rules, and disable PXE Services

-disabletftp

Disable TFTP Services

Override rules, and disable TFTP Services

-disablehttp

Disable HTTP Services

Override rules, and disable HTTP Services

-blankrules

Generate Rules file

Create a new rules file for this version of ONB-Classic

-virtualnic

Virtualnic terminal

An experimental feature to have a virtual interface. See Virtual Interface Section.

-console

Start in console

Start in the console, not in GUI mode

-l [level]

Set file and console log level

Override rules, and set file and console log levels

-lc [level]

Set console log level

Override rules, and set console log level

-lf [level]

Set file log level

Override rules, and set file log level

Virtual NIC

This started as a troubleshooting tool for the project, it was useful so it was included in the final program. Virtual NIC allows a fake interface via ONB to be attached to a real interface, this creates a fake MAC address and attempts to pull DHCP information from a local DHCP server. Below is the help menu, this can be gotten by typing “help” in the virtual nic interface. Virtual NIC runs as a interactive command prompt.

Commands:
    randmac - Randomize Fake Mac
    dhclient - Attempt to get a DHCP address
    status - see status of card
    lsint - List interfaces
    setint - Set interface to use

    Run 'randmac', then 'lsint' find the interface you want, then 'setint %interface'; finally 'dhclient'.

Argument

Description

What it does

randmac

Randomize MAC

Randomize the MAC so a remote DHCP server sees this system as new client

dhclient

Run dhcp client

Run a dhcp client and attempt to get a new address

status

Get status

Show the MAC and which interface we are connected to

lsint

List interfaces

List interfaces, and there short names

setint

Set interface

Set which interface to use, this uses short name provided above.

Running At Startup

There are files in the repository at “/docs/service/” for both sysV and SystemD servers to be able to start the application as a console daemon.