# Planning Your Implementation

## With or without the iPXE Anywhere Web-Service?

The 2PXE server can operate on its own without the need for the iPXE Anywhere Web Service (it will still use https) but must do all the heavy lifting on it’s own.

The iPXE Web Service offers a lot of extra functionality such as logging, reporting, integration with StifleR, custom scripting and a heap of other options limited only by the imagination!

Some ideas of what can be achieved:

* Integration with an MDT database
* Checking and upgrading the BIOS version on a machine before OS install
* Presentation of a special ‘technician’ menu with diagnostic tools etc.

Because iPXE Anywhere Web Service is driven by a PowerShell scripting interface, the sky’s the limit.

The following high level schematic shows the different setup just using 2PXE compared to integration it with iPXE Anywhere Web Service.

![](/files/-MTk7L4mwtXOmclzmogA)

## StifleR Integration

The 2PXE service can be integrated with StifleR using the SysLog feature. This feature requires the iPXE Anywhere Web Service and StifleR: <https://2pintsoftware.com/products/stifler>

For information about this integration please review the iPXE Anywhere Web Service documentation.

## DHCP Scope Options vs IP Helpers?

Reasons to use DHCP scope options to control network boot:

1. Smaller footprint to deploy
2. Maybe no need to talk to the network team

Reasons not to use DHCP scope options to control the network boot:

1. No ability to use DHCP to set the right boot loader
2. DHCP changes can be hard to tweak and test depending on vendor of DHCP
3. Difficult to directly control which machines receive PXE boot offers.
4. More administration needed to allow different boot options to different clients
5. No need to talk to the DHCP team.

When using DHCP options there is no way for the iPXE NBP to automatically detect the options values from the 2PXE server. Instead the URL for the client to contact is configured through DHCP option 175.

{% hint style="info" %}
**NOTE:** DHCP Scope Option 175 contains the 2PXE URL and must be in lower case and end with a trailing backslash:\
**https\://\<serverFQDN>:\<port>/**
{% endhint %}

&#x20;The below diagram shows how a Microsoft DHCP server gives out Option #66 and #67 can be used to boot a computer with iPXE.

![](/files/-MTk7ec0AJMMsqQmv9YM)

2PXE can be booted using any kind of DHCP server, without using the built in proxyDHCP server, but this does not work well in all configurations. In order to manage this effectively, when having both BIOS and UEFI, machines we recommend using a smart DHCP server like ISC for Linux or Microsoft DHCP 2019 or later for Microsoft environments.

If your DHCP server is not smart enough to respond with the right info, you can still use 2PXE, just use IP helpers to manage the boot requests instead. The image below depicts a PXE boot using the 2PXE DHCP Proxy service.

![](/files/uGwlPOFRBLN3zqtW4MQv)

## Which 2PXE Operational Mode?

2PXE can operate in three different modes:

1. **Configuration Manager Integration –** allows Microsoft Configuration Manager customers to use iPXE to use the boot media directly from the Distribution Point.
2. **PowerShell Extension –** allows non Configuration Manager customers to boot to WinPE files over HTTP or TFTP, to use iPXE for the HTTP downloads and also use TFTP with regular images. (Don’t confuse this with the PowerShell capability from iPXE Anywhere Web Service)
3. **Referral –** used by System Integrators to point to an already existing 2PXE infrastructure.

Each mode is handled by what’s called a “Request Handler”. In this next section we will explain each of the three options and where they can be configured. For more information on how to configure the Request Handler after installation, see this [article](/2pxe-server/configuration/2pxe-config-file/configuring-the-2pxe-request-handlers.md).&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.2pintsoftware.com/2pxe-server/planning/planning-your-implementation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
