Overview of ThinPrint Line Printer Daemon
With our own ThinPrint LPD, we also bring high-availability printing to backend systems. In cooperation with the Microsoft Network Load Balancer, we create a virtual resource that generates a static printer share that can be used by the backend system. In addition to the Network Load Balancer, the ThinPrint HA service decides whether the print server is still functional or is temporarily deactivated for the cluster. Spooler information and messages from other ThinPrint HA components such as ThinPrint AutoConnect flow together in the ThinPrint HA service and form the best possible basis for decision-making. Once everything is back to normal, the ThinPrint HA service can reactivate the print server for the cluster.
The use of this service requires an additional license per print server (independent of the named user licensing). If you do not yet have a license, please contact firstname.lastname@example.org.
- Microsoft Network Load Balancer on all print servers that should be part of the cluster
- ThinPrint Engine 13.2 (Print Server Role)
- Static IP address for each print server
- Static IP address for the virtual load balancer
Network Load Balancer (NLB)
Installing using the Windows Server Manager
- Open the Server Manager and start the "Add Roles and Features" wizard.
- Navigate through the wizard to "Features" and search for the "Network Load Balancing" feature.
The administrator tools are also installed together with the actual feature.
Installing using PowerShell
- Open a PowerShell console as administrator and enter the following command:
Install-WindowsFeature NLB -IncludeManagement Tools
The administrator tools are also installed.
Configuration of the Network Load Balancer
- First you need to start the Network Load Balancing Manager.
- In the NLB Manager, right-click on Network Load Balancing Clusters to open the context menu and select New Cluster.
- In the next steps, enter the IP address of your primary print server.
- Click on Next to go to the host parameters. You do not need to make any changes here. The priority should be set to 1, as this is the primary host.
- By clicking Next again, you can now enter the IP address of your cluster. This is the address under which the printer queues can be connected later. Click on Add here.... and enter the cluster IP address in the new window. Then confirm the entry with OK.
- Then continue by clicking on Next.
- Next, the parameters of the cluster are defined. A Full Internet Name is not required in our case.
Let's move on to the mode ‒ ThinPrint LPD has no restrictions in this regard. All modes are supported. Unlike web servers, the print server does not need a second NIC to be able to use unicast, which is why the configuration effort is minimal. Multicast and IGMP multicast must be permitted by the network and, in the case of IGMP multicast, even supported by the network hardware.
- The conditions under which the cluster is to perform its service must then be defined. The ThinPrint LPD Service listens on TCP port 515, which is why the port range is set to 515 only. The protocol can be restricted to TCP.
Multiple Host is selected as the filter and Single as the affinity. This means that print jobs from a specific client IP are always sent to the same node ‒ unless the node is no longer accessible. Print jobs from another client IP can therefore be sent to another node in order to distribute the load.
- Click OK to set up the cluster and the first node of the cluster.
- Further nodes can be added by right-clicking on the cluster node.
- The IP address must be entered again, this time for node number 2.
- Click on Connect to add the second node to the cluster.
- As can be seen in the screenshot, this node is given a different priority than the first node, which is why the configuration described here amounts to a failover cluster.
- Click on Next to return to the port rules, which have already been configured, so you can complete the wizard by clicking on OK.
- If all nodes are green, the network load balancer is fully configured.
Configuration of the ThinPrint LPD
After installing the ThinPrint Engine in the print server role, the ThinPrint LPD is initially deactivated and must be activated manually.
- To do this, start the ThinPrint configuration and go to the ThinPrint LPD plugin and click on Edit Settings.
- A new window opens with the possible settings of the ThinPrint LPD.
- To activate the service, tick the checkbox at the top and confirm with Apply.
If no further restrictions are desired, the printers can be configured in the ERP system.
Restricting the service to specific printer queues
To increase security, the ThinPrint LPD can be configured so that it only sends print jobs to a defined list of print queues. To do this, a whitelist is created in the ThinPrint LPD settings. Without any configuration all printers are checked and available through the ThinPrint LPD service.
- In the upper section you can uncheck which printers you don't need or don't want to be available for LPD printing. Use the text field above the list to apply a filter on the list of printers. The list will update automatically when you start typing. You don't need to hit enter or something else. Besides the text field you find the check/uncheck checkbox to for the applied filter or selected items.
Restricting the service to specific sources
For added security, a whitelist can be created to define source clients that are allowed to submit print jobs to the ThinPrint LPD. If the list of authorized clients is empty, all machines are automatically allowed to send print jobs to the ThinPrint LPD.
- In the lower section of the ThinPrint LPD settings, the IP address of a client that is allowed to send jobs can be entered into the text field. Clicking on Add IP will add the IP address to the whitelist.
- If an IP address changes or an old system is replaced with a new one, the IP can be edited by selecting it and clicking on the Change button.
- If a backend system is completely removed, the corresponding IP address can be selected and removed from the whitelist using the Delete button.
Printing via LPR
On the client side, the printer is connected via LPR. The printer name and the static IP address of the Network Load Balancer are used for this purpose.