{"id":4,"date":"2014-09-04T20:01:17","date_gmt":"2014-09-04T20:01:17","guid":{"rendered":"http:\/\/www.dhcpserver.de\/cms\/?page_id=4"},"modified":"2014-09-13T14:03:23","modified_gmt":"2014-09-13T12:03:23","slug":"ini_file_reference","status":"publish","type":"page","link":"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/","title":{"rendered":"INI file reference"},"content":{"rendered":"<h3><strong>Entries in the [Settings] section<\/strong><\/h3>\n<ul class=\"lcp_catlist\" id=\"lcp_instance_0\"><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/addstandardentries\/\" class=\"lcp_title\">AddStandardEntries<\/a><div class=\"lcp_content\"><p>AddStandardEntries is a new setting in V2.3.4.<\/p>\n<pre class=\"textbox\">[Settings]\r\nAddStandardEntries=1  ; Default: 1<\/pre>\n<p>It allows to control the behaviour of the DHCP Server with respect to DNS_x, WINS_x and ROUTER_x entries in the replies from the server to the client. The default behaviour (AddStandardEntries=1) is to automatically add the standard values from the Windows configuration to the reply message. This is convenient, because it makes it unneccessary to repeat all the DNS_x, WINS_x and ROUTER_x settings that were already made in Windows IP configuration. If the server should not take the standard values from Windows, then set AddStandardEntries=0.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/addstandardentries\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/associatebindstopools\/\" class=\"lcp_title\">AssociateBindsToPools<\/a><div class=\"lcp_content\"><p>Associate the IP pools with the respective IP binds.<\/p>\n<pre class=\"textbox\">[Settings]\r\nAssociateBindsToPools=1  ; Default : 0<\/pre>\n<p>If the DHCP Server is configured to use more than one NIC with a separate subnet each (see Example 3 in the overview) then this entry associates the IPPOOL_x with the IPBIND_x. The two entries with the same number \u201cx\u201d belong together. Clients on subnet IPBIND_x get IP addresses assigned only from the pool defined by IPPOOL_x.<br \/>\nThe default behavior (AssociateBindsToPools=0) is to view all IPPOOL_x as one big pool of IP addresses which can be assigned to any client regardless of the subnet IPBIND_x.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/associatebindstopools\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/balloontimeformat\/\" class=\"lcp_title\">BalloonTimeFormat<\/a><div class=\"lcp_content\"><p>Specifies the time and date format used in balloon messages. The default is %b %d, %H:%M.<\/p>\n<pre class=\"textbox\">[Settings]\r\nBalloonTimeFormat=        ; Default: %b %d, %H:%M<\/pre>\n<p>This feature was an added in V2.9.2.0.<br \/>\nThe format supports the following (strftime style) sepcifications:<\/p>\n<table>\n<tr>\n<td>%a<\/td>\n<td>Abbreviated weekday name<\/td>\n<\/tr>\n<tr>\n<td>%A<\/td>\n<td>Full weekday name<\/td>\n<\/tr>\n<tr>\n<td>%b<\/td>\n<td>Abbreviated month name<\/td>\n<\/tr>\n<tr>\n<td>%B<\/td>\n<td>Full month name<\/td>\n<\/tr>\n<tr>\n<td>%c<\/td>\n<td>Date and time representation appropriate for locale<\/td>\n<\/tr>\n<tr>\n<td>%d<\/td>\n<td>Day of month as decimal number (01 \u2013 31)<\/td>\n<\/tr>\n<tr>\n<td>%H<\/td>\n<td>Hour in 24-hour format (00 \u2013 23)<\/td>\n<\/tr>\n<tr>\n<td>%I<\/td>\n<td>Hour in 12-hour format (01 \u2013 12)<\/td>\n<\/tr>\n<tr>\n<td>%j<\/td>\n<td>Day of year as decimal number (001 \u2013 366)<\/td>\n<\/tr>\n<tr>\n<td>%m<\/td>\n<td>Month as decimal number (01 \u2013 12)<\/td>\n<\/tr>\n<tr>\n<td>%M<\/td>\n<td>Minute as decimal number (00 \u2013 59)<\/td>\n<\/tr>\n<tr>\n<td>%p<\/td>\n<td>Current locale\u2019s A.M.\/P.M. indicator for 12-hour clock<\/td>\n<\/tr>\n<tr>\n<td>%S<\/td>\n<td>Second as decimal number (00 \u2013 59)<\/td>\n<\/tr>\n<tr>\n<td>%U<\/td>\n<td>Week of year as decimal number, with Sunday as first day of week (00 \u2013 53)<\/td>\n<\/tr>\n<tr>\n<td>%w<\/td>\n<td>Weekday as decimal number (0 \u2013 6; Sunday is 0)<\/td>\n<\/tr>\n<tr>\n<td>%W<\/td>\n<td>Week of year as decimal number, with Monday as first day of week (00 \u2013 53)<\/td>\n<\/tr>\n<tr>\n<td>%x<\/td>\n<td>Date representation for current locale<\/td>\n<\/tr>\n<tr>\n<td>%X<\/td>\n<td>Time representation for current locale<\/td>\n<\/tr>\n<tr>\n<td>%y<\/td>\n<td>Year without century, as decimal number (00 \u2013 99)<\/td>\n<\/tr>\n<tr>\n<td>%Y<\/td>\n<td>Year with century, as decimal number<\/td>\n<\/tr>\n<tr>\n<td>%z, %Z<\/td>\n<td>Time-zone name or abbreviation; no characters if time zone is unknown<\/td>\n<\/tr>\n<tr>\n<td>%%<\/td>\n<td>Percent sign<\/td>\n<\/tr>\n<\/table>\n<p>Specify an empty BalloonTimeFormat=, in case no timestamp shall be shown in the balloon message.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/balloontimeformat\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/clearclientsonstartup\/\" class=\"lcp_title\">ClearClientsOnStartup<\/a><div class=\"lcp_content\"><p>Setting ClearClientsOnStartup=1 basically removes all clients from the INI file every time the DHCP Server is started. <\/p>\n<pre class=\"textbox\">[Settings]\r\nClearClientsOnStartup=1  ; Default : 0<\/pre>\n<p>This is not recommended in general usage but might be useful in special cases.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/clearclientsonstartup\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/configureunknownclients\/\" class=\"lcp_title\">ConfigureUnknownClients<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\n<b>ConfigureUnknownClients=1<\/b>  ; Default: 1<\/pre>\n<p>ConfigureUnknownClients is available since V1.7. Setting this to 1 tells the DHCP server to automatically configure unknown clients. Since this is the default, there is no change to previous versions. If ConfigureUnknownClients is set to 0, then a client is assigned an IP address only if the client is already specified in the INI file. Note: Important difference to IgnoreUnknownClients. IgnoreUnknownClients only controls how the DHCP Server behaves when no IP address is assigned (declining request or keep quiet). What makes a client a &#8220;known client&#8221; is an existing entry in the INI file such as:<\/p>\n<pre class=\"textbox\">\r\n[00-01-02-03-04-05] ; mac address\r\nAutoConfig=1<\/pre>\n<p>or<\/p>\n<pre class=\"textbox\">\r\n[00-01-02-03-04-??] ; mac address with wildcards\r\nAutoConfig=1<\/pre>\n<p>or<\/p>\n<pre class=\"textbox\">\r\n[client-identifier] ; client identifier (option 61)\r\nAutoConfig=1<\/pre>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/configureunknownclients\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/database-2\/\" class=\"lcp_title\">Database<\/a><div class=\"lcp_content\"><p>The Database setting allows to split the dhcpsrv.ini file into two parts. (Available since V1.7)<\/p>\n<pre class=\"textbox\">[Settings]\r\nDatabase=d:\\database.ini  ; Default : -<\/pre>\n<p>Part 1 is for everything in the [Settings] section. This stays in the dhcpsrv.ini file. All the rest [General], [General_x] or client section goes into the Database.ini file. This allows a clean distinction between real settings and configuration for the DHCP server and the IP assignment database in which the client configurations are managed.<br \/>\nNew in V1.9.2: If no [General] or [General_x] section is found in the Database.ini file, then the dhcpsrv.ini config file is used for that instead.<br \/>\nIf no Database setting is defined, then the DHCP server assumes that the database is part of the dhcpsrv.ini file.<\/p>\n<p>The file name can be specified with relative paths since V2.7. In that case, the path is interpreted relative to the INI file.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/database-2\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/deleteclientsfromwrongindex\/\" class=\"lcp_title\">DeleteClientsFromWrongIndex<\/a><div class=\"lcp_content\"><p>All newly created clients will get an entry in the client section Index=n where n is the number of the IPBIND_n. If the same client tries to acquire a new IP address but from a different IPBIND_k interface then the software will recognize that n != k meaning the client section is created from a different IPBIND. In that situation and when DeleteClientsFromWrongIndex is 1, then DHCP server will delete the client entry and create a new one. Please keep in mind that this will work only, when the client section includes the Index=n entry which is only the case after the client has been acquiring a new lease.<\/p>\n<pre class=\"textbox\">[Settings]\r\nDeleteClientsFromWrongIndex=1        ; Default: 0<\/pre>\n<p>This feature was an added\u00a0in\u00a0V2.6.0.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/deleteclientsfromwrongindex\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/deleteonrelease\/\" class=\"lcp_title\">DeleteOnRelease<\/a><div class=\"lcp_content\"><p>The DeleteOnRelease setting is new in V1.9.<\/p>\n<pre class=\"textbox\">[Settings]\r\nDeleteOnRelease=0  ; Default: 1<\/pre>\n<p>It defines whether a client entry in the databse is deleted upon DHCPRELEASE, or not. The default behavior is to automatically delete the entry in the database. The effect is that when the same client comes back after some time and asks for an IP address, no information about it&#8217;s previous IP address is available. Even if the old IP address is available, it would most likely not being chosen. With DeleteOnRelease set to 0, the entry only gets an expired lease timestamp and can therefore be reactivated at a later time.<\/p>\n<p>In addition to this the DeleteOnRelease setting also controls the bahvior for expired leases. When DeleteOnRelease is set then expired leases are also automatically deleted from the INI file same as DHCPRELEASE from client. This is new in V1.9.3 and is based on a timeout mechansim. The timeout is set to the time when the next client lease expires. This is updated every time a DHCP action is happening.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/deleteonrelease\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/enablesendrawunicast\/\" class=\"lcp_title\">EnableSendRawUnicast<\/a><div class=\"lcp_content\"><p>The EnableSendRawUnicast setting is new in V1.9.1.<\/p>\n<pre class=\"textbox\">[Settings]\r\nEnableSendRawUnicast=0  ; Default : 0<\/pre>\n<p>The DHCP protocol allows the client to specify a broadcast flag. If this flag is not set, then the DHCP server is asked to unicast the response. Unfortunatly, there is no standard mechanism based on the winsock programming interface that would allow the DHCP server to send unicasts solely based on mac address addressing scheme. In V1.9.1 the usage of the winpcap library got implemented. In situations where a unicast is required without having an IP address of the client at hand, the wpcap.dll function pcap_sendpacket is used. The EnableSendRawUnicast setting enables this functionality. Please set to 1 only if there are really problems with clients in that situation. Clients actually should be also fine with receiving responses as broadcast, which is the default behavior if EnableSendRawUnicast is not set or the wpcap dll is not installed. This has been tested with winpcap Version V4.1.1. Please also see the description of the <a title=\"OverwriteBroadcastFlag\" href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/overwritebroadcastflag\/\">OverwriteBroadcastFlag<\/a> setting for even more advanced options to set.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/enablesendrawunicast\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/expiredteasetimeout\/\" class=\"lcp_title\">ExpiredLeaseTimeout<\/a><div class=\"lcp_content\"><p>ExpiredLeaseTimeout defines a time value in seconds.<\/p>\n<pre class=\"textbox\">[Settings]\r\nExpiredLeaseTimeout=4294967  ; Approx. 49 days<\/pre>\n<p>The mechanism that checks expired leases is triggered by this. Regardless of when the next lease expires, the mechanism is scheduled at least in the time interval specified by ExpiredLeaseTimeout. This is useful when the INI file entries get changed manually and the DHCP server may not be aware of already expired leases. By this, the INI file gets cleaned up cyclically.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/expiredteasetimeout\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/hba\/\" class=\"lcp_title\">HBA<\/a><div class=\"lcp_content\"><p>HBA provides a basic load balancing concept according to RFC3074. HBA stands for hash bucket allocation and defines whether the DHCP Server is responsible for a client or not. The HBA consists of 32 hex values separated by a single blank. Every hex number represents eight bits, one bit per hash bucket. The DHCP server calculates a hash value for every client that asks for an IP address. The hash value is between 0 and 255. If the correspondig HBA bit for that hash value is 1, then the client is serviced. If it is 0 then the client is not serviced. Please assume the following example:<\/p>\n<pre class=\"textbox\">[Settings]\r\nHBA=FF FF FF FF FF FF 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<\/pre>\n<p>This restricts the DHCP Server to service clients whose hash value is 0 through 47 or 64 through 127. The server servicing the rest of the clients should have the exact opposite HBA. The HBA logic kicks in only for clients that are unknown (not yet in the INI file) to the DHCP Server. Clients who are already known are serviced regardless of the HBA.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/hba\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ignorerequestedaddress\/\" class=\"lcp_title\">IgnoreRequestedAddress<\/a><div class=\"lcp_content\"><p>Changes how the DHCP Server interprets the requested address submitted from a client.<\/p>\n<pre class=\"textbox\">[Settings]\r\nIgnoreRequestedAddress=1        ; Default: 0 (don't ignore)<\/pre>\n<p>If IgnoreRequestedAddress is set to 0 (default): The DHCP server will take the requested address from an unknown client into account when selecting an address to offer, matching the requested address as long as it is free and inside the IP pool.<\/p>\n<div dir=\"auto\">\n<p>If IgnoreRequestedAddress is set to 1: The DHCP server will ignore unknown clients suggestion on IP address. Leading to the DHCP server not taking the client request for a specific IP address in account when selection an address to offer the client.<\/p>\n<p>This behavior might not be fully confirmative with the DHCP specification and is not recommended in general usage. But might be useful in special cases.<\/p>\n<\/div>\n<p>This feature was an added in V2.10.0.0.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ignorerequestedaddress\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ignoreunknownclients\/\" class=\"lcp_title\">IgnoreUnknownClients<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nIgnoreUnknownClients=1  ; Default: 0<\/pre>\n<p>Setting this to 1 tells the DHCP server not to answer to requests from clients that are not configured in the client sections. DHCP requests from unknown clients are declined, if IgnoreUnknownClients is set to 0 (default).<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ignoreunknownclients\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/installasservice\/\" class=\"lcp_title\">InstallAsService<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nInstallAsService=2  ; Default: -<\/pre>\n<p>This is used internally by the DHCP Server to remember the checkbox \u201cDon\u2019t ask this question again\u201d on startup of the software.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/installasservice\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ipbind\/\" class=\"lcp_title\">IPBIND<\/a><div class=\"lcp_content\"><p>Binding to certain IP addresses (or NIC cards).<\/p>\n<pre class=\"textbox\">[Settings]\r\nIPBIND_0=123.45.56.78            ; Default: -\r\nIPBIND_1=\"Local Area Connection\" ; name of connection \r\nIPBIND_2=192.168.2.1  \r\n\u2026\r\nIPBIND_9=192.168.10.2<\/pre>\n<p>This restricts the DHCP server to bind only to certain LAN connections. All other IP addresses are ignored. This is very important if you want to restrict the DHCP server to particular cards in your computer. You have already two IP addresses, as soon as the computer is on the internet using a dial up connection.<br \/>\nThe DHCP server will bind to all IP addresses if no IPBIND_x is found. IPBIND_0 to IPBIND_9 are supported.<br \/>\nStarting with V1.8 the value of an IPBIND_x entry can also be specified as a LAN connection name. These are the names Windows is using to specifiy network connections. In case a name based IPBIND_x is configured, then subnet mask, ip address and all other windows configured data such as DNS server addresses etc. are obtained automatically and don&#8217;t need to be explicitly specified in the ini file anymore. See also the AUTO feature in IPPOOL_x.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ipbind\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ippool\/\" class=\"lcp_title\">IPPOOL<\/a><div class=\"lcp_content\"><p>From version 1.5 on the auto configuration is supported:<\/p>\n<pre class=\"textbox\">[Settings]\r\nIPPOOL_0=123.45.56.78-90\r\nIPPOOL_1=123.45.57.0-254\r\nIPPOOL_2=AUTO<\/pre>\n<p>The above enables three IP pools for DHCP clients. Unknown clients are automatically configured by adding the appropriate client sections to the INI file. IP pools of size 1 (e.g. 123.45.56.78-78) are allowed and are very useful if you want to assign the same IP address to all clients.<br \/>\nThe new feature in V1.8 is: AUTO. If AUTO instead of a numerical IP-Pool configuration is used then the IP Pool is automatically chosen to cover the complete IP Range based on the IPBIND_x IP address and the network mask. This works best together with a name based IPBIND_x configuration.<\/p>\n<p>From V1.9 on the IPPOOL_x numerical IP-Pool definition is enhanced with a comma syntax. This allows to define IP pools such as:<\/p>\n<pre class=\"textbox\">[Settings]\r\nIPPOOL_0=123.45.56.78-90,92,94<\/pre>\n<p>This adds 123.45.56.92 and 123.45.56.94 to the IPPOOL_0.<\/p>\n<p>Since V2.3.1 it is also possible to define a class A\/B network by using IPPOOL_1=10.45.3.1-10.45.5.254. This defines, in accordance with the subnet mask, all IP addresses from 10.45.3.1 through 10.45.5.254 as the IP pool.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ippool\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/iprelay\/\" class=\"lcp_title\">IPRELAY<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nIPRELAY_0=192.168.2.1  ; Default: -\r\n\u2026\r\nIPRELAY_9=192.168.10.1<\/pre>\n<p>IPRELAY_x is the definition of the DHCP Server address where the relay agent sends all requests coming in from IPBIND_x. Please see the description in the <a href=\"\/cms\/ini_file_overview\">INI file overview<\/a> about relay agents to learn more. IPRELAY_x is supported since V2.0.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/iprelay\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ipscope\/\" class=\"lcp_title\">IPSCOPE<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\nIPSCOPE_0=string-expression  ; Default: -\n\u2026\nIPSCOPE_9=string-expression<\/pre>\n<p>IPSCOPE_n defines based on the client request if this scope matches or not.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/ipscope\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/minpacketlength\/\" class=\"lcp_title\">MINPACKETLENGTH<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nMINPACKETLENGTH=300 ; Default: 300<\/pre>\n<p>This option is new in V1.6 and allows to specify a minimum packet length that the DHCP server is supposed to respond with. Default is 300 bytes. Some clients were not happy with a too short response. The remainder of the packet is filled with 0.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/minpacketlength\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/nakmessage\/\" class=\"lcp_title\">NAKMessage<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nNAKMessage=\"Info text for DHCPNAK\" ; Default: -<\/pre>\n<p>Since V2.2.1 NAKMessage allows to specify an info text that is added to DHCPNAK replies as option 56. This info text is visible in some DHCP clients. It is very rarely used and should usually be omitted. Default behavior if NAKMessage is not specified is to not add option 56 in the reply.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/nakmessage\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/notifytimeout\/\" class=\"lcp_title\">NotifyTimeout<\/a><div class=\"lcp_content\"><p>The DHCP Server automatically recognizes changes in the IP configuration in Windows. This is done based on the Windows API NotifyAddrChange. This API tells the DHCP Server when an IP configuration is changing. The DHCP Server acts on this by internally shutting down and restarting itself. Upon restart, the new configuration is used. In order to not shutdown and restart unneccessarily the DHCP Server uses a timeout mechanism to delay the shutdown after NotifyAddrChange events. <\/p>\n<pre class=\"textbox\">[Settings]\r\nNotifyTimeout=5000  ; Default: 1000 (milliseconds)<\/pre>\n<p>The default of this timeout is 1 second (1000 millisends). Some network cards are very slow and require a longer delay before they are actually ready to run. Set the NotifyTimeout value to a larger timeout period to compensate for this. <\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/notifytimeout\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/obeyparamreqlist\/\" class=\"lcp_title\">ObeyParamReqList<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nObeyParamReqList=0  ; Default: 0<\/pre>\n<p>ObeyParamReqList is new in V2.4.1. If set to 1, then the DHCP responses will only include options that the client requested in his option 55.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/obeyparamreqlist\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/overwritebroadcastflag\/\" class=\"lcp_title\">OverwriteBroadcastFlag<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nOverwriteBroadcastFlag=0  ; Default: broadcast-flag as set by the client request<\/pre>\n<p>OverwriteBroadcastFlag is new in V1.9.1. It allows to overwrite the broadcast flag set by the client. (See also <a title=\"EnableSendRawUnicast\" href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/enablesendrawunicast\/\">EnableSendRawUnicast<\/a> setting). The default behavior if this setting is not present or commented out, is to act according to the DHCP specification. If OverwriteBroadcastFlag is present then the behavior is to always broadcast the response (= 0) or to always try to unicast the response first (= 1). If unicast fails, then the DHCP Server defaults to broadcast.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/overwritebroadcastflag\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/packetvalidation\/\" class=\"lcp_title\">PacketValidation<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nPacketValidation=0  ; Default: 1<\/pre>\n<p>PacketValidation allows to switch off the packet validation routine that filters malformed DHCP requests. Added in V2.2. This setting exists only to bypass a too aggressive validation that falsly identifies correct requests as malformed.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/packetvalidation\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/padding\/\" class=\"lcp_title\">PADDING<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nPADDING=0  ; Default: 0<\/pre>\n<p>PADDING is new in V1.8 and enables to add PAD bytes (0) after each DHCP option, if the next option would otherwise be stored at a non WORD aligned offset. Some older BOOTP clients require this.<\/p>\n<p>In order to enable padding please set PADDING=1 in the [Settings] section.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/padding\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/port\/\" class=\"lcp_title\">PORT<\/a><div class=\"lcp_content\"><p>Changing the port number for certain services in the DHCP server.<\/p>\n<pre class=\"textbox\">[Settings]\r\nPORT_53=53  ; Default: 53 (DNS)\r\nPORT_67=67  ; Default: 67 (DHCP)\r\nPORT_68=68  ; Default: 68 (DHCP)\r\nPORT_69=69  ; Default: 69 (TFTP)\r\nPORT_80=80  ; Default: 80 (HTTP)<\/pre>\n<p>These options are new in V1.6.5 and allows to customize the IP ports the DHCP Server is supposed to use. Default is 67 or 68 respectively. Port 53 is the default port for the DNS Server. Port 69 is the default port of the TFTP Server. Port 80 is the default port of the HTTP Server (available since V2.0). If no relay agent function is in use, then this setting has no effect.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/port\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/readonly\/\" class=\"lcp_title\">ReadOnly<\/a><div class=\"lcp_content\"><p>When ReadOnly is set to 1, then no changes to the INI file will be made by the DHCP server. All newly recognized clients will get an IP address assigned but the respective client entry is not created. Which has the effect that the same IP address will be used next time for another client! This might be useful for test labs, that test one device after the other and explicitly want to assign the same IP address to each one.<\/p>\n<pre class=\"textbox\">[Settings]\r\nReadOnly=1        ; Default: 0<\/pre>\n<p>This feature was an added\u00a0in\u00a0V2.6.0.<\/p>\n<p>&nbsp;<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/readonly\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/receivewindow\/\" class=\"lcp_title\">ReceiveWindow<\/a><div class=\"lcp_content\"><p>Specifies the size of the windows UDP receive buffer in KBytes. The default is 64, which should be enough to allow 256 clients to request an IP address at the same time. It should only be necessary to change this in very rare cases.<\/p>\n<pre class=\"textbox\">[Settings]\r\nReceiveWindow=8        ; Default: 64 [KBytes]<\/pre>\n<p>This feature was an added\u00a0in\u00a0V2.7.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/receivewindow\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/relayagentadvanced\/\" class=\"lcp_title\">RelayAgentAdvanced<\/a><div class=\"lcp_content\"><p>Enabling advanced features of the relay agent.<\/p>\n<pre class=\"textbox\">[Settings]\r\nRelayAgentAdvanced=1  ; Default: 1<\/pre>\n<p>Since V2.1.3 this setting allows to alter the behavior of the relay agent. With RelayAgentAdvanced=0, the relay agent runs in a compatible mode and can be used in conjunction with other DHCP servers such as Windows 2003 Server. With the default setting of RelayAgentAdvanced=1, the relay agent adds option 82 to all requests. This allows the DHCP Server to distinguish between the link selection information and the address of the relay agent.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/relayagentadvanced\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/reservebyoffer\/\" class=\"lcp_title\">ReserveByOffer<\/a><div class=\"lcp_content\"><p>Controls the behavior of the DHCP Server when offering an IP address to the client. In case of\u00a0ReserveByOffer=1, the client section is written to the INI file with a lease time of 1 second when answering with a DHCPOFFER message. In case of 0, no INI file entry is made at the time of offering an IP address. Only the actual assignment (reaction to DHCPREQUEST) of the IP address creates a client section. Of course, the lease time is updated upon assignment to the requested lease time.<\/p>\n<pre class=\"textbox\">[Settings]\r\nReserveByOffer=0          ; Default: 1<\/pre>\n<p>This was an undocumented feature until V2.5.0.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/reservebyoffer\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/servername\/\" class=\"lcp_title\">ServerName<\/a><div class=\"lcp_content\"><p>Configure the sname field.<\/p>\n<pre class=\"textbox\">[Settings]\r\nServerName=Name of server  ; Default: Windows computer name<\/pre>\n<p>Since V2.4 it is possible to define the content of the sname (server name) field in the DHCP reply packets. The default is the computer name as it is configured in Windows (return value of Win32 API GetComputerName).<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/servername\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/servicename\/\" class=\"lcp_title\">SERVICENAME<\/a><div class=\"lcp_content\"><p>Customizing the service name.<\/p>\n<pre class=\"textbox\">[Settings]\r\nSERVICENAME=DHCP Server          ; Default: DHCP Server\r\nSERVICEDISPLAYNAME=DHCP Server   ; Default: DHCP Server<\/pre>\n<p>Since V1.9 the DHCP server supports customizing the service name entries. This is useful when the service is to be installed several times (different INI file needed) or in combination with an already existing DHCP server with the same service name.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/servicename\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/showballoonmessages\/\" class=\"lcp_title\">ShowBalloonMessages<\/a><div class=\"lcp_content\"><p>Disabling balloon messages.<\/p>\n<pre class=\"textbox\">[Settings]\r\nShowBalloonMessages=1  ; Default: 1<\/pre>\n<p>Since V1.7 the DHCP server shows balloon messages in the tray if run in application mode. This can be disabled by setting ShowBalloonMessages=0.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/showballoonmessages\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/singleinstanceapp\/\" class=\"lcp_title\">SingleInstanceApp<\/a><div class=\"lcp_content\"><p>Limit the DHCP Server to one instance.<\/p>\n<pre class=\"textbox\">[Settings]\r\nSingleInstanceApp=1          ; Default: 0<\/pre>\n<p>Since V2.2.3 it is possible to limit the DHCP Server to one instance if run in application mode. If SingleInstanceApp is not configured or set to 0 then the server can be started multiple times. If set to 1 then the second instance will only show a dialog inidicating that it&#8217;s a second instance and will terminate after confirming the dialog box.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/singleinstanceapp\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/syncserver\/\" class=\"lcp_title\">SyncServer<\/a><div class=\"lcp_content\"><p>Specifies the other DHCP server to load data from. This is a new feature in V2.9 and allows to setup redundant configurations for DNS. The idea is when you setup the split scope redundancy, as described in the <a title=\"How to configure DHCP server for redundancy?\" href=\"http:\/\/www.dhcpserver.de\/cms\/faq\/how-to-redundancy\/\">FAQ<\/a>, then you need to handle local DNS requests. See the\u00a0<a title=\"How to configure DHCP server for redundancy?\" href=\"http:\/\/www.dhcpserver.de\/cms\/faq\/how-to-redundancy\/\">FAQ<\/a> for more information.<\/p>\n<pre class=\"textbox\">[Settings]\r\nSyncServer=other-server:80  ; load data from other-server<\/pre>\n<p>In order for this to work you need to configure the HTTP function on the other server. IP addresses or names are allowed optionally followed by a colon and the port number of the server.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/syncserver\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/trace\/\" class=\"lcp_title\">Trace<\/a><div class=\"lcp_content\"><p>Enabling the Trace.<\/p>\n<pre class=\"textbox\">[Settings]\r\nTrace=1          ; Default: 0\r\nTraceFile=c:\\temp\\dhcptrc.txt<\/pre>\n<p>You can switch the trace on by putting a Trace=1 entry into the [Settings] section. The trace file is called dhcptrc.txt and is written into the same folder as the dhcpsrv.exe and the dhcpsrv.ini files. I recommend to switch the trace on, if you encounter any problems and attach the trace file to the e-mail that you are sending to me to report it. If you want the trace to have a different name (and\/or directory) then use TraceFile for that. Example:<\/p>\n<pre class=\"textbox\">[Settings]\r\nTrace=1  ; 1= enable,  0=disable\r\nTraceFile=c:\\temp\\dhcptrc.txt  ; this is where the trace goes<\/pre>\n<p>If the TraceFile setting in not set then the default is dhcptrc.txt in the dhcpsrv.exe directory. TraceFile is a new feature in V1.5.2. Since V2.7 you may also use a relative path to specifiy the trace file name. Relative paths are interpreted relative to the INI file location.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/trace\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/tracefilemaxsize\/\" class=\"lcp_title\">TraceFileMaxSize<\/a><div class=\"lcp_content\"><p>Specifies the maximum size of the trace file (dhcptrc.txt) See also <a title=\"Trace\" href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/trace\/\">Trace<\/a>. Once the trace file reached the specified limit in size, it is copied to dhcptrc.bak and a new trace file is created.<\/p>\n<pre class=\"textbox\">[Settings]\r\nTraceFileMaxSize=256000        ; Default: 128000<\/pre>\n<p>This feature was an added\u00a0in\u00a0V2.6.0.<\/p>\n<p>&nbsp;<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/tracefilemaxsize\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/trayicon\/\" class=\"lcp_title\">TRAYICON<\/a><div class=\"lcp_content\"><p>Customizing the tray icon.<\/p>\n<pre class=\"textbox\">[Settings]\r\nTRAYICON=someicon.ico          ; Default: default icon<\/pre>\n<p>Since V2.1 it is possible to change the tray icon of the dhcp server. The default tray icon is still avaible as a default. You can either choose &#8220;None&#8221;, &#8220;Default&#8221; or a filename.<\/p>\n<pre class=\"textbox\">TRAYICON=Default  ; use the built in default icon. \r\nTRAYICON=None   ; use no icon at all.<\/pre>\n<p>To set the tray icon to NONE is not recommended because the process can only be stopped using task manager if there is no tray icon.<br \/>\nTRAYICON=filname.ico loads the given icon file as the try icon.<\/p>\n<p>All this is of course only effective if dhcpsrv.exe is started as an application (not as a service). The intended purposes to choose the tray icon is to bo able to distinguish the processes in the tray in case you are running dhcpsrv.exe multiple times.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/trayicon\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/useclientid\/\" class=\"lcp_title\">UseClientID<\/a><div class=\"lcp_content\"><pre class=\"textbox\">[Settings]\r\nUseClientID=1 ; Default: 0<\/pre>\n<p>If UseClientID is set to 1, then clients can be recognized based on their Option 61 specification &#8220;client-identifier&#8221;. Option 61 allows several client id formats. Two of them are supported by the DHCP Server: type=0 and type=1. Type 1 is treated as the mac address of the client and just uses the mac address given by option 61 instead of the chaddr field of the DHCP packet.<br \/>\nType 0 is treated as an ascii string. The client section is created with the client identifier instead of the mac address. Also the manual specification of client sections need to be based on the client-idendifier, if UseClientID is set to 1. This option is new in V1.7.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/useclientid\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/vendorclass\/\" class=\"lcp_title\">VENDORCLASS<\/a><div class=\"lcp_content\"><p>Configure a VENDORCLASS.<\/p>\n<pre class=\"textbox\">[Settings]\r\nVENDORCLASS=MSFT 5.0          ; Default: -<\/pre>\n<p>If a VENDORCLASS is specified as an entry in the [Settings] section, then only clients with the same vendor class defined in their DHCP request get an IP address assigned.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/settings\/vendorclass\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><\/ul>\n<h3><strong>Entries in the [DNS-Settings] section<\/strong><\/h3>\n<ul class=\"lcp_catlist\" id=\"lcp_instance_0\"><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/dns\/alwaysusedefaultipaddress\/\" class=\"lcp_title\">AlwaysUseDefaultIPAddress<\/a><div class=\"lcp_content\"><p>AlwaysUseDefaultIPAddress controls the behavior of the DNS function.<\/p>\n<pre class=\"textbox\">[DNS-Settings]\r\nAlwaysUseDefaultIPAddress=1          ; Default: 0<\/pre>\n<p>When this is set, then the DNS will always return the DEFAULTIPADDR, when it is set, regardless of the status of the requester and regardless of the existence of the requested name\/IP.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/dns\/alwaysusedefaultipaddress\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/dns\/defaultipaddr\/\" class=\"lcp_title\">DEFAULTIPADDR<\/a><div class=\"lcp_content\"><p>The DEFAULTIPADDR setting is a very simple but effective security feature.<\/p>\n<pre class=\"textbox\">[DNS-Settings]\r\nDEFAULTIPADDR=192.168.17.18          ; Default: -<\/pre>\n<p>If DEFAULTIPADDR is not set then the DNS server serves everybody as expected with resolved names. If it is set, then requesters with an unknown IP address get always the default ip address as an answer to all name resolution requests. The intention of this feature is to forward all unknown clients to a predefined default address (e.g. a web server with registration facility). Since V1.9.3, this can be also defined on a per client basis. Please see <a href=\"\/cms\/client\/allowdnsquery\">AllowDNSQuery<\/a> for details.<\/p>\n<p>Please note that the PC running the DHCP server always resolves DNS requests regardless of the DEFAULTIPADDR setting.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/dns\/defaultipaddr\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/dns\/enabledns\/\" class=\"lcp_title\">EnableDNS<\/a><div class=\"lcp_content\"><p>EnableDNS enables the integrated Domain Name Service (DNS) functionality of the DHCP Server.<\/p>\n<pre class=\"textbox\">[DNS-Settings]\r\nEnableDNS=1          ; Default: 0<\/pre>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/dns\/enabledns\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/dns\/forward\/\" class=\"lcp_title\">FORWARD<\/a><div class=\"lcp_content\"><p>Forwarding DNS requests.<\/p>\n<pre class=\"textbox\">[DNS-Settings]\r\nFORWARD=192.168.2.1          ; Default: -<\/pre>\n<p>The FORWARD setting defines the IP address of one external DNS server that gets all the requests that the integrated DNS server can not answer. This feature is fairly rudimentary and works only with UDP.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/dns\/forward\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><\/ul>\n<h3><strong>Entries in the [TFTP-Settings] section<\/strong><\/h3>\n<ul class=\"lcp_catlist\" id=\"lcp_instance_0\"><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/enabletftp\/\" class=\"lcp_title\">EnableTFTP<\/a><div class=\"lcp_content\"><p>Enabling the TFTP function.<\/p>\n<pre class=\"textbox\">[TFTP-Settings]\r\nEnableTFTP=1          ; Default: 0<\/pre>\n<p>EnableTFTP enables the integrated Trivial File Transfer Protocol (TFTP) server functionality of the DHCP Server.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/enabletftp\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/maxblocksize\/\" class=\"lcp_title\">MaxBlockSize<\/a><div class=\"lcp_content\"><p>Controlling the TFTP blksize.<\/p>\n<pre class=\"textbox\">[TFTP-Settings]\r\nMaxBlockSize=1024          ; Default: - (whatever the client asks for)<\/pre>\n<p>The tftp protocol allows to negotiate the blksize. This is the number of bytes transfered between client and server in each packet. It has been shown that if the client asks for a blksize that is bigger than the MTU, that the tftp communication does not work. Therefore it is since V2.2.3 possible to limit the blksize on the server side. MaxBlockSize should be set to a value between 512 and the MTU.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/maxblocksize\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/portrange\/\" class=\"lcp_title\">PortRange<\/a><div class=\"lcp_content\"><p>The PortRange setting defines the ports the TFTP server will use for sending and receiving data.<\/p>\n<pre class=\"textbox\">[TFTP-Settings]\r\nPortRange=51000-51100          ; Default: AUTO<\/pre>\n<p>The default is AUTO and specifies that the port numbers are allocated automatically on demand as they are made available by windows sockets (winsock). This can be a problem with firewalls, because the port numbers can not be explicitly opened in the firewall if they are unknown at configuration time. Therefore it is possible to specify a range of ports like PortRange=51000-51100. This tells the TFTP function to select port numbers out of the given range for sending and receiving data. Please make sure that the specified port numbers are not confilicting with other network services running on the server.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/portrange\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/tftp-root\/\" class=\"lcp_title\">Root<\/a><div class=\"lcp_content\"><p>Specifying the root for the TFTP server.<\/p>\n<pre class=\"textbox\">[TFTP-Settings]\r\nRoot=c:\\tftproot\\          ; Default: -<\/pre>\n<p>Only files located in or under the given Root path are served by the tftp server. A tftp client request asking for a file x automatically translates to a file access to c:\\tftproot\\x.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/tftp-root\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/transferwindow\/\" class=\"lcp_title\">TransferWindow<\/a><div class=\"lcp_content\"><p>Setting the TFTP Transfer window.<\/p>\n<pre class=\"textbox\">[TFTP-Settings]\r\nTransferWindow=1          ; Default: 4<\/pre>\n<p>The tftp-setting TransferWindow sets the maximum number of tftp data packets that are sent before an acknowledge is received. TFTP protocol standard behavior is achieved by setting TransferWindow=1. The default of 4 should increase TFTP performance by about 50%. In case of problems try to set to 1.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/transferwindow\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/writepermission\/\" class=\"lcp_title\">WritePermission<\/a><div class=\"lcp_content\"><p>Allowing the TFTP server to write files.<\/p>\n<pre class=\"textbox\">[TFTP-Settings]\r\nWritePermission=1          ; Default: 0<\/pre>\n<p>If not set or set to 0 WritePermission is not granted. Tftp clients can not write files in this case.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/tftp\/writepermission\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><\/ul>\n<h3><strong>Entries in the [HTTP-Settings] section<\/strong><\/h3>\n<ul class=\"lcp_catlist\" id=\"lcp_instance_0\"><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/content-type\/\" class=\"lcp_title\">content-type<\/a><div class=\"lcp_content\"><p>Define the content types along with the respective file extensions for the HTTP server.<\/p>\n<pre class=\"textbox\">[content-type]\r\n.htm=text\/html         ; Default: -<\/pre>\n<p>The http server knows the content-type definitions for .htm, .html, .css, .xsl, .jpg, .png, .gif, .ico, .xml and .txt. Additional file extensions and their respective content types can be specified in the [content-type] section.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/content-type\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/defaultfile\/\" class=\"lcp_title\">DefaultFile<\/a><div class=\"lcp_content\"><p>Specifying a default file for error messages (404).<\/p>\n<pre class=\"textbox\">[HTTP-Settings]\r\nDefaultFile=showerr.html          ; Default: -<\/pre>\n<p>The DefaultFile allows to specify a file whose content is returned instead of a 404 file not found message. This is a new feature in V2.3.3. In case the URL refers to a not existing file, then this file is fetched. If DefaultFile is not specified then the regular 404 file not found return occurs.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/defaultfile\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/enablehttp\/\" class=\"lcp_title\">EnableHTTP<\/a><div class=\"lcp_content\"><p>EnableHTTP enables the integrated HTTP Protocol server functionality of the DHCP Server.<\/p>\n<pre class=\"textbox\">[HTTP-Settings]\r\nEnableHTTP=1          ; Default: 0<\/pre>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/enablehttp\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/logfile\/\" class=\"lcp_title\">Logfile<\/a><div class=\"lcp_content\"><p>Specifying the HTTP log file.<\/p>\n<pre class=\"textbox\">[HTTP-Settings]\r\nLogfile=c:\\httplog.txt          ; Default: -<\/pre>\n<p>The http server logs all activities in this file.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/logfile\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/http-root\/\" class=\"lcp_title\">Root<\/a><div class=\"lcp_content\"><p>Specifying the root for the HTTP server.<\/p>\n<pre class=\"textbox\">[HTTP-Settings]\r\nRoot=c:\\httproot\\          ; Default: -<\/pre>\n<p>Only files located in or under the given Root path are served by the http server. A Web browser request asking for a file x automatically translates to a file access to c:\\httproot\\x.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/http\/http-root\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><\/ul>\n<h3><strong>Entries in the [General], [General_x] or client section<\/strong><\/h3>\n<ul class=\"lcp_catlist\" id=\"lcp_instance_0\"><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/allowdnsquery\/\" class=\"lcp_title\">AllowDNSQuery<\/a><div class=\"lcp_content\"><p>AllowDNSQuery goes along with the built-in DNS functionality. A client who performs DNS queries that is not known to the DHCP Server (not in the ini file) can get a default IP address returned regardless of the name it wants to resolve. This is a security feature that limits the DNS function to known clients. Since V1.9.3 AllowDNSQuery defines this behavior on a per client basis. If AllowDNSQuery is set to 1 then the client can resolve names to IP addresses with DNS queries. If AllowDNSQuery is set to 0 then whatever is configured as DEFAULTIPADDR is returned for every name.<\/p>\n<p>Please assume the following INI file:<\/p>\n<pre class=\"textbox\">[General]\r\n...\r\nAllowDNSQuery=0\r\n...\r\n\r\n[DNS-Settings]\r\nEnableDNS=1\r\nDEFAULTIPADDR=192.168.0.1\r\n\r\n[00-00-00-00-00-01]\r\nIPADDR=192.168.0.10\r\nHostname=Computer_1\r\n\r\n[00-00-00-00-00-02]\r\nIPADDR=192.168.0.11\r\nHostname=Computer_2\r\nAllowDNSQuery=1\r\n<\/pre>\n<p>In this example, only Computer_2 will be able to resolve DNS queries to the real IP addresses. Computer_1 will observe that regardless of the name he wants to resolve, he will always get 192.168.0.1 in return.<\/p>\n<p>The influence of AllowDNSQuery to the behavior is such that, whenever DEFAULTIPADDR is set, the DEFAULTIPADDR is returned when the requester is unknown (not listed in the INI file) or AllowDNSQuery is 0.<\/p>\n<table border=\"0\">\n<thead>\n<tr>\n<th>Case<\/th>\n<th>DEFAULTIPADDR<\/th>\n<th>AllowDNSQuery<\/th>\n<th>Requester<\/th>\n<th>RESULT<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>SET<\/td>\n<td>1<\/td>\n<td>known<\/td>\n<td>resolve IP<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>SET<\/td>\n<td>1<\/td>\n<td>unknown<\/td>\n<td>DEFAULTIPADDR<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>SET<\/td>\n<td>0<\/td>\n<td>known<\/td>\n<td>DEFAULTIPADDR<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>SET<\/td>\n<td>0<\/td>\n<td>unknown<\/td>\n<td>DEFAULTIPADDR<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>NOT SET<\/td>\n<td>1<\/td>\n<td>known<\/td>\n<td>resolve IP<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>NOT SET<\/td>\n<td>1<\/td>\n<td>unknown<\/td>\n<td>resolve IP<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>NOT SET<\/td>\n<td>0<\/td>\n<td>known<\/td>\n<td>resolve IP<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>NOT SET<\/td>\n<td>0<\/td>\n<td>unknown<\/td>\n<td>resolve IP<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/allowdnsquery\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/autoconfig\/\" class=\"lcp_title\">AutoConfig<\/a><div class=\"lcp_content\"><p>This entry marks a client section as being created by the DHCP Server (auto configuration). Don\u2019t touch it.<\/p>\n<pre class=\"textbox\">AutoConfig=12\/29\/2007_18:37:26<\/pre>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/autoconfig\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/bootfile\/\" class=\"lcp_title\">BOOTFILE<\/a><div class=\"lcp_content\"><p>Defining the BOOTFILE.<\/p>\n<pre class=\"textbox\">BOOTFILE=bootimage.bin\n<\/pre>\n<p>A string that typically defines the boot file which is fetched from a TFTP server by the client.<\/p>\n<p>The string is passed on to the client unchanged, the DHCP Server does not interpret it. Which name the client can make sense of therefore depends entirely on the client. A plain file name is what a PXE ROM expects, and it is resolved against the root directory of the TFTP server. Clients that are able to load their boot file over HTTP, such as iPXE or UEFI HTTP boot, accept a complete URL instead:<\/p>\n<pre class=\"textbox\">BOOTFILE=http:\/\/192.168.0.2\/autoexec.ipxe\n<\/pre>\n<p>A regular PXE ROM cannot do this, so a URL should only be sent to clients that are known to support it. The usual way to make sure of that is a scope section that is selected by IPSCOPE_n, see the <a href=\"https:\/\/www.dhcpserver.de\/cms\/faq\/how_to_pxe_boot\/\">PXE boot FAQ entry<\/a> for a complete example.<\/p>\n<p>The boot file name is limited to 128 characters.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/bootfile\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/dns\/\" class=\"lcp_title\">DNS<\/a><div class=\"lcp_content\"><p>This entry sets the IP address of the DNS server. You can setup up to 10 DNS servers.<\/p>\n<pre class=\"textbox\">DNS_0=123.4.56.78\r\n\u2026\r\nDNS_9=192.168.2.1\r\n<\/pre>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/dns\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/domainname\/\" class=\"lcp_title\">DOMAINNAME<\/a><div class=\"lcp_content\"><p>This entry should define the domain name that is send to the client machine. This is in most cases the name of the domain or workgroup that your server machine is in.<\/p>\n<pre class=\"textbox\">DOMAINNAME=mydomain\r\n<\/pre>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/domainname\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/ipaddr\/\" class=\"lcp_title\">IPADDR<\/a><div class=\"lcp_content\"><p>Specifying the IP Address.<\/p>\n<pre class=\"textbox\">IPADDR=192.168.10.11\r\n<\/pre>\n<p>This is the IP address that has to be assigned to the client. This is the most important entry in the client section. Since V2.6.0 you can set the IPADDR=0.0.0.0 to black list a client to prevent the client device to get an IP address assigned.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/ipaddr\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/leaseend\/\" class=\"lcp_title\">LeaseEnd<\/a><div class=\"lcp_content\"><p>LeaseEnd is specified as number of seconds since midnight (00:00:00), January 1, 1970 and defines the time at which this particular IP address expires.<\/p>\n<pre class=\"textbox\">LeaseEnd=1198953446\r\n<\/pre>\n<p>This entry is automatically created by the DHCP Server.<br \/>\nLease times are important when a client requests an IP address and all addresses in the IP pool are already assigned to other clients. In that case the client whose lease time (LeaseEnd) has expired least recently is deleted from the INI file and the available IP address is used for the request.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/leaseend\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/leasetime\/\" class=\"lcp_title\">LEASETIME<\/a><div class=\"lcp_content\"><p>Lease time in seconds (decimal value).<\/p>\n<pre class=\"textbox\">LEASETIME=3600 ; 1 hour\r\nDefault: infinite\r\n<\/pre>\n<p>E.g. 86400 is the lease time for 1 day. Default is an infinite lease. The actual lease period for the clients IP address is the minimum of the configured LEASETIME and the lease duration the client is asking for.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/leasetime\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/name\/\" class=\"lcp_title\">NAME<\/a><div class=\"lcp_content\"><p>\u201cClientPC\u201d is send to the client as the hostname entry in the DHCP options. <\/p>\n<pre class=\"textbox\">NAME=ClientPC<\/pre>\n<p>This is supposed to be the name of the client machine. This entry doesn&#8217;t work with Windows clients, because they do not change the computer name.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/name\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/nextserver\/\" class=\"lcp_title\">NEXTSERVER<\/a><div class=\"lcp_content\"><p>IP address of the &#8220;next server&#8221;.<\/p>\n<pre class=\"textbox\">NEXTSERVER=123.45.6.7<\/pre>\n<p>This is typically used to specify a TFTP server in the BOOTP protocol.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/nextserver\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/nodetype\/\" class=\"lcp_title\">NODETYPE<\/a><div class=\"lcp_content\"><pre class=\"textbox\">NODETYPE=8  ; Default: 8<\/pre>\n<p>Default: 8, which means hybrid. I\u2019ve never used something else than 8.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/nodetype\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/router\/\" class=\"lcp_title\">ROUTER<\/a><div class=\"lcp_content\"><p>Specifying the Router \/ Gateway<\/p>\n<pre class=\"textbox\">ROUTER_0=123.4.56.78\r\n\u2026\r\nROUTER_9=192.168.2.1<\/pre>\n<p>This entry sets the IP address of the router or standard gateway. You can setup up to 10 routers by using the entries ROUTER_0 to ROUTER_9.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/router\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/subnetmask\/\" class=\"lcp_title\">SUBNETMASK<\/a><div class=\"lcp_content\"><pre class=\"textbox\">SUBNETMASK=255.255.255.0<\/pre>\n<p>The subnet mask is usually common to all clients and should be placed in the general section. This has to be the same as the subnet mask of the server machine that is setup in your network settings. <\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/subnetmask\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/wins\/\" class=\"lcp_title\">WINS<\/a><div class=\"lcp_content\"><pre class=\"textbox\">WINS_0=123.4.56.78\r\n\u2026\r\nWINS_9=192.168.2.1<\/pre>\n<p>This entry sets the IP address of the WINS servers. You can setup up the 10 WINS servers using the entries WINS_0 to WINS_9. <\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/wins\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/wpad\/\" class=\"lcp_title\">WPAD<\/a><div class=\"lcp_content\"><pre class=\"textbox\">WPAD=http:\/\/server.domain\/config.pac<\/pre>\n<p>Location of a proxy server (Web Proxy Auto Detection) used by Internet browsers to automatically detect proxy settings.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/client\/wpad\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><\/ul>\n<ul class=\"lcp_catlist\" id=\"lcp_instance_0\"><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/special\/custom-options\/\" class=\"lcp_title\">Custom options<\/a><div class=\"lcp_content\"><p>The DHCP server supports custom options in addition to the above options. This allows to specify all possible DHCP options in client and general sections. (New in V1.7)<\/p>\n<p>The syntax for custom options is:<\/p>\n<pre class=\"textbox\">[00-01-02-03-04-6A]\r\nOPTION_nn=\"whatever text\"     ; text\r\nOPTION_nn=02:03:04:05         ; hex bytes\r\nOPTION_nn=192.168.2.1         ; IP address\r\nOPTION_nn= 01 \"whatever text\" ; combination of hex byte and text<\/pre>\n<p>nn is the option number (decimal) such as OPTION_66 for TFTP server IP address. Leading zeros, such as OPTION_060, will cause problems in earlier versions. Version 2.7 and newer support leading zeros.<br \/>\nPlease note that all the examples above have a trailing comment in each line. This is necessary and is not optional. The comment even if it is only the semi-colon (;) is needed.<\/p>\n<p><strong>OPTION_nn=&#8221;whatever text&#8221; ;<\/strong><\/p>\n<p>If there is no comment symbol at the end then the OPTION_nn setting will not be recognized correctly and is treated as malformed and therefore ignored.<\/p>\n<p>The custom option syntax understands hex bytes as two digit values, IP addresses as a group of four decimal numbers separated by &#8216;.&#8217;, and &#8220;text&#8221;. As separators are allowed: blanks and colons (:). Two special syntax features make it easier to deal with custom options (available since V2.4). The first is the auto-len prefix for everything inside of parentheses (). You can group all data (hex bytes, IP addresses and text) as you whish and put parentheses around them. The resulting encoding will automatically prefix the data with a length field. An example can be seen in the <a title=\"FAQ\" href=\"\/cms\/faq\/how_to_sub_43\/\">FAQ<\/a>.<br \/>\nThe second new feature in V2.4 is related to IP address encodings. Sometimes it is necessary to encode, e.g. in OPTION_121, a network ID in a compact form. Example:<\/p>\n<pre class=\"textbox\">OPTION_121= 10.10.30.0\/24 10.10.20.254 ; encodes to 18 0A 0A 1E 0A 0A 14 FE<\/pre>\n<p>This defines a classless static route for all addresses in the 10.10.30.0\/24 network to be routed via 10.10.20.254. The encoding for this is an 8 byte octect sequence as shown above, where the first 4 octects are a compact CIDR syntax. Compact CIDR syntax means, that 10.10.30.0\/24 only consists of the relevant octets for the network id. The relevant octets in this case are 3, because \/24 makes the 4th octet of 10.10.30.0 irrelevant.<\/p>\n<p>Another special feature has been added in V2.10.1: Copy-Option @ allows to copy an option from the request (DHCPDISCOVER or DHCPREQUEST) into the response packet. This comes in handy when the client expects a certain option to be send back to him. Here is an example on how to configure:<\/p>\n<pre class=\"textbox\">OPTION_97=@97 ; make option 97 a copy of option 97 from the request<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/special\/custom-options\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/special\/client-sections-with-wildcards\/\" class=\"lcp_title\">Client sections with wildcards<\/a><div class=\"lcp_content\"><p>A client section can be specified based on wildcards (since V1.7). Please use this with care. Recommendation is to not use client-id based specifications (UseClientID=0) and also to make sure that no interference with IPOOLs is possible, because the DHCP Server is not able to check this. This is how it works:<\/p>\n<p>A client section can be defined based on wildcards like this:<\/p>\n<pre class=\"textbox\">[00-01-02-03-04-??]\r\nIPADDR=192.168.17.%m5<\/pre>\n<p>What happens is that if a client that matches the above wildcard asks for an IP address, that the IP address assigned is automatically composed by using mac address byte 5 (%m5). The resulting mac address for client [00-01-02-03-04-6A] will be 192.168.17.106. (6A hex is 106 dec).<br \/>\nMac address byte 0 through 5 are accessed accordingly with %m0 through %m5. The wildcard match algorithm searches in the following order and takes the first matching entry:<\/p>\n<pre class=\"textbox\">[00-01-02-03-04-6A]\r\n[00-01-02-03-04-??]\r\n[00-01-02-03-??-??]\r\n[00-01-02-??-??-??]\r\n[00-01-??-??-??-??]\r\n[00-??-??-??-??-??]\r\n[??-??-??-??-??-??]<\/pre>\n<p>In addition to the %m0 through %m5, since V2.3.1 there are further macros available. These are %ip0 through %ip3. They allow to access the IP address of the IPBIND_n address used by the current DHCP request. If IPBIND_1 is defined as IPBIND_1=192.168.5.1, then the macros are extended to: %ip0=192, %ip1=168, %ip2=5 and %ip3=1.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/special\/client-sections-with-wildcards\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><li><a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/special\/sectionname-syntax-for-ini-file-variables\/\" class=\"lcp_title\">$(section\\name) syntax for INI file variables<\/a><div class=\"lcp_content\"><p>Since version 2.0 of the DHCP Server the $(section\\name) syntax can be used in the INI file. This helps to keep the INI file simple and prevents repeating information such as IP addresses in many places. Here is an example of a typical INI file: <\/p>\n<pre class=\"textbox\">[Settings]\r\nIPBIND_1=192.168.17.2\r\nIPPOOL_1=192.168.17.2-50\r\nAssociateBindsToPools=1\r\n\r\n[DNS-Settings]\r\nEnableDNS=1\r\n\r\n[General]\r\nSUBNETMASK=255.255.255.0\r\nDNS_1=192.168.17.2<\/pre>\n<p>A clean and simple INI file with one IP pool and DNS enabled. If the IPBIND_1 interface ever changes, then one would need to change the IP address 192.168.17.2 in three places. No big deal but can be avoided with the following INI file utilizing the $(section\\name) syntax: <\/p>\n<pre class=\"textbox\">[Settings]\r\nIPBIND_1=192.168.17.2\r\nIPPOOL_1=$(Settings\\IPBIND_1)-50\r\nAssociateBindsToPools=1\r\n\r\n[DNS-Settings]\r\nEnableDNS=1\r\n\r\n[General]\r\nSUBNETMASK=255.255.255.0\r\nDNS_1=$(IPBIND_1)<\/pre>\n<p>If the interface ever changes then only IPBIND_1 needs to be edited. $(IPBIND_1) is equivalent to $(Settings\\IPBIND_1). Settings is sort of the default section. $(section\\name) can be used for everything in the INI file. It can even be used for INI file entries that the DHCP Server doesn&#8217;t even know. Here is an example showing the usage for directories: <\/p>\n<pre class=\"textbox\">[Settings]\r\nBaseDir=\"d:\\dhcpsrv\" ; dhcpsrv.exe resides here \r\nIPBIND_1=192.168.17.2\r\nIPPOOL_1=$(Settings\\IPBIND_1)-50\r\nAssociateBindsToPools=1\r\nTrace=1\r\nTraceFile=\"$(BaseDir)\\dhcptrc.txt\" ; trace file\r\n\r\n[DNS-Settings]\r\nEnableDNS=1\r\n\r\n[General]\r\nSUBNETMASK=255.255.255.0\r\nDNS_1=$(IPBIND_1)\r\n\r\n[TFTP-Settings]\r\nEnableTFTP=1\r\nRoot=\"$(BaseDir)\\wwwroot\" ; use wwwroot for http and tftp \r\n\r\n[HTTP-Settings]\r\nEnableHTTP=1\r\nRoot=\"$(BaseDir)\\wwwroot\" ; use wwwroot for http and tftp <\/pre>\n<p>This way the base d\u00edrectory of DHCP Server can be changed easily in one single place and the trace file and all the other entries that refer to files are always correct.<\/p>\n<a href=\"http:\/\/www.dhcpserver.de\/cms\/ini_file_reference\/special\/sectionname-syntax-for-ini-file-variables\/\" title=\"Continue reading &rarr;\">Continue reading &rarr;<\/a><\/div><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Entries in the [Settings] section Entries in the [DNS-Settings] section Entries in the [TFTP-Settings] section Entries in the [HTTP-Settings] section Entries in the [General], [General_x] or client section<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/www.dhcpserver.de\/cms\/wp-json\/wp\/v2\/pages\/4","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.dhcpserver.de\/cms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.dhcpserver.de\/cms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.dhcpserver.de\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.dhcpserver.de\/cms\/wp-json\/wp\/v2\/comments?post=4"}],"version-history":[{"count":9,"href":"http:\/\/www.dhcpserver.de\/cms\/wp-json\/wp\/v2\/pages\/4\/revisions"}],"predecessor-version":[{"id":531,"href":"http:\/\/www.dhcpserver.de\/cms\/wp-json\/wp\/v2\/pages\/4\/revisions\/531"}],"wp:attachment":[{"href":"http:\/\/www.dhcpserver.de\/cms\/wp-json\/wp\/v2\/media?parent=4"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}