For mobile applications such as software demonstrations, a single laptop or notebook computer is used as both the FLEXnet license server and client. However, laptops and notebooks usually employ the DHCP protocol, in which the IP address is always changing. This causes the FLEXnet license check out to fail, and the licensed software will not run.
Here I present a system configuration that allows FLEXnet to work with DHCP connected to different networks, or connected to no network at all. This configuration is tested on Red Hat Enterprise Linux 3.0 and 5.0.
DHCP Protocol
The Dynamic Host Configuration Protocol (DHCP) is an Internet protocol for automating the network configuration of computers. The DHCP server automatically assign IP addresses, the subnet mask and default router, and provides other configuration information such as the addresses for printer, time and news servers. A computer using DHCP can easily connect to any network that has a DHCP server. It is therefore very popular on laptop computers.
Acresso FLEXnet (formerly Macrovision FLEXlm)
The Acresso FLEXnet license manager is a popular license manager that supports floating licenses. Using TCP/IP, client machines access a license server to check out and check in licenses to run software. This works well when the license server has a static IP address.
The FLEXnet End User Licensing Guide is very useful. For some reason, the Acresso web site is the only place you cannot get this manual. So just search the Internet for “FLEXnet End User Licensing Guide”, and take your pick.
What Goes Wrong with FLEXnet and DHCP
Laptop computers usually employ the DHCP protocol, in which the IP address is always changing. When the laptop is not connected to a network, it will often have no IP address at all. This makes FLEXnet unable to find the vendor daemon on the network via TCP/IP, even though it is actually running right there on the same machine.
The purpose of the localhost loopback in /etc/hosts is to enable the machine to talk to itself over the network, no matter what the network configuration. This seems like the perfect solution, but merely specifying localhost (or 127.0.0.1) in the FLEXnet license file does not work.
SERVER localhost 000205AB3F60 17000 # Incomplete solution
The FLEXnet license manager daemon, lmgrd, at some point still tries to use the real host name. When the real name is looked up in /etc/hosts and DNS, it will most likely be missing or have an IP address different from the IP address assigned by DHCP, so the vendor daemon cannot be found, and license check out will fail.
The Solution
The solution is to add the machine’s real name to /etc/hosts as an additional loopback.
For example, suppose that a laptop using DHCP is named goon. It has its own floating license, and is therefore the license server. In the /etc/hosts file, define a loopback for the name goon:
127.0.0.1 localhost loghost # Always present
127.0.0.1 goon goon.voom.net # Added for FLEXnet
#
# Do not forget to remove any existing entry for goon!
### 192.168.1.4 goon goon.voom.net
#
# Continue with any other host entries…
The FLEXnet license file should contain the real host name, as usual:
SERVER goon 000205AB3F60 27000
Now, no matter what DHCP does, the IP address of the FLEXnet license server is 127.0.0.1.
With DHCP, you may never have to change your network configuration, even when your laptop is not connected to any network. If you do need to change configurations, the Red Hat Linux Network Configuration tool (System Settings > Network or system-config-network) can help you. This tool saves each network configuration in a “profile”. When you switch profiles, it restores the previously-saved network configuration, including the /etc/hosts file.
FLEXnet uses the MAC address of your first network device (usually Ethernet interface eth0) to identify the server hardware. This network interface must be active when the FLEXnet license daemon lmgrd starts.
{ 0 comments… add one now }