Site Tools


retain_dhcp_lease_info_after_a_reboot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
retain_dhcp_lease_info_after_a_reboot [2023/06/08 06:28] – [Method 1: Store the lease database on permanent storage] -format hogwildretain_dhcp_lease_info_after_a_reboot [2023/08/15 18:32] (current) – [Method 2: Copying the lease database to permanent storage at halt time] petervdm
Line 12: Line 12:
  \\  \\
  
-  - Under Advanced, go to to [[:advanced-dhcpdns|DHCP/DNS]] menu. In the //Dnsmasq Custom configuration// field, enter: \\ \\ <code ->+  - Under Advanced, go to the [[advanced-dhcpdns|DHCP/DNS/TFTP]] menu. In the //Dnsmasq Custom configuration// field, enter: \\ \\ <code ->
 dhcp-leasefile=/mnt/usb/dnsmasq/dnsmasq.leases dhcp-leasefile=/mnt/usb/dnsmasq/dnsmasq.leases
-</code>+</code> \\ 
   - Use a path relative to your own system.  Click Save. \\ \\    - Use a path relative to your own system.  Click Save. \\ \\ 
-  - Using permanent storage means client devices won't lose connectivity if the router reboots. Because the lease database is not stored in RAM, a reboot won't erase it. This can be useful, for example, when devices are connected to a switch. Moreover, clients won't display in the [[device_list|Device List]] as having an active lease until their current lease expires, and they've requested a new one. FreshTomato will just continue where if left off. \\ \\   +  - Using permanent storage means client devices won't lose connectivity if the router reboots. Because the lease database is not stored in RAM, a reboot won't erase it. This can be useful, for example, when devices are connected to a switch. Moreover, clients won't display in the [[status-devices|Device List]] as having an active lease until their current lease expires, and they've requested a new one. FreshTomato will just continue where if left off. \\ \\   
-  - You will notice that the example points to a USB device labelled "usb". You might have a different name on your system, depending on how the storage was formatted. This also means you can store the data on other permanent storage media, such as a CIFS share. However, for such configurations, it is not wise to use JFFS. This is because JFFS is not recommended for frequent writes (which in this case, would occur every time a new IP is sent).+  - Notice that the example points to a USB device labelled "usb". You might have a different name on your system, depending on how storage was formatted. This also means you can store the data on other permanent media, like a CIFS share. However, for such configurations, it is not wise to use JFFS. JFFS is not recommended for frequent writes (which in this case, would occur every time a new IP is sent).
  
  
Line 24: Line 24:
 \\ The second approach is to keep the lease database in its default location and copy it to permanent storage at "halt" time. It is later restored when the init process runs during boot. \\ The second approach is to keep the lease database in its default location and copy it to permanent storage at "halt" time. It is later restored when the init process runs during boot.
  
- \\ \\ For example, in the //Administration///[[admin-scripts|Scripts]] menu, in the Init field, enter:\\+ \\ \\ For example, in the Init field in the [[admin-scripts|Scripts]] menu, enter:\\
  
 <code -> <code ->
 [ -f /mnt/usb/dnsmasq.leases ] && { [ -f /mnt/usb/dnsmasq.leases ] && {
- sort -b -k 2 -u -z /tmp/var/lib/misc/dnsmasq.leases > /tmp/dnsmasq.tmp1 +sort -b -k 2 -u -z /tmp/var/lib/misc/dnsmasq.leases > /tmp/dnsmasq.tmp1 
- sort -b -k 2 -u -z /mnt/usb/dnsmasq.leases > /tmp/dnsmasq.tmp2 +sort -b -k 2 -u -z /mnt/usb/dnsmasq.leases > /tmp/dnsmasq.tmp2 
- diff -a /tm +diff -a /tmp/dnsmasq.tmp1 /tmp/dnsmasq.tmp2 | grep -E '^>' | sed 's/^>\ //' >> /tmp/var/lib/misc/dnsmasq.leases 
- kill -HUP `ps | grep  +kill -HUP `ps | grep -E [d]nsmasq | awk '{ print $1 }'` 
- rm /tmp/dnsmasq.tmp1 +rm /tmp/dnsmasq.tmp1 
- rm /tmp/dnsmasq.tmp2+rm /tmp/dnsmasq.tmp2 
 +rm -f /mnt/usb/dnsmasq.leases
 } }
 </code> </code>
Line 41: Line 42:
  \\  \\
  
-In the same menu, in the Halt field, enter:\\+in the //Halt// field In the [[admin-scripts|Scripts]] menu, enter:\\
  
 <code -> <code ->
Line 51: Line 52:
  \\  \\
  
-The second method can be used with any storage including JFFS.  included, where for USB (onlyan alternative is to performed the save/copy within the ''Run after mounting/Run before unmounting'' on the [[nas-usb|USB page]] instead than the generic script section.+Method 2 can be used with any type of storageincluding JFFS. When using method 2 only with USB, an alternative is to enter the former set of configuration lines into the //Run after mounting// field and the latter set of lines in the //Run before unmounting// fields in the [[nas-usb|USB Support]] menu.
  
  \\  \\
retain_dhcp_lease_info_after_a_reboot.1686202085.txt.gz · Last modified: 2023/06/08 06:28 by hogwild