PaperCut Deployment Guide
PaperCut Deployment Guide
Version 1.2.0
Table of Contents
1. About this Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Loadbalancer.org Appliances Supported. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Software Versions Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Loadbalancer.org Appliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Papercut NG, MF and Mobility Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. PaperCut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1. PaperCut Print Server Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Secondary Server (Print Provider, Mobility Print) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Site Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Load Balancing PaperCut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.1. Load Balancing & HA Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2. Persistence (aka Server Affinity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3. Virtual Service (VIP) Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.4. Load Balanced Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6. Deployment Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7. Load Balancer Deployment Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. Layer 4 DR Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.2. Layer 4 SNAT Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.3. Layer 7 SNAT Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.4. Our Recommendation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
8. Configuring Microsoft Print Servers using PaperCut for Load Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1. Registry Modifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.2. Configuring Name Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.3. Layer 4 DR Mode – Solving the ARP Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
9. Loadbalancer.org Appliance – the Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.1. Virtual Appliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
9.2. Initial Network Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
9.3. Accessing the Appliance WebUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Main Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
9.4. Appliance Software Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Determining the Current Software Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Checking for Updates using Online Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Using Offline Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.5. Ports Used by the Appliance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9.6. HA Clustered Pair Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10. Appliance Configuration for PaperCut Print Servers – Using Layer 4 DR Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.1. Configuring VIP 1 – PaperCut Application Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Define the Real (Active Application Server) Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.2. Configuring VIP 2 – PaperCut Secondary Server (PaperCut Print Provider). . . . . . . . . . . . . . . . . . . . . . . . . . 18
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Define the Real (Print Server) Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
10.3. Configuring VIP 3 – PaperCut Mobility Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
10.4. Finalizing the Layer 4 DR mode Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
The ARP Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
10.5. Configuring the Print Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
11. Appliance Configuration for PaperCut Print Servers – Using Layer 4 SNAT Mode. . . . . . . . . . . . . . . . . . . . . . . . . 22
11.1. Configuring VIP 1 – PaperCut Application Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Define the Real (Active Application Server) Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
11.2. Configuring VIP 2 – PaperCut Secondary Server (PaperCut Print Provider). . . . . . . . . . . . . . . . . . . . . . . . . . 24
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Define The Real (Print Server) Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
11.3. Configuring VIP 3 – PaperCut Mobility Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
11.4. Configuring the Print Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
12. Appliance Configuration for PaperCut Print Servers – Using Layer 7 SNAT Mode. . . . . . . . . . . . . . . . . . . . . . . . . 27
12.1. Configuring VIP 1 – PaperCut Application Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Define the Real (Active Application Server) Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
12.2. Configuring VIP 2 – PaperCut Secondary Server (PaperCut Print Provider). . . . . . . . . . . . . . . . . . . . . . . . . . 29
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Define the Real (Print Server) Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
12.3. Configuring VIP 3 – PaperCut Mobility Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Configuring The Virtual Service (VIP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
12.4. Configuring the Print Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
13. PaperCut Microsoft Print Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
13.1. Step 1 - Initial Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
13.2. Step 2 – Registry Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
13.3. Step 3 – Configure Name Resolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
13.4. Step 4 – Server Reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
13.5. Deploying Printers via Group Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
14. Testing & Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
14.1. Using System Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
14.2. Client Connection Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
14.3. Testing PaperCut Application Server failover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
15. Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
16. Additional Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
17. Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
17.1. Configuring HA - Adding a Secondary Appliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Non-Replicated Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Configuring the HA Clustered Pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
17.2. DR Mode Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
17.3. The ARP Problem - Detecting It and Solving It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Detecting the ARP Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Solving the ARP Problem for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Solving the ARP Problem for Mac OS X/BSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Windows Server 2012 & Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
17.4. Fallback Server Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
17.5. Local Fallback Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
17.6. Using a Separate Dedicated Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
17.7. Using a Layer 7 VIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
17.8. Configuring A real Server as the Fallback Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
17.9. Configuring Primary / Secondary Real Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
17.10. Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
1. About this Guide
This guide details the steps required to configure a load balanced PaperCut Application and Secondary print
server utilizing Loadbalancer.org appliances. It covers the configuration of the load balancers, Microsoft printer
servers and Papercut application changes that are required to enable load balancing.
For more information about initial appliance deployment, network configuration and using the Web User Interface
(WebUI), please also refer to the Administration Manual.
Some features may not be available or fully supported in all cloud platforms due to platform specific limitations.
For more details, please refer to the "Main Differences to our Standard (Non-Cloud) Product" section in the
appropriate cloud platform Quick Start Guide or check with Loadbalancer.org support.
The screenshots used throughout this document aim to track the latest Loadbalancer.org
software version. If you’re using an older version, or the very latest, the screenshots presented
here may not match your WebUI exactly.
4. PaperCut
PaperCut is a print management solutions provider which delivers this via three applications:
PaperCut NG for easy print management that lets you hit the ground running with full tracking, visibility. It
comes with detailed print job tracking and reporting to truly rein in costly, wasteful printing. Boasting eco-
friendly policies to help you use less paper, save on toner, and make sustainable habits the status quo.
PaperCut MF lets you cut costs and waste in your workplace by managing print, scan, copy, and fax. It has
powerful exclusive features including Secure Print Release, Integrated Scanning, Scan to Cloud and Job
Ticketing.
PaperCut Mobility Print keeps users printing when they’re outside your network, or on an untrusted guest
network. It keeps jobs local to keep printing quick, and only uses the Internet when necessary — and cloud
jobs compress and encrypt to save space and keep your data safe.
When deploying an Application server in failover mode it is recommend to move print queues
over to the PaperCut secondary servers. It is also recommended to move the Web print, print
deploy service on to share storage. For details on PaperCut’s recommended deployment
methods for the application servers, see their documentation for Application Server Failover.
Mobility Print can be installed on the secondary print servers and can be made highly available
when placed behind a load balancer. Mobility Print allows users to print from their mobile
devices via network print services and can be load balanced using TCP/UDP 53, 9163, and 9164.
Site Server
The PaperCut Site Server component ensures continuous availability of printing resources to support key
business functions over unreliable network links or during unplanned network disruptions, in remote offices. It is
ready to take over the role of a Primary Application Server in the event of a WAN outage. Key roles taken over
include authentication, copy and print tracking and Find-Me printing, leaving a remote office with the ability to still
be able to print.
For load balancing print servers, the preferred and default load balancer configuration uses Layer 4 DR Mode
(Direct Routing, aka DSR / Direct Server Return). This is a very high performance solution that requires little
change to your existing infrastructure. It is necessary to solve "the ARP problem" on the real print servers. This is
a straightforward process, and is covered in DR Mode Server Configuration.
It is also possible to load balance a PaperCut Secondary print server using Layer 4 SNAT Mode. This mode might
be preferable if making changes to the real print servers is not possible, although some Windows Registry keys
need to be added. Please note that load balanced connections using layer 4 SNAT mode are not source IP
transparent, which is not usually an issue when load balancing print servers but should still be considered.
PostgreSQL
MySQL
Oracle
PaperCut Application Servers
PaperCut Mobility Print
PaperCut Print Provider
A list of additional ports required to configure high availability to work with your required
Multifunctional Device vendor can be found on the PaperCut Help Center.
6. Deployment Concept
The load balancer can be deployed as a single unit, although Loadbalancer.org recommends a
clustered pair for resilience & high availability. Please refer to Configuring HA - Adding a
Secondary Appliance for more details on configuring a clustered pair.
1. Layer 4 DR mode
For Microsoft Print Servers using PaperCut, layer 4 DR mode and layer 4 & 7 SNAT modes are recommended.
These modes are described below and are used for the configurations presented in this guide. For configuring
using DR mode refer to Appliance Configuration for PaperCut Print Servers – Using Layer 4 DR Mode and for
configuring using layer 4 SNAT mode refer to Appliance Configuration for PaperCut Print Servers – Using Layer 4
SNAT Mode.
Kemp, Brocade, Barracuda & A10 Networks call this Direct Server Return and F5 call it nPath.
DR mode works by changing the destination MAC address of the incoming packet to match the selected
Real Server on the fly which is very fast.
When the packet reaches the Real Server it expects the Real Server to own the Virtual Services IP address
(VIP). This means that each Real Server (and the load balanced application) must respond to both the Real
Server’s own IP address and the VIP.
The Real Server should not respond to ARP requests for the VIP. Only the load balancer should do this.
Configuring the Real Server in this way is referred to as "Solving the ARP Problem". For more information
please refer to DR Mode Considerations.
On average, DR mode is 8 times quicker than NAT mode for HTTP and much faster for other applications
such as Remote Desktop Services, streaming media and FTP.
The load balancer must have an interface in the same subnet as the Real Servers to ensure layer 2
connectivity which is required for DR mode to operate.
The VIP can be brought up on the same subnet as the Real Servers or on a different subnet provided that the
load balancer has an interface in that subnet.
Port translation is not possible with DR mode, e.g. VIP:80 → RIP:8080 is not supported.
DR mode is transparent, i.e. the Real Server will see the source IP address of the client.
Layer 4 SNAT mode is not transparent, an iptables SNAT rule translates the source IP address to be the load
balancer rather than the original client IP address.
Layer 4 SNAT mode can be deployed using either a one-arm or two-arm configuration. For two-arm
deployments, eth0 is normally used for the internal network and eth1 is used for the external network
although this is not mandatory.
If the Real Servers require Internet access, Auto-NAT should be enabled using the WebUI option: Cluster
Configuration > Layer 4 - Advanced Configuration, the external interface should be selected.
Requires no mode-specific configuration changes to the load balanced Real Servers.
Port translation is possible with Layer 4 SNAT mode, e.g. VIP:80 → RIP:8080 is supported.
You should not use the same RIP:PORT combination for layer 4 SNAT mode VIPs and layer 7 SNAT mode
VIPs because the required firewall rules conflict.
Layer 7 SNAT mode is not transparent by default, i.e. the Real Servers will not see the source IP address of
the client, they will see the load balancer’s own IP address by default, or any other local appliance IP address
if preferred (e.g. the VIP address). This can be configured per layer 7 VIP. If required, the load balancer can
be configured to provide the actual client IP address to the Real Servers in 2 ways. Either by inserting a
header that contains the client’s source IP address, or by modifying the Source Address field of the IP
packets and replacing the IP address of the load balancer with the IP address of the client. For more
information on these methods please refer to Transparency at Layer 7.
Layer 7 SNAT mode can be deployed using either a one-arm or two-arm configuration. For two-arm
deployments, eth0 is normally used for the internal network and eth1 is used for the external network
although this is not mandatory.
Requires no mode-specific configuration changes to the load balanced Real Servers.
Port translation is possible with Layer 7 SNAT mode, e.g. VIP:80 → RIP:8080 is supported.
You should not use the same RIP:PORT combination for layer 7 SNAT mode VIPs and layer 4 SNAT mode
VIPs because the required firewall rules conflict.
If DR mode cannot be used, for example if it is not possible to make changes to the real servers, or if the real
servers are located in remote routed networks, then layer 4 SNAT mode is recommended.
For details of the required changes for registry modifications and configuring name resolution
please refer to PaperCut Microsoft Print Server Configuration.
The same download is used for the licensed product, the only difference is that a license key file
(supplied by our sales team when the product is purchased) must be applied using the
appliance’s WebUI.
Please refer to Virtual Appliance Installation and the ReadMe.txt text file included in the VA
download for additional information on deploying the VA using the various Hypervisors.
The VA has 4 network adapters. For VMware only the first adapter (eth0) is connected by
default. For HyperV, KVM, XEN and Nutanix AHV all adapters are disconnected by default. Use
the network configuration screen within the Hypervisor to connect the required adapters.
Be sure to set a secure password for the load balancer, when prompted during the setup routine.
There are certain differences when accessing the WebUI for the cloud appliances. For details,
please refer to the relevant Quick Start / Configuration Guide.
https://<IP-address-configured-during-the-network-setup-wizard>:9443/lbadmin/
You’ll receive a warning about the WebUI’s SSL certificate. This is due to the default self
signed certificate that is used. If preferred, you can upload your own certificate - for more
information, please refer to Appliance Security Features.
If you need to change the port, IP address or protocol that the WebUI listens on, please
refer to Service Socket Addresses.
Username: loadbalancer
Password: <configured-during-network-setup-wizard>
To change the password, use the WebUI menu option: Maintenance > Passwords.
3. If the latest version is already installed, a message similar to the following will be displayed:
4. If an update is available, you’ll be presented with a list of new features, improvements, bug fixes and security
related updates.
Do not navigate away whilst the update is ongoing, this may cause the update to fail.
6. Once complete (the update can take several minutes depending on download speed and upgrade version)
the following message will be displayed:
7. If services need to be reloaded/restarted or the appliance needs a full restart, you’ll be prompted accordingly.
Please contact [email protected] to check if an update is available and obtain the latest
6. If services need to be reloaded/restarted or the appliance needs a full restart, you’ll be prompted accordingly.
TCP 22 * SSH
The ports used for SSH, GSLB, SNMP, the WebUI, the fallback page, the gateway service and the
shuttle service can be changed if required. For more information, please refer to Service Socket
Addresses.
2. Define the required Label (name) for the VIP, e.g. Papercut_WUI.
3. Set the Virtual Service IP address field to the required IP address, e.g. 172.24.11.38.
12. In the Request to send field put the application server health monitoring authorization key which can be
found in the HTTP header:
/api/health/application-server/status?disk-threshold-mb=1&Authorization=<AUTHORIZATION KEY>
The HTTP header can be found in the Application server under Web user interface > Options > Advanced
In some cases other ports may need to be forwarded such as port 9192, 9193 and additional
ports depending on a customers multifunctional devices. For a list of PaperCut ports please
refer to the PaperCut Help Centre.
4. Change the Real Server IP Address field to the required address, e.g. 172.24.11.36.
5. Click Update.
2. Define the required Label (name) for the VIP, e.g. Print_Provider.
3. Set the Virtual Service IP address field to the required IP address, e.g. 172.24.11.38.
4. Change the Real Server IP Address field to the required address, e.g. 172.24.11.39.
5. Click Update.
In the next section, "Configuring VIP 3 – PaperCut Mobility Print" we will make use of the
Duplicate Service button to retain the configuration including the added real servers. We will
then need to amend the configuration with a new label and IP address accordingly, while other
configuration items, such as added real servers, will be retained.
2. Click the Duplicate Service located in the top right of the menu.
3. Define the required Label (name) for the VIP, e.g. MobilityPrint.
8. Click Update.
Each Real Server must be configured to accept packets destined for both the VIP address and the Real
Server’s IP address (RIP). This is because in DR mode the destination address of load balanced packets is
the VIP address, whilst for other traffic such as health checks, administration traffic etc. it’s the Real Server’s
Each Real Server must be configured so that it does not respond to ARP requests for the VIP address – only
the load balancer should do this.
Configuring the Real Servers in this way is referred to as "Solving the ARP problem". The steps required depend on
the OS used as detailed in The ARP Problem - Detecting It and Solving It.
2. Define the required Label (name) for the VIP, e.g. Papercut_WUI.
3. Set the Virtual Service IP address field to the required IP address, e.g. 172.24.11.38.
12. In the Request to send field, input the application server health monitoring authorization key which can be
found in the HTTP header:
/api/health/application-server/status?disk-threshold-mb=1&Authorization=<AUTHORIZATION KEY>
The HTTP header can be found in the Application server under Web user interface > Options > Advanced.
4. Change the Real Server IP Address field to the required address, e.g. 172.24.11.36.
5. Click Update.
2. Define the required Label (name) for the VIP, e.g. Print_Provider.
3. Set the Virtual Service IP address field to the required IP address, e.g. 172.24.11.38.
4. Change the Real Server IP Address field to the required address, e.g. 172.24.11.39.
5. Click Update.
In the next section, "Configuring VIP 3 – PaperCut Mobility Print", we will make use of the
Duplicate Service button to retain the configuration including the added real servers. We will
then need to amend the configuration with a new label and IP address accordingly, while other
configuration items, such as added real servers, will be retained.
2. Click the Duplicate Service located in the top right of the menu.
3. Define the required Label (name) for the VIP, e.g. MobilityPrint.
8. Click Update.
2. Define the required Label (name) for the VIP, e.g. Papercut_WUI.
11. In the Request to send field put the application server health monitoring authorization key which can be
found in the HTTP header:
/api/health/application-server/status?disk-threshold-mb=1&Authorization=<AUTHORIZATION KEY>
The HTTP header can be found in the Application server under Web user interface > Options > Advanced.
4. Change the Real Server IP Address field to the required address, e.g. 172.24.11.36.
5. Click Update.
2. Define the required Label (name) for the VIP, e.g. Print_Provider.
3. Set the Virtual Service IP address field to the required IP address, e.g. 172.24.11.38.
9. Click Update.
In the next section, "Configuring VIP 3 – PaperCut Mobility Print", we will make use of the
Duplicate Service button to retain the configuration including the added real servers. We will
then need to amend the configuration with a new label and IP address accordingly, while other
configuration items, such as added real servers, will be retained.
3. Define the required Label (name) for the VIP, e.g. MobilityPrint.
6. Under Health Checks click Advanced and set Check Port to 9163.
7. Click Update.
2. Install the Print and Document Service role / Print Server service.
3. Install & share the printers (use the same share names and permissions across all servers).
1 Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Value: DisableLoopbackCheck
Type: REG_DWORD
Data: 1
2 Key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameter
s
Value: DisableStrictNameChecking
Type: REG_DWORD
Data: 1
3 Key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameter
s
Value: OptionalNames
Type: REG_MULTI_SZ
Data: PapercutPrintService
2. Create a DNS record for the share name, in this example: PapercutPrintService → 172.24.11.38.
On your print server, open: Administrative Tools > Printer Management.
Right-click Print Servers and enter the name for your load balanced print server (e.g.
PapercutPrintService) and click OK.
Expand the Printers section.
Right click the printer you want to deploy, and click Deploy with Group Policy.
Select the relevant GPO and configure the remaining settings according to your requirements.
PaperCut NG and MF have a fantastic feature called Print Deploy which makes deployment of
print queues out to end users workstations super simple. For further details please see the
Papercut Help Center.
You should now be able to access your printers by browsing using either the Virtual Service IP address, or the
share name. In this example:
\\172.24.11.38
or
\\PapercutPrintService
For more details on testing & diagnosing load balanced services please refer to Testing Load
Balanced Services.
Test if the active server is handling traffic. Attempt to load the PaperCut NG/MF admin web
interface using the IP or hostname of the server that
you want to test—not the IP/hostname of the NLB. If
the server is in the active state, you will see the
PaperCut login page.
Test if the passive server is ready to pick up the load. Attempt to load the Admin web interface using the IP
or hostname of the server that you want to test—not
the IP/hostname of the NLB. If the server is in the
passive state, you will see a page that looks like this:
Test if a device is connected via the NLB. Change the IP/hostname that the device is configured
with to be the IP of the Network Load Balancer and
restart the device. If the device connects, the NLB is
correctly handling the traffic.
Test if secondary components (user client, secondary Change the configured IP and restart (same process as
server, etc.) are connected to the NLB. above).
For Enterprise Azure, the HA pair should be configured first. For more information, please refer
to the Azure Quick Start/Configuration Guide available in the documentation library
The clustered HA pair uses Heartbeat to determine the state of the other appliance. Should the active device
(normally the Primary) suffer a failure, the passive device (normally the Secondary) will take over.
Non-Replicated Settings
A number of settings are not replicated as part of the Primary/Secondary pairing process and therefore must be
manually configured on the Secondary appliance. These are listed by WebUI menu option in the table below:
Local Configuration Network Interface Interface IP addresses, bonding configuration and VLANs
Configuration
Local Configuration System Date & time Time and date related settings
1. Deploy a second appliance that will be the Secondary and configure initial network settings.
2. Using the WebUI on the Primary appliance, navigate to: Cluster Configuration > High-Availability
Configuration.
3. Specify the IP address and the loadbalancer user’s password for the Secondary (peer) appliance as shown in
the example above.
Clicking the Restart Heartbeat button on the Primary appliance will also automatically restart
heartbeat on the Secondary appliance.
For more details on configuring HA with 2 appliances, please refer to Appliance Clustering for
HA.
For details on testing and verifying HA, please refer to Clustered Pair Diagnostics.
If it is, this is normally a good indication that the ARP problem has not been correctly solved.
Modifying the server’s ARP behavior and adding the relevant VIP addresses to the loopback interface
Using NAT to convince the server to accept and reply to packets addressed to the relevant VIP addresses
Four independent methods are described below along with instructions. Each method follows one of the two
approaches above. The specific method chosen will depend on technical requirements, the Linux distribution in
use, and personal preferences.
The first method involves setting kernel parameters to alter the server’s ARP behavior and adding IP addresses to
the loopback interface. This method should be universally applicable to any Linux server making this the
preferred method.
If setting kernel parameters and adding IP addresses is not possible for some reason, the remaining three
methods describe setting up a server for DR mode operation by using NAT via the redirect target/statement. The
specific instructions depend on the packet filtering framework and tooling in use, which varies between Linux
distributions. Methods are presented for iptables, nftables, and the firewall-cmd tool.
Each real server needs the loopback interface to be configured with the virtual IP addresses (VIPs) of the relevant
load balanced services. This is often just a single VIP address, but the logic described below can be extended to
cover multiple VIPs on a server. Having the VIPs on the loopback interface allows the server to accept inbound
load balanced packets that are addressed to a VIP.
The server must not respond to ARP requests for the VIP addresses. The server also must not use ARP to
announce the fact that it owns the VIP addresses. This is necessary to prevent IP address conflicts, as all of the
real servers and the load balancer will own the VIP addresses. Only the load balancer should announce ownership
of the VIPs.
To configure the behavior described above, follow all of the steps below on each real server.
Add the following lines to the file /etc/sysctl.conf (create this file if it does not already exist):
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.eth0.arp_ignore=1
net.ipv4.conf.eth1.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.eth0.arp_announce=2
net.ipv4.conf.eth1.arp_announce=2
For reference, the effect of these kernel parameter changes on the server is as follows:
arp_ignore=1: This configures the server to only reply to an ARP request if the request’s
target IP address is local to the incoming interface. This can never be true for VIP
addresses on the loopback interface, as the loopback interface can never be an incoming
interface for ARP requests from other devices. Hence, ARP requests for VIP addresses are
always ignored.
arp_announce=2: This prevents the server from sending an ARP request out of an
interface A where the ARP request’s sender/source address is stated to be an IP address
that is local to some other interface B. For example, this prevents the server from sending
an ARP request from a VIP address (which is local to the loopback interface) out of eth0,
which would announce that the server owns the VIP address.
Add the following lines to the file /etc/sysctl.conf (create this file if it does not already exist):
net.ipv6.conf.lo.dad_transmits=0
net.ipv6.conf.lo.accept_dad=0
For reference, the effect of these kernel parameter changes on the server is as follows:
dad_transmits=0: This prevents a given interface from sending out duplicate address
detection probes in order to test the uniqueness of unicast IPv6 addresses. Any IPv6 VIP
addresses will not be unique, so this mechanism is disabled.
accept_dad=0: This prevents a given interface from accepting duplicate address
detection messages. This prevents any IPv6 VIP addresses from being marked as
duplicate addresses.
/sbin/sysctl -p
Steps 1, 2, and 3 can be replaced by instead modifying the necessary kernel variables by writing
directly to their corresponding files under /proc/sys/. Note that changes made in this way will
not persist across reboots.
Execute the following commands (as root) to implement these temporary changes (adapting the
number of interfaces and interface names as needed):
As an alternative, the ip command can be used as a universal way to add IP addresses to any Linux server. Note
that addresses added in this way will not persist across reboots. To make these addresses permanent, add the
ip commands to an appropriate startup script such as /etc/rc.local.
To check that the VIPs have been successfully added, execute the command:
ip addr ls
To remove an IPv4 VIP from the loopback adapter, execute the command:
To remove an IPv6 VIP from the loopback adapter, execute the command:
Execute the following command to put the necessary iptables rule in place to redirect traffic for a single IPv4 VIP
address. Note that iptables rules added in this way will not persist across reboots. To make such a rule
permanent, either add the rule to an iptables firewall script, if one is provided with the Linux distribution in
question, or add the command to an appropriate startup script such as /etc/rc.local on each real server.
The VIP address should be changed to match the virtual service in question, for example:
The example above will redirect any incoming packets destined for 10.0.0.21 (the virtual service) locally, i.e. to the
primary address of the incoming interface on the real server.
If a real server is responsible for serving multiple VIPs then additional iptables rules should be added to cover
each VIP.
For an IPv6 VIP address, a command like the following should be used:
The VIP address should be changed to match the virtual service in question, for example:
Method 2 may not be appropriate when using IP-based virtual hosting on a web server. This is
because an iptables REDIRECT rule will redirect incoming packets to the primary address of the
incoming interface on the web server rather than any of the virtual hosts that are configured.
Where this is an issue, use method 1 instead.
nftables can be used on each real server to identify incoming packets that are addressed to a virtual IP address
(VIP) and redirect those packets to the server itself. This is achieved using the redirect statement in nftables,
which performs the necessary NAT to make this possible. This allows a real server to accept packets addressed
to a VIP without the server owning the VIP.
Use a script like the following to put the necessary nftables structures in place to redirect traffic for both IPv4 and
IPv6 VIP addresses. To make such a configuration permanent, either add the inet nat table to an nftables
firewall script, if one is provided with the Linux distribution in question, or configure a script like the following to
#!/usr/sbin/nft -f
The VIP addresses and comments should be changed to match the virtual services in question, for example:
#!/usr/sbin/nft -f
The example above will redirect any incoming packets destined for 10.0.0.21 or 2001:db8::10 (the virtual services)
locally, i.e. to the primary address of the incoming interface (for each IP version) on the real server.
Note that Linux kernels prior to 5.2 may not support performing NAT (which is required for the redirect
statement) in an inet family table. In this scenario, use either an ip or an ip6 family table instead, or both if a
mixture of IPv4 and IPv6 VIPs are in use on the same server. Also note that older kernels may not support the use
of comments in chains.
Note that Linux kernels prior to 4.18 require explicitly registering both prerouting and postrouting chains in order
for the implicit NAT of the redirect statement to be correctly performed in both the inbound and outbound
directions.
#!/usr/sbin/nft -f
table ip nat {
chain prerouting {
type nat hook prerouting priority -100; policy accept;
ip daddr 10.0.0.21 counter redirect comment "VIP 1: HTTP"
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
}
}
Method 3 may not be appropriate when using IP-based virtual hosting on a web server. This is
because an nftables redirect statement will redirect incoming packets to the primary address of
the incoming interface on the web server rather than any of the virtual hosts that are configured.
Where this is an issue, use method 1 instead.
The VIP address should be changed to match the virtual service in question, for example:
To apply the new configuration, reload the firewall rules like so:
firewall-cmd --reload
Configuration applied in this way will be permanent and will persist across reboots.
Method 4 may not be appropriate when using IP-based virtual hosting on a web server. This is
because an iptables REDIRECT rule will redirect incoming packets to the primary address of the
incoming interface on the web server rather than any of the virtual hosts that are configured.
Where this is an issue, use method 1 instead.
You’ll need to add this to the startup scripts on all of your Real Servers.
Don’t forget that the service on the Real Servers needs to listen on both the RIP address and VIP
address as mentioned previously. Failure to correctly configure the Real Servers to handle the
ARP problem is the most common mistake in DR mode configurations.
In addition, the strong/weak host behavior must be configured on each Real Server. The weak host model allows
packets with any IP to be sent or received via an interface. The strong host model only allows packets with an IP
belonging to the interface to be sent or received.
The following 3 steps must be completed on all Real Servers associated with the VIP.
3. Select Install the hardware that I manually select from a list (Advanced), click Next.
You can configure IPv4 or IPv6 addresses or both depending on your requirements.
IPv4 Addresses
1. Uncheck all items except Internet Protocol Version 4 (TCP/IPv4) as shown below:
192.168.2.20 is an example, make sure you specify the correct VIP address.
If a Real Server is included in multiple DR mode VIPs, an IP address for each VIP must be
3. Click OK then click Close to save and apply the new settings.
IPv6 Addresses
1. Uncheck all items except Internet Protocol Version 6 (TCP/IPv6) as shown below:
2. Ensure that Internet Protocol Version (TCP/IPv6) is selected, click Properties and configure the IP address
to be the same as the Virtual Service (VIP) and set the Subnet Prefix Length to be the same as your network
setting, e.g. 2001:470:1f09:e72::15/64 as shown below:
If a Real Server is included in multiple DR mode VIPs, an IP address for each VIP must be
added to the Loopback Adapter.
3. Click OK then click Close to save and apply the new settings.
Option 1 - Using network shell (netsh) commands
Option 2 - Using PowerShell cmdlets
The commands in this section assume that the LAN Adapter is named "net" and the Loopback Adapter is named
"loopback" as shown in the example below:
Either adjust the commands to use the names allocated to your LAN and loopback adapters, or
rename the adapters before running the commands. Names are case sensitive so make sure
To configure the correct strong/weak host behavior run the following commands:
When all associated Real Servers have failed their health check
When all associated Real Servers have been taken offline via the WebUI
Using a separate server to host the fallback page
Using a Layer 7 VIP
The local fallback server is an NGINX instance that by default listens on port 9081.
If a layer 4 VIP is added that listens on port 80, NGINX is automatically configured to listen on
ports 9081 & 80.
You can use any valid HTML for the default page, simply copy and paste the required HTML into
the Fallback Page.
If you are using the load balancer for your holding page and your Real Servers are all offline then
the local NGINX server is exposed to hacking attempts. If you are concerned about this you can
change the fallback server to be one of your internal servers.
1.0.2 19 June 2020 Updated screenshots and hyperlinks Required content IBG
updates
Added additional ports for the Papercut
Web User Interface service
1.0.3 26 June 2020 Removed fallback server configuration Required content IBG
updates
Replaced system overview image
1.0.4 29 June 2020 Updated Papercut product information Required content IBG, AH
updates
Document title and filename change
Differentiating the
"Version 19 and
earlier" document
from the new
"Version 20"
PaperCut document
1.0.5 10 August 2020 Updated loopback adaptor settings Incorrect loopback IBG
adaptor
configuration
1.0.6 16 October 2020 Added Layer 7 SNAT configuration Required for multi- IBG
site configuration
Added Fallback Server configuration
1.1.0 1 January 2022 Converted the document to AsciiDoc Move to new AH, RJC, ZAC
documentation
system
1.1.1 28 September 2022 Updated layer 7 VIP and RIP creation Reflect changes in AH
screenshots the web user
interface
About Loadbalancer.org