DHCP shows me leases. What shows me the Static IPs I have?

I have IPF running and I have a short list of systems where I want them to have a static IP. I have fixed them for that. But how do I get them to show in any list like the DHCP page(s)?

Why do I have these? Well, I like to know exactly where my File Server is so I can use its browser interface as one instance. Another is my VOIP “server”, so I can do special rules for it. Please forgive me if I don’t get back to this quickly. I’m juggling too many items this week.

1 Like

If you have set them as static IP’s on the client itself then this will not show up automatically anywhere on IPFire.

For machines that I have that have dhcp clients that sometimes do weird things, I set them with a static IP. I then enter those details, MAC and IP, into the Fixed Leases section of the IPFire DHCP WUI page but disabled. This means that I have visibility of any static IP’s that I have set and won’t define duplicates. I also make sure that those static IP’s are outside of the IPFire Dynamic range that I have defined.

An alternative approach is to define thos machines in the Fixed Leases section of the IPFire DHCP WUI page. Then the IP is provided by IPFire but is always the same IP so is the equivalent of a static IP.
That is what I have for all my machines, even laptops. The only machines that get dynamic IP’s are guests on my Blue network. As mentioned above the only machines I have with a fixed IP are a couple of switches with misbehaving dhcp clients and a dhcp server that I run on my Orange DMZ network.

1 Like

Obviously I didn’t give enough info. In looking at “Network” DHCP Server panel, I was not seeing the assigned static addresses. It was empty. Now this morning two of them are showing (2 that I now have up and running).

I wonder if this only shows if those devices are up and running? In other systems I have used, anything defined as static showed the mac and address it would use, whether those systems were running or not.

Does IPF’s DHCP logic also check to see if those devices ask for an IP (lease end)? I do not have them set to a specific address internally. I have them do this as if going for a lease. Curiosity questions trying to understand IPF better.

The DHCP Fixed Leases table

only shows entries that you enter into the MAC Address and IP Address boxes and then press the Add button. If you just set your clients with static IP’s then IPFire will not pick up that those IP’s have been assigned.

Are they showing up in the table named Current fixed leases or in the table named Current dynamic leases?

The Current fixed leases table shows the leases you have defined, whether the involved machines are turned on or not.

1 Like

Static IPs ( defined on the client ) don’t show up on the DHCP page. They aren’t handled by dhcpd.

But they are recognized by dhcpd!
Short description of the DHCP process:

  • a device with MAC x requests an IP
  • dhcpd searches the fixed leases list for MAC x
    if there is an entry (MAC x, IP y ), device gets an response with IP y
  • otherwise, select an unused IP z out of the pool { start_addr … end_addr }
    check whether z is used by a device ( ping z ),
    if not used give device IP z
    else select another IP and repeat

During this process static IPs show up ( if the device is active ), but aren’t saved anywhere.
Because of this detection process using ping you should not chose IPs from the dynamic IP set for static or fixed leases IPs.


First: I really do appreciate the patience and the answers. I’ve been on a forced conversion from Untangle to IPF. So, every product has its own idiosyncrasies and way of handling things.

Second: Sorry, I’m still not being precise enough in my answers for all of you.

  1. I defined my DHCP range and know that my "statically defined IP address have to be outside of that range.
    2 I have only a few systems I want to have static addresses, and I want them to be assigned to them so that as I do upgrades (Suse LEAP xx to yy) they continue to get the “correct” address.

  2. I defined them as static with mac and IP address and did “add” them.

  3. I know not to look for them under the DHCP controlled leases (address range).

  4. For whatever reason, initially, the static IP address area was empty. Now maybe I needed to recycle IFP (I hate windows type behavior). But, once I had done this, I went off working on other stuff and then came back to this last night.

So some of my questions are curiosity in trying to understand this Firewall system and how I can make better use of it. And do a better job of asking questions.

But I think for now things are working as I expect. My next problem is, how can I simply migrate this server to another server as in clone it. I am making a back up machine … I will open a different subject in the appropriate area for this. Just letting you know where I’m going next. I always try to have a backup ready to go. You never know when a power supply will fail, or an ethenet adapter card will die… sigh.

You have defined “fixed leases”?
With ‘well-behaving systems’ ( see Adolf’s post ) this is the best way to define static IPs in a DHCP environment.

This works with fixed leases. See former posts.

Then they should show up in the fixed leases table. ( Spoiler: in further versions without flagging )

The page should refresh automatically. And dhcpd is restarted after each definition editing.

I have 8 devices that I have assigned fixed addresses on in IPFire DHCP Current fixed leases entries and nowhere else, not on the machines nor on the switch.

Works excellent.

I even added a couple of them to IPFires Host entries so I can call them by their name and can forget about them IP’s all together for non savvy people, like the wife. :sweat_smile:

1 Like

maybe i can help future readers from getting confused :clown_face:
one can get the feeling that there is no quite clear separation between
three very different things:

  • a static ip-address configured on a non-dhcp-client
    [this address really should be outside the dhcp servers addresspool]
  • a fixed ip-address-lease to a dhcp-client
    [preconfigured ip-address from pool leased and managed by dhcp server]
  • a dynamic ip-address-lease to a dhcp-client
    [random/available ip-address from pool leased and managed by dhcp server]

the 1st must not be added on dhcp page in any way.
the place to ‘configure’ these is wiki.ipfire.org - Edit Hosts
and one can only ‘see/view’ these static clients on that page manually maintained :mechanical_arm:

2nd and 3rd are managed/shown on wiki.ipfire.org - DHCP Server

and dont forget to check this out wiki.ipfire.org - wio :tada:

That is incorrect. You can add them to the page but with the checkbox disabled.

This way the information on those static leases is recorded on the DHCP WUI page.

Any entries in the fixed leases tables that are disabled are not included into the
file but they are included in the
file which is what is shown in the table on the wui dhcp page.

As mentioned in my post 2 in this thread, I do this for devices whose dhcp clients don’t play correctly all the time. I also include all the fixed leases I have on my orange dmz zone in the table, even though they are outside the green/blue subnets. They must not be enabled but again can be useful as a single point of record of all fixed leases on the network.

That way you can keep a record of all fixed leases, however created, on that wui page. The only thing you need to remember is not to enable the checkbox for those entries that are using ip’s defined statically on the client or where the ip’s are outside the green/blue subnets.

If you have those entries in the table then if later on a new entry is made with the same mac address as one already used it will be flagged up, so giving you a warning that something has been done incorrectly.
If a new entry is made with the same ip address as one already used elsewhere in the table then the ip address will be shown in bold indicating that you have created a duplicate. That can be useful if a replacement machine is being configured that will have the same ip address as an existing one but with a new mac address. Then original entry is enabled and the other disabled until it is time to swap over.


your description is just a dirty workaround. see that in your post,
static adressed and fixed leases are mixed up again :face_with_spiral_eyes:

it is totally correct that static adresses from configured non-dhcp-clients
can be also added as a dirty workaround to the fixed-leases of the dhcp servers
addresspool. :crazy_face:
however these static addresses wont turn fixed-leases …

so to not start a fundamental dhcp war:
yes one can mess up the dhcp table by manually adding entries :see_no_evil:

I do not want to start a fundamental DHCP/IP addressing discussion.
Nevertheless a few annotations.

  • IP addresses in an IP network must be assigned according to a well-documented design.
  • Most devices are ‘well-behaving’, so it is possible to use DHCP for address assignment.
  • For usability it is preferable to define fixed IPs for known devices ( fixed leases in IPFire terminology ).
  • For unknown devices ( guests or new devices ) the DHCP server should choose an unused IP ( dynamic lease ).
  • IPFire uses the ISC DHCP server with host definitions and one dynamic pool. Due to the selection process for dynamic leases ( well documented in the dhcpd docs ) the sets of fixed IPs ( hosts and static definitions ) and dynamic IPs must be disjoint.
  • The set of IPs of a network consists of the following disjoint subsets
    – network address and broadcast address ( not usable for devices )
    – static assignments ( defined outsided the system and set manually )
    – fixed leases ( defined in the WUI page )
    – dynamic leases ( defined in the WUI page )
  • A principle in IPFire is the config most by the WUI.
    This configuration is held in own settings files. These files are used to generate the real config files.
    Usually only enabled definitions are put into these ‘system config’ files.
  • Therefore @bonnietwin’s suggestion is a good means to document the networks at one place. The only subset missing is { net address, broadcast address }, but this should be clear by definition.