dhcp-eval

Autres langues

Langue: ja

Version: 366198 (ubuntu - 25/10/10)

Section: 5 (Format de fichier)

ÌŸŸÎ

dhcp-eval - ISC DHCP €Ë€ª€±€ëŸò·ïÉÕ€­ÉŸ²Á

²òÀâ

Internet Systems Consortium €Î DHCP ¥¯¥é¥€¥¢¥ó¥È€È¥µ¡Œ¥Ð€Ï¡¢€É€Á€é€â Œõ¿®€¹€ë¥Ñ¥±¥Ã¥È€Ë°Íž€·€¿Ÿò·ïÉÕ€­Æ°ºî€ò¹Ô€ŠÇœÎÏ€ò»ý€Á€Þ€¹¡£ Ÿò·ïÉÕ€­Æ°ºî€Îʞˡ€ò€³€³€ËŒš€·€Þ€¹¡£

»²ŸÈ: Ÿò·ïÉÕ€­Æ°ºî

Ÿò·ïÉÕ€­Æ°ºî€Ï¡¢if, else, elsif Êž€ò»ÈÍÑ€·€Æ»ØÄꀷ€Þ€¹¡£ Ÿò·ïÊž€Ï¡¢ÄÌŸïÊž (option Êž) €¬ÅПì²ÄÇœ€ÊŸìœê€Ï€É€³€Ë€Ç€âÅПì²ÄÇœ€Ç€¢€ê¡¢ €Þ€¿€³€Î€è€Š€ÊÊž€ò³ç€ë€³€È€â²ÄÇœ€Ç€¹¡£ ¥µ¡Œ¥Ð€Ë€ª€±€ëŸò·ïÊž€ÏŒ¡€Î€è€Š€Ë€Ê€ë€³€È€¬Â¿€€€Ç€·€ç€Š:
 if option dhcp-user-class = "accounting" {
   max-lease-time 17600;
   option domain-name "accounting.example.org";
   option domain-name-servers ns1.accounting.example.org, 
                              ns2.accounting.example.org;
 } elsif option dhcp-user-class = "sales" {
   max-lease-time 17600;
   option domain-name "sales.example.org";
   option domain-name-servers ns1.sales.example.org, 
                              ns2.sales.example.org;
 } elsif option dhcp-user-class = "engineering" {
   max-lease-time 17600;
   option domain-name "engineering.example.org";
   option domain-name-servers ns1.engineering.example.org, 
                              ns2.engineering.example.org;
 } else {
   max-lease-time 600;
   option domain-name "misc.example.org";
   option domain-name-servers ns1.misc.example.org, 
                              ns2.misc.example.org;
 }
 

¥¯¥é¥€¥¢¥ó¥ÈŠ€Ç€Ï¡¢Ÿò·ïÉÕ€­ÉŸ²Á€ÎÎã€ÏŒ¡€Î€è€Š€Ë€Ê€ë€Ç€·€ç€Š:

 # example.org €Ï¥Õ¥¡¥€¥ä¥Š¥©¡Œ¥ë€Ç DNS €ò¥Õ¥£¥ë¥¿€¹€ë€Î€Ç¡¢
 # example.org ¥Í¥Ã¥È¥ï¡Œ¥¯€Ë·Ò€¬€ë€È€­€Î€ß¡¢€œ€Î DNS ¥µ¡Œ¥Ð€ò»ÈÍÑ€·€Þ€¹¡£
 # example.org €Ë·Ò€¬€ë€Î€Ç€Ï€Ê€€Ÿì¹ç¡¢Œ«žÊ€Î DNS ¥µ¡Œ¥Ð€òÍ¥Àè»ÈÍÑ€·€Þ€¹¡£
 if not option domain-name = "example.org" {
   prepend domain-name-servers 127.0.0.1;
 }
 

if Êž€È elsif ·Ñ³ʞ€Ï¡¢°ú¿ô€È€·€Æ¥Ö¡Œ¥ëŒ°€òŒè€ê€Þ€¹¡£ €Ä€Þ€ê¡¢€³€ì€é€ÎÊž€Ï¡¢ÉŸ²Á€µ€ì€ë€È¥Ö¡Œ¥ëÃ̀ηë²Ì€òÀžÀ®€¹€ëŒ°€òŒè€ê€Þ€¹¡£ Œ°€ÎÉŸ²Á·ë²Ì€¬¿¿€Ë€Ê€ë€È¡¢ if Êž€ÎÄŸžå€Î¥Ö¥ì¡Œ¥¹€Ç³ç€é€ì€¿Êž€¬ŒÂ¹Ô€µ€ì¡¢žå³€¹€ë elsif €È else €ÎÀá€Ï¥¹¥­¥Ã¥×€µ€ì€Þ€¹¡£ €œ€Š€Ç€Ê€€Ÿì¹ç¡¢ÉŸ²Á·ë²Ì€¬¿¿€Ë€Ê€ë elsif Àá€ËœÐ²ñ€Š€Þ€Ç¡¢žå³€¹€ë³Æ elsif Àá€ÎŒ°€¬¥Á¥§¥Ã¥¯€µ€ì€Þ€¹¡£ €œ€Î€è€Š€ÊÀာž«ÉÕ€«€ë€È¡¢ÄŸžå€Î¥Ö¥ì¡Œ¥¹Ãæ€ÎÊž€¬ŒÂ¹Ô€µ€ì¡¢žå³€¹€ë elsif €È else €ÎÀá€Ï¥¹¥­¥Ã¥×€µ€ì€Þ€¹¡£ €¹€Ù€Æ€Î if €ª€è€Ó elsif €ÎÀာ¥Á¥§¥Ã¥¯€µ€ì€¿€â€Î€Î€É€ÎŒ°€â¿¿€Ë€Ê€é€Ê€€Ÿì¹ç€Ç¡¢ else Àာžºß€¹€ëŸì¹ç¡¢ else €ÎÄŸžå€Î¥Ö¥ì¡Œ¥¹Ãæ€ÎÊž€¬ÉŸ²Á€µ€ì€Þ€¹¡£ Ÿò·ï€Ë€ª€€€Æ€Ï¡¢ÉŸ²Á·ë²Ì€¬¶õ€Ë€Ê€ë¥Ö¡Œ¥ëŒ°€Ïµ¶€È€·€Æ°·€ï€ì€Þ€¹¡£

¥Ö¡Œ¥ëŒ°

°Ê²Œ€Ï¡¢DHCP ÇÛÉÛʪ€Çžœºß¥µ¥Ý¡Œ¥È€µ€ì€Æ€€€ë¥Ö¡Œ¥ëŒ°€Î°ìÍ÷€Ç€¹¡£

data-expression-1 = data-expression-2


= ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢2 žÄ€Î¥Ç¡Œ¥¿Œ°€òÈæ³Ó€·¡¢ÎŸŒÔ€¬Æ±€žŸì¹ç€Ï¿¿€òÊÖ€·¡¢ Ʊ°ì€Ç€Ê€€Ÿì¹ç€Ïµ¶€òÊÖ€·€Þ€¹¡£ ºžÊՀ‷€¯€Ï±ŠÊՀ΀€€º€ì€«€¬¶õ€ÎŸì¹ç¡¢·ë²Ì€Ï¶õ€Ë€Ê€ê€Þ€¹¡£

boolean-expression-1 and boolean-expression-2

and ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢ºžÊՀΥ֡Œ¥ëŒ°€È±ŠÊՀΥ֡Œ¥ëŒ°€ÎΟÊý€ÎÉŸ²Á·ë²Ì€¬ ¿¿€ÎŸì¹ç¡¢¿¿€ÈÉŸ²Á€µ€ì€Þ€¹¡£ €œ€Š€Ç€Ê€€Ÿì¹ç¡¢µ¶€ÈÉŸ²Á€µ€ì€Þ€¹¡£ ºžÊՀ‷€¯€Ï±ŠÊՀ΀€€º€ì€«€¬¶õ€ÎŸì¹ç¡¢·ë²Ì€Ï¶õ€Ë€Ê€ê€Þ€¹¡£

boolean-expression-1 or boolean-expression-2

or ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢ºžÊՀΥ֡Œ¥ëŒ°€È±ŠÊՀΥ֡Œ¥ëŒ°€Î€€€º€ì€«€ÎÉŸ²Á·ë²Ì€¬ ¿¿€ÎŸì¹ç¡¢¿¿€ÈÉŸ²Á€µ€ì€Þ€¹¡£ €œ€Š€Ç€Ê€€Ÿì¹ç¡¢µ¶€ÈÉŸ²Á€µ€ì€Þ€¹¡£ ºžÊՀ‷€¯€Ï±ŠÊՀ΀€€º€ì€«€¬¶õ€ÎŸì¹ç¡¢·ë²Ì€Ï¶õ€Ë€Ê€ê€Þ€¹¡£

not boolean-expression

not ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢boolean-expression €ÎÉŸ²Á·ë²Ì€¬µ¶€ÎŸì¹ç¡¢ ¿¿€ÈÉŸ²Á€µ€ì€Þ€¹¡£ €Þ€¿¡¢boolean-expression €ÎÉŸ²Á·ë²Ì€¬¿¿€ÎŸì¹ç¡¢µ¶€ÈÉŸ²Á€µ€ì€Þ€¹¡£ boolean-expression €ÎÉŸ²Á·ë²Ì€¬¶õ€ÎŸì¹ç¡¢·ë²Ì€â€Þ€¿¶õ€Ë€Ê€ê€Þ€¹¡£

exists option-name

exists Œ°€Ï¡¢œèÍýÂП݀ÎÆþÎÏ DCHP ¥Ñ¥±¥Ã¥ÈÃæ€Ë¡¢ »ØÄꀵ€ì€¿¥ª¥×¥·¥ç¥ó€¬Âžºß€¹€ëŸì¹ç¡¢¿¿€òÊÖ€·€Þ€¹¡£
known
known Œ°€Ï¡¢Í×µáÂбþÃæ€Î¥¯¥é¥€¥¢¥ó¥È€¬ŽûÃ΀Οì¹ç¡¢ €¹€Ê€ï€Á¥Û¥¹¥ÈÀëžÀ€¬€¢€ëŸì¹ç¡¢¿¿€òÊÖ€·€Þ€¹¡£
static
static Œ°€Ï¡¢Í×µáÂбþÃæ€Î¥¯¥é¥€¥¢¥ó¥È€Ø€Î¥ê¡Œ¥¹³ä€êÅö€Æ€¬¡¢ ÀÅŪ¥¢¥É¥ì¥¹³ä€êÅö€Æ€Ë€è€ë€â€Î€Ç€¢€Ã€¿Ÿì¹ç¡¢¿¿€òÊÖ€·€Þ€¹¡£

¥Ç¡Œ¥¿Œ°

Á°œÒ€Î¥Ö¡Œ¥ëŒ°€Ï¡¢¥Ç¡Œ¥¿Œ°€ÎÉŸ²Á·ë²Ì€Ë°Íž€·€Þ€¹¡£ ¥Ç¡Œ¥¿Œ°€ò€³€³€ËŒš€·€Þ€¹¡£

substring (data-expr, offset, length)

substring ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢¥Ç¡Œ¥¿Œ°€òÉŸ²Á€·¡¢ ÉŸ²Á·ë²ÌÃæ€Î offset ¥Ð¥€¥È€«€é³«»Ï€·€Æ length ¥Ð¥€¥È·Ñ³€¹€ë ¥µ¥Ö¥¹¥È¥ê¥ó¥°€òÊÖ€·€Þ€¹¡£ offset €È length €Ï¶Š€Ë¿ôÃÍŒ°€Ç€¹¡£ data-expr, offset, length €Î€€€º€ì€«€¬¶õ€ÈÉŸ²Á€µ€ì€ëŸì¹ç¡¢ ·ë²Ì€â€Þ€¿¶õ€Ë€Ê€ê€Þ€¹¡£ offset €¬¡¢ÉŸ²Á€µ€ì€¿¥Ç¡Œ¥¿€ÎĹ€µ°ÊŸå€Ç€¢€ëŸì¹ç¡¢ Ĺ€µ 0 €Î¥Ç¡Œ¥¿Êž»úÎó€¬ÊÖ€µ€ì€Þ€¹¡£ length €¬¡¢ÉŸ²Á€µ€ì€¿¥Ç¡Œ¥¿€Î offset €è€êžå€ÎĹ€µ€è€êÂ瀭€€Ÿì¹ç¡¢ ÉŸ²Á€µ€ì€¿¥Ç¡Œ¥¿€Î offset €«€éœªÃŒ€Þ€Ç€ÎÁŽ¥Ç¡Œ¥¿€òŽÞ€à ¥Ç¡Œ¥¿Êž»úÎó€¬ÊÖ€µ€ì€Þ€¹¡£

suffix (data-expr, length)

suffix ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢data-expr €òÉŸ²Á€·¡¢ ÉŸ²Á·ë²Ì€ÎºÇžå€Î length ¥Ð¥€¥È€òÊÖ€·€Þ€¹¡£ length €Ï¿ôÃÍŒ°€Ç€¹¡£ data-expr €Þ€¿€Ï length €ÎÉŸ²Á·ë²Ì€¬¶õ€ÎŸì¹ç¡¢ ·ë²Ì€â€Þ€¿¶õ€Ë€Ê€ê€Þ€¹¡£ suffix (ÌõÃí: length €¬Àµ€·€€€È»×€ï€ì€Þ€¹) €ÎÉŸ²Á·ë²Ì€¬ÉŸ²Á€µ€ì€¿¥Ç¡Œ¥¿€ÎĹ€µ€è€êÂ瀭€€Ÿì¹ç¡¢ ÉŸ²Á€µ€ì€¿¥Ç¡Œ¥¿€¬ÊÖ€µ€ì€Þ€¹¡£

option option-name

option ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢¥µ¡Œ¥Ð€¬±þÅúœèÍýÃæ€Î¥Ñ¥±¥Ã¥È€ÎÃæ€Î¡¢ »ØÄꀷ€¿¥ª¥×¥·¥ç¥ó€ÎÆâÍÆ€òÊÖ€·€Þ€¹¡£

config-option option-name

config-option ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢»ØÄꀷ€¿¥ª¥×¥·¥ç¥ó€ËÂЀ·¡¢ DHCP ¥¯¥é¥€¥¢¥ó¥È€Þ€¿€Ï¥µ¡Œ¥Ð€¬Á÷œÐ€¹€ë€è€ŠÀßÄꀵ€ì€¿ÃÍ€òÊÖ€·€Þ€¹¡£

hardware

hardware ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢¥Ç¡Œ¥¿¥¹¥È¥ê¥ó¥°€òÊÖ€·€Þ€¹¡£ ¥Ç¡Œ¥¿¥¹¥È¥ê¥ó¥°€ÎºÇœé€ÎÍ×Áǀϡ¢ ÂПݥѥ±¥Ã¥È€¬Œš€¹¥Í¥Ã¥È¥ï¡Œ¥¯¥€¥ó¥¿¥Õ¥§¡Œ¥¹€Î¥¿¥€¥×€Ç€¢€ê¡¢ žå³€¹€ëÍ×Áǀϡ¢¥¯¥é¥€¥¢¥ó¥È€Î¥ê¥ó¥¯ÁØ¥¢¥É¥ì¥¹€Ç€¹¡£ ¥Ñ¥±¥Ã¥È€¬Âžºß€·€Ê€€Ÿì¹ç€â€·€¯€Ï RFC2131 hlen ¥Õ¥£¡Œ¥ë¥É€¬Ìµžú€ÊŸì¹ç¡¢ ·ë²Ì€Ï¶õ€Ë€Ê€ê€Þ€¹¡£ ¥Ï¡Œ¥É¥Š¥§¥¢¥¿¥€¥×€Ë€Ï¡¢¥€¡Œ¥µ¥Í¥Ã¥È (1)¡¢¥È¡Œ¥¯¥ó¥ê¥ó¥° (6)¡¢ FDDI (8) €¬ŽÞ€Þ€ì€Þ€¹¡£ ¥Ï¡Œ¥É¥Š¥§¥¢¥¿¥€¥×€Ï IETF €Ë€è€Ã€Æµ¬Äꀵ€ì¡¢ €É€Î€è€Š€Ë¥¿¥€¥×€Î¿ôÃÍ€¬ÄêµÁ€µ€ì€ë€«€ÎŸÜºÙ€Ï RFC2131 (ISC DHCP ÇÛÉÛʪ€Ç€Ï¡¢doc/ ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê€Ë€¢€ê€Þ€¹) €ò»²ŸÈ€·€Æ€¯€À€µ€€¡£

packet (offset, length)

packet ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢ÂПݥѥ±¥Ã¥È€Î»ØÄêÉôʬ€òÊÖ€¹€«¡¢ ÂПݥѥ±¥Ã¥È€¬Ìµ€€ÊžÌ®€Ç€Ï¶õ€òÊÖ€·€Þ€¹¡£ offset €È length €Ï¡¢ substring ¥ª¥Ú¥ì¡Œ¥¿€ÈƱÍ̀ˡ¢¥Ñ¥±¥Ã¥È€ÎÆâÍÆ€ËŬÍÑ€µ€ì€Þ€¹¡£

string

¥¯¥©¡Œ¥È€Ç³ç€é€ì€¿¥¹¥È¥ê¥ó¥°€Ï¥Ç¡Œ¥¿Œ°€È€·€Æ»ØÄê²ÄÇœ€Ç€¢€ê¡¢ ¥¯¥©¡Œ¥È€ÎŽÖ€ò ASCII ¥š¥ó¥³¡Œ¥É€·€¿€Î¥Æ¥­¥¹¥È€òÊÖ€·€Þ€¹¡£ ¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å ('\') Êž»ú€Ï C ¥×¥í¥°¥é¥à€Î€è€Š€ËÆÃÊÌ°·€€€µ€ì€Þ€¹: €¹€Ê€ï€Á '\t' €Ï¥¿¥Ö€ò¡¢'\r' €ÏÉü²þ€ò¡¢'\n' €Ï²þ¹Ô€ò¡¢'\b' €Ï¥Ù¥ë€ò °ÕÌ£€·€Þ€¹¡£ 8 ¿Ê¿ôÃÍ€Ï '\nnn' €Ç»ØÄê²ÄÇœ€Ç€¢€ê¡¢nnn €Ï 0 °ÊŸå 0377 °Ê²Œ€Î 8 ¿Ê¿ôÃ̀ǀ¹¡£ 16 ¿Ê¿ôÃÍ€Ï '\xnn' €Ç»ØÄê²ÄÇœ€Ç€¢€ê¡¢nn €Ï 0 °ÊŸå 0xff °Ê²Œ€Î 16 ¿Ê¿ôÃ̀ǀ¹¡£

colon-separated hexadecimal list

¥³¥í¥ó€Ç¶èÀÚ€é€ì€¿ 16 ¿Ê¿ô€Î¥ª¥¯¥Æ¥Ã¥ÈÃ̀Υꥹ¥È€ò¡¢ ¥Ç¡Œ¥¿Œ°€È€·€Æ»ØÄê²ÄÇœ€Ç€¹¡£

concat (data-expr1, ..., data-exprN)

Œ°€¬ÉŸ²Á€µ€ì¡¢³ÆÉŸ²Á·ë²Ì€¬¥µ¥ÖŒ°€ÎœçÈÖ€ËÏ¢·ë€µ€ì€Þ€¹¡£ ¥µ¥ÖŒ°€Î€€€º€ì€«€ÎÉŸ²Á·ë²Ì€¬¶õ€Ë€Ê€ëŸì¹ç¡¢Ï¢·ë€Î·ë²Ì€Ï¶õ€Ë€Ê€ê€Þ€¹¡£

reverse (numeric-expr1, data-expr2)

2 žÄ€ÎŒ°€¬ÉŸ²Á€µ€ì¡¢¥Ç¡Œ¥¿Œ°€ÎÉŸ²Á·ë²Ì€¬€œ€ÎŸì€ÇÈ¿ÅŸ€µ€ì€Þ€¹¡£ È¿ÅŸ€Ï¡¢¿ôÃÍŒ°€Ç»ØÄꀵ€ì€ëÂ瀭€µ€Îñ°Ì€Ç¹Ô€ï€ì€Þ€¹¡£ Î〚€Ð¡¢¿ôÃÍŒ°€ÎÉŸ²Á·ë²Ì€¬ 4 €ÎŸì¹ç€Ç¡¢ ¥Ç¡Œ¥¿Œ°€ÎÉŸ²Á·ë²Ì€¬ 12 ¥Ð¥€¥È€Ë€Ê€ëŸì¹ç¡¢ reverse Œ°€ÎÉŸ²Á·ë²Ì€Ï¡¢Œ¡€Î€è€Š€Ê 12 ¥Ð¥€¥È€Î¥Ç¡Œ¥¿€Ë€Ê€ê€Þ€¹¡£ €¹€Ê€ï€Á¡¢ÆþÎπκǞå€Î 4 ¥Ð¥€¥È¡¢¿¿Ãæ€Î 4¥Ð¥€¥È¡¢ºÇœé€Î 4 ¥Ð¥€¥È€Î œç€Ë€Ê€ê€Þ€¹¡£

leased-address

€€€«€Ê€ëʞ̮€Ë€ª€€€Æ€â¡¢ Í×µáœèÍýÂП݀ȀʀÀƀ€€ë¥¯¥é¥€¥¢¥ó¥È€Ë IP ¥¢¥É¥ì¥¹€¬³ä€êÅö€ÆºÑ€ÎŸì¹ç¡¢ €œ€Î IP ¥¢¥É¥ì¥¹€¬ÊÖ€µ€ì€Þ€¹¡£

binary-to-ascii (numeric-expr1, numeric-expr2, data-expr1, data-expr2)

data-expr2 €ÎÉŸ²Á·ë²Ì€ò¥Æ¥­¥¹¥È¥¹¥È¥ê¥ó¥°€ËÊÑŽ¹€·€Þ€¹¡£ €³€Î¥Æ¥­¥¹¥È¥¹¥È¥ê¥ó¥°Ãæ€Ç€Ï¡¢ data-expr2 €ÎÉŸ²Á·ë²Ì€Î³ÆÍ×ÁÇ€¬¡¢1 žÄ€Î¿ôÃ̀ˀʀê€Þ€¹¡£ ³Æ¿ôÃ̀ϡ¢€œ€ì€Ÿ€ì¡¢data-expr1 €ÎÉŸ²Á·ë²Ì€Ë€è€Ã€Æ¶èÀÚ€é€ì€Þ€¹¡£ numeric-expr1 €ÎÉŸ²Á·ë²Ì€Ï¡¢Žð¿ô (2 €«€é 16) €Ç€¢€ê¡¢ €³€ÎŽð¿ô€Ë¿ôÃÍ€¬ÊÑŽ¹€µ€ì€Þ€¹¡£ numeric-expr2 €ÎÉŸ²Á·ë²Ì€Ï¡¢³Æ¿ôÃ̀ΥӥåÈÉý€Ç€¢€ê¡¢ 8, 16, 32 €Î€€€º€ì€«€Ç€¹¡£
ºÇœé€Î 3 žÄ€Î¥¿¥€¥×€ÎŒ°€ÎÎã€È€·€Æ¡¢ ¥¯¥é¥€¥¢¥ó¥È€Ë³ä€êÅö€Æ€é€ì€¿ IP ¥¢¥É¥ì¥¹ÍрΠPTR ¥ì¥³¡Œ¥É€ÎÌŸÁ°€òÀžÀ®€¹€ë€¿€á€Ë»ÈÍѲÄÇœ€ÊŒ°€òŒš€·€Þ€¹
         concat (binary-to-ascii (10, 8, ".",
                                  reverse (1, leased-address)),
                 ".in-addr.arpa.");
 
 

encode-int (numeric-expr, width)

¿ôÃÍŒ°€¬ÉŸ²Á€µ€ì¡¢»ØÄꀵ€ì€¿Éý€Î¥Ç¡Œ¥¿¥¹¥È¥ê¥ó¥°€Ë ¥Í¥Ã¥È¥ï¡Œ¥¯¥Ð¥€¥Èœç (ºÇŸå°Ì¥Ð¥€¥È€¬ºÇœé) €Ç¥š¥ó¥³¡Œ¥É€µ€ì€Þ€¹¡£ ¿ôÃÍŒ°€ÎÉŸ²Á·ë²Ì€¬¶õ€ÎÃ̀ˀʀëŸì¹ç¡¢·ë²Ì€â€Þ€¿¶õ€Ç€¹¡£

pick-first-value (data-expr1 [ ... exprn ] )

pick-first-value ŽØ¿ô€Ï¡¢Ç€°ÕžÄ€Î¥Ç¡Œ¥¿Œ°€òŒè€êÆÀ€Þ€¹¡£ ¥ê¥¹¥È€ÎÀèƬ€«€é³ÆŒ°€¬ÉŸ²Á€µ€ì¡¢ ÉŸ²Á·ë²Ì€¬¶õ€Ç€Ï€Ê€€Œ°€¬ž«ÉÕ€«€ë€Þ€Ç€³€ì€¬Â³€­€Þ€¹¡£ €³€ÎŒ°€¬ÊÖ€µ€ì¡¢€³€ÎŒ°€Ëžå³€¹€ëŒ°€ÏÉŸ²Á€µ€ì€Þ€»€ó¡£ €¹€Ù€Æ€ÎŒ°€ÎÉŸ²Á·ë²Ì€¬¶õ€ÎŸì¹ç¡¢¶õ€ÎÃÍ€¬ÊÖ€µ€ì€Þ€¹¡£

host-decl-name

host-decl-name ŽØ¿ô€Ï¡¢žœºßÍ×µáœèÍýÂП݀ȀʀÀƀ€€ë¥¯¥é¥€¥¢¥ó¥È€Ë¥Þ¥Ã¥Á€¹€ë¡¢ ¥Û¥¹¥ÈÀëžÀ€ÎÌŸÁ°€òÊÖ€·€Þ€¹¡£ €É€Î¥Û¥¹¥ÈÀëžÀ€â¥Þ¥Ã¥Á€·€Ê€€Ÿì¹ç¡¢·ë²Ì€Ï¶õ€Ë€Ê€ê€Þ€¹¡£

¿ôÃÍŒ°

¿ôÃÍŒ°€Ï¡¢ÉŸ²Á·ë²Ì€¬À°¿ô€Ë€Ê€ëŒ°€Ç€¹¡£ °ìÈ̀ˡ¢À°¿ô€ÎºÇÂ祵¥€¥º€¬ 32 ¥Ó¥Ã¥ÈÌ€Ëþ€Ç€¢€ë€È²ŸÄꀹ€Ù€­€Ç€Ï€¢€ê€Þ€»€ó€¬¡¢ À°¿ô€ÎÀºÅÙ€¬ 32 ¥Ó¥Ã¥È€ò±Û€š€ë€³€È€Ï€¢€êÆÀ€Þ€¹¡£

extract-int (data-expr, width)

extract-int ¥ª¥Ú¥ì¡Œ¥¿€Ï¡¢¥Í¥Ã¥È¥ï¡Œ¥¯¥Ð¥€¥Èœç€ÎÀ°¿ô€ò¡¢ »ØÄꀷ€¿¥Ç¡Œ¥¿Œ°€ÎÉŸ²Á·ë²Ì€«€éŒè€êœÐ€·€Þ€¹¡£ Éý€Ï¡¢Œè€êœÐ€¹À°¿ô€Î¥Ó¥Ã¥ÈÉý€Ç€¹¡£ žœºß¡¢¥µ¥Ý¡Œ¥È€µ€ì€Æ€€€ëÉý€Ï 8, 16, 32 €Î€€€º€ì€«€Ç€¹¡£ ¥Ç¡Œ¥¿Œ°€ÎÉŸ²Á·ë²Ì€¬¡¢»ØÄꀷ€¿Â瀭€µ€ÎÀ°¿ô€ÈŒè€êœÐ€¹€Î€Ë œœÊ¬€Ê¥Ó¥Ã¥È€òÄ󶡀·€Ê€€Ÿì¹ç¡¢¶õ€ÎÃÍ€¬ÊÖ€µ€ì€Þ€¹¡£

lease-time

žœºß€Î¥ê¡Œ¥¹€ÎŽüŽÖ€Ç€¹¡£ €¹€Ê€ï€Á¡¢žœºß€Î»þ¹ï€È¥ê¡Œ¥¹€ÎŽüžÂ€¬ÀÚ€ì€ë»þ¹ï€È€Îº¹€Ç€¹¡£

number

0 €«€éÉœžœ²ÄÇœ€ÊºÇÂ祵¥€¥º€ÎÈÏ°Ï€ÎÇ€°Õ€Î¿ôÃÍ€ò¡¢¿ôÃÍŒ°€È€·€Æ»ØÄê²ÄÇœ€Ç€¹¡£

client-state

œèÍýÂП݀Υ¯¥é¥€¥¢¥ó¥È€Îžœºß€ÎŸõÂրǀ¹¡£ DHCP ¥¯¥é¥€¥¢¥ó¥ÈÀßÄê¥Õ¥¡¥€¥ë€Ë€ª€€€Æ€Î€ßÍ­Íрǀ¹¡£ Œè€êÆÀ€ëÃ̀ό¡€ÎÄÌ€ê€Ç€¹:
Booting - DHCP ¥¯¥é¥€¥¢¥ó¥È€Ï INIT ŸõÂրǀ¢€ê¡¢ IP ¥¢¥É¥ì¥¹€ò€Þ€À»ý€Á€Þ€»€ó¡£ Œ¡€ËÁ÷¿®€µ€ì€ë¥á¥Ã¥»¡Œ¥ž€Ï DHCPDISCOVER €Ç€¢€ê¡¢ €³€ì€Ï¥Ö¥í¡Œ¥É¥­¥ã¥¹¥È€µ€ì€Þ€¹¡£
Reboot - DHCP ¥¯¥é¥€¥¢¥ó¥È€Ï INIT-REBOOT ŸõÂրǀ¹¡£ IP ¥¢¥É¥ì¥¹€ò»ý€Á€Þ€¹€¬€Þ€À»ÈÍÑ€·€Æ€€€Þ€»€ó¡£ Œ¡€ËÁ÷¿®€µ€ì€ë¥á¥Ã¥»¡Œ¥ž€Ï DHCPREQUEST €Ç€¢€ê¡¢ €³€ì€Ï¥Ö¥í¡Œ¥É¥­¥ã¥¹¥È€µ€ì€Þ€¹¡£ ±þÅú€¬²¿€âʹ€³€š€Ê€€€È¡¢¥¯¥é¥€¥¢¥ó¥È€Ï€³€Î¥¢¥É¥ì¥¹€Ë¥Ð¥€¥ó¥É€·¡¢ BOUND ŸõÂÖ€ËÁ«°Ü€·€Þ€¹¡£
Select - DHCP ¥¯¥é¥€¥¢¥ó¥È€Ï SELECTING ŸõÂրǀ¹¡£ Ÿ¯€Ê€¯€È€â 1 žÄ€Î DHCPOFFER ¥á¥Ã¥»¡Œ¥ž€ÏŒõ¿®€·€Þ€·€¿€¬¡¢ Ÿ€Î DHCPOFFER ¥á¥Ã¥»¡Œ¥ž€òŸ€Î¥µ¡Œ¥Ð€«€éŒõ€±Œè€ë€«€É€Š€«ÂԀÀƀ€€Þ€¹¡£ SELECTING ŸõÂրǀϥá¥Ã¥»¡Œ¥ž€ÏÁ÷¿®€µ€ì€Þ€»€ó¡£
Request - DHCP ¥¯¥é¥€¥¢¥ó¥È€Ï REQUESTING ŸõÂրǀ¹¡£ Ÿ¯€Ê€¯€È€â 1 žÄ€Î DHCPOFFER ¥á¥Ã¥»¡Œ¥ž€òŒõ¿®€·¡¢ €œ€Î€Š€Á€Î€É€ì€òÍ׵္€ë€«ÁªÂò€·€Þ€·€¿¡£ Œ¡€ËÁ÷¿®€µ€ì€ë¥á¥Ã¥»¡Œ¥ž€Ï DHCPREQUEST ¥á¥Ã¥»¡Œ¥ž€Ç€¢€ê¡¢ €³€ì€Ï¥Ö¥í¡Œ¥É¥­¥ã¥¹¥È€µ€ì€Þ€¹¡£
Bound - DHCP ¥¯¥é¥€¥¢¥ó¥È€Ï BOUND ŸõÂրǀ¹¡£ IP ¥¢¥É¥ì¥¹€òœêÍ­€·€Æ€€€Þ€¹¡£ €³€ÎŸõÂրǀϥá¥Ã¥»¡Œ¥ž€ÏÁ÷¿®€µ€ì€Þ€»€ó¡£
Renew - DHCP ¥¯¥é¥€¥¢¥ó¥È€Ï RENEWING ŸõÂրǀ¹¡£ IP ¥¢¥É¥ì¥¹€òœêÍ­€·€Æ€ª€ê¡¢€³€ì€ò¹¹¿·€¹€ë€¿€á€Ë¥µ¡Œ¥Ð€ËÀܳ€ò»î€ß€Æ€€€Þ€¹¡£ Œ¡€ËÁ÷¿®€µ€ì€ë¥á¥Ã¥»¡Œ¥ž€Ï DHCPREQUEST ¥á¥Ã¥»¡Œ¥ž€Ç€¢€ê¡¢ €³€ì€Ï¥µ¡Œ¥Ð€ËÄŸÀÜ¥æ¥Ë¥­¥ã¥¹¥È€µ€ì€Þ€¹¡£
Rebind - DHCP ¥¯¥é¥€¥¢¥ó¥È€Ï REBINDING ŸõÂրǀ¹¡£ IP ¥¢¥É¥ì¥¹€òœêÍ­€·€Æ€ª€ê¡¢ €³€ì€ò¹¹¿·€¹€ë€¿€á€ËÇ€°Õ€Î¥µ¡Œ¥Ð€ËÀܳ€ò»î€ß€Æ€€€Þ€¹¡£ Œ¡€ËÁ÷¿®€µ€ì€ë¥á¥Ã¥»¡Œ¥ž€Ï DHCPREQUEST ¥á¥Ã¥»¡Œ¥ž€Ç€¢€ê¡¢ €³€ì€Ï¥Ö¥í¡Œ¥É¥­¥ã¥¹¥È€µ€ì€Þ€¹¡£

»²ŸÈ: ¥í¥°

¥í¥°Êž€ò»ÈÍÑ€·€Æ¡¢Éžœà¥í¥°¥Á¥ã¥Í¥ë€ËŸðÊó€òÁ÷¿®²ÄÇœ€Ç€¹¡£ ¥í¥°Êž€Ï¡¢ŸÊά²ÄÇœ€Ê priority (fatal, error, info, debug €Î€€€º€ì€«) €È¡¢ ¥Ç¡Œ¥¿Œ°€òŒè€ê€Þ€¹¡£

log (priority, data-expr)

¥í¥°Êž€Ï¡¢Ã±°ì€Î¥Ç¡Œ¥¿Œ°°ú¿ô€Î€ßŒè€ê€Þ€¹¡£ Ê£¿ô€Î¥Ç¡Œ¥¿ÃÍ€òœÐÎÏ€·€¿€€Ÿì¹ç¡¢ concat ¥ª¥Ú¥ì¡Œ¥¿€ò»ÈÍÑ€·€Æ€œ€ì€é€òÏ¢·ë€¹€ëɬÍ×€¬€¢€ê€Þ€¹¡£

»²ŸÈ: ưŪ€Ê DNS ¹¹¿·

DHCP ¥¯¥é¥€¥¢¥ó¥È€È¥µ¡Œ¥Ð€Ï¡¢ ưŪ€Ë¥É¥á¥€¥ó¥Í¡Œ¥à¥·¥¹¥Æ¥à€ò¹¹¿·€¹€ëÇœÎÏ€¬€¢€ê€Þ€¹¡£ ÀßÄê¥Õ¥¡¥€¥ëÃæ€Ë¡¢€É€Î€è€Š€Ë¥É¥á¥€¥ó¥Í¡Œ¥à¥·¥¹¥Æ¥à€ò¹¹¿·€·€ÆÍ߀·€€€«¡¢ ÄêµÁ²ÄÇœ€Ç€¹¡£ ¹¹¿·€Ï RFC 2136 €ËœŸ€Ã€Æ€€€ë€¿€á¡¢ RFC 2136 €ò¥µ¥Ý¡Œ¥È€¹€ë DNS ¥µ¡Œ¥Ð€Ï¡¢ DHCP ¥µ¡Œ¥Ð€«€é€Î¹¹¿·€òŒõ€±ÉÕ€±²ÄÇœ€È»×€ï€ì€Þ€¹¡£

¥»¥­¥å¥ê¥Æ¥£

TSIG €ª€è€Ó DNSSEC €Ï€Þ€À¥µ¥Ý¡Œ¥È€µ€ì€Æ€€€Þ€»€ó¡£ DHCP ¥µ¡Œ¥Ð€Þ€¿€Ï¥¯¥é¥€¥¢¥ó¥È€«€é€Î¹¹¿·€òŒõ€±ÉÕ€±€ë€è€Š€Ë DNS ¥µ¡Œ¥Ð€òÀßÄꀹ€ëŸì¹ç¡¢ž¢žÂ€Î̵€€¹¹¿·€ËÂЀ·€Æ DNS ¥µ¡Œ¥Ð€ò»¯€¹€³€È€Ë€Ê€ë€«€â€·€ì€Þ€»€ó¡£ €³€ì€òÈò€±€ë€¿€á€Ëº£€¹€°€Ç€­€ëºÇÎÉ€ÎÊýË¡€Ï¡¢ IP ¥¢¥É¥ì¥¹¥Ù¡Œ¥¹€Î¥Ñ¥±¥Ã¥È¥Õ¥£¥ë¥¿€ò»ÈÍÑ€·€Æ¡¢ ž¢žÂ€Î̵€€¥Û¥¹¥È€«€é€Î¹¹¿·Í×µáȯ¹Ô€òÍ޻߀¹€ë€³€È€Ç€¹¡£ ÌÀ€é€«€Ë¡¢žœŸõ€Ç€Ï¥¯¥é¥€¥¢¥ó¥È€Î¹¹¿·€ËÂЀ¹€ë¥»¥­¥å¥ê¥Æ¥£€òÄ󶡀¹€ëÊýË¡€Ï €¢€ê€Þ€»€ó¡£ €³€Î€¿€á€Ë€Ï TSIG €« DNSSEC €¬É¬Í׀ǀ¹€¬¡¢ €³€Î DHCP ÇÛÉÛʪ€Ë€Ï€Þ€ÀŽÞ€Þ€ì€Æ€€€Þ€»€ó¡£

ưŪ DNS (DDNS) ¹¹¿·€Ï¡¢dns-update Œ°€ò»ÈÍÑ€¹€ë€³€È€ÇŒÂ¹Ô€µ€ì€Þ€¹¡£ dns-update Œ°€Ï¡¢¥Ö¡Œ¥ëŒ°€Ç€¢€ê¡¢4 žÄ€Î¥Ñ¥é¥á¡Œ¥¿€òŒè€ê€Þ€¹¡£ ¹¹¿·€ËÀ®žù€¹€ë€È¡¢·ë²Ì€Ï¿¿€Ë€Ê€ê€Þ€¹¡£ ŒºÇÔ€¹€ë€È¡¢·ë²Ì€Ïµ¶€Ë€Ê€ê€Þ€¹¡£ 4 žÄ€Î¥Ñ¥é¥á¡Œ¥¿€Ï¡¢¥ê¥œ¡Œ¥¹¥ì¥³¡Œ¥É¥¿¥€¥× (RR)¡¢ RR €ÎºžÊÕ¡¢RR €Î±ŠÊÕ¡¢¥ì¥³¡Œ¥É€ËŬÍÑ€µ€ì€ë€Ù€­ ttl €Ç€¹¡£ €³€ÎŽØ¿ô€ÎºÇ€âŽÊñ€Ê»ÈÍÑÎã€Ï¡¢dhcpd.conf ¥Õ¥¡¥€¥ë€Î»²ŸÈÀá€Ë€¢€ê¡¢ €Ê€Ë€¬µ¯€­€ë€«µ­œÒ€µ€ì€Æ€€€Þ€¹¡£ €³€ÎÎã€Ç€Ï¡¢Ê£¿ô€ÎŒ°€¬»ÈÍÑ€µ€ì€Æ¡¢ dns-update Íрΰú¿ô€¬ºîÀ®€µ€ì€Æ€€€Þ€¹¡£

Îã€ÎÃæ€Ç€Ï¡¢ºÇœé€Î dns-update Œ°€Ø€Î 1 ÈÖÌ܀ΰú¿ô€Ï¡¢ A RR ¥¿¥€¥×€ËÉŸ²Á€µ€ì€ë¥Ç¡Œ¥¿Œ°€Ç€¹¡£ 2 ÈÖÌ܀ΰú¿ô€Ï¡¢DHCP host-name ¥ª¥×¥·¥ç¥ó€È ¥í¡Œ¥«¥ë¥É¥á¥€¥ó¡¢€³€ÎŸì¹ç "ssd.example.net"¡¢ €òŽÞ€à¥Æ¥­¥¹¥È¥¹¥È¥ê¥ó¥°€òÏ¢·ë€¹€ë€³€È€Ç¡¢¹œÃÛ€µ€ì€Þ€¹¡£ 3 ÈÖÌ܀ΰú¿ô€Ï¡¢¥¯¥é¥€¥¢¥ó¥È€Ë³ä€êÅö€Æ€é€ì€¿¥¢¥É¥ì¥¹€ò¡¢ 32 ¥Ó¥Ã¥È€Î¿ôÃÍ€«€é³Æ¥Ð¥€¥È€ò "." €Ç¶èÀڀÀ¿ ASCII Êž»úÎó€ËÊÑŽ¹€¹€ë€³€È€Ç¡¢ ¹œÃÛ€µ€ì€Þ€¹¡£ 4 ÈÖÌ܀ΰú¿ô TTL €Ï¡¢¥ê¡Œ¥¹€Î»Ä€ê»þŽÖ€Ç€¹ (€³€ì€ÏËÜÅö€ÏÀµ€·€¯€¢€ê€Þ€»€ó¡£ €Ê€Œ€Ê€é DNS ¥µ¡Œ¥Ð€Ï¡¢Í×µá€ËÂЀ·€Æ€€€Ä€â€³€Î TTL ÃÍ€òœÐÎÏ€·€Æ€·€Þ€Š€«€é€Ç€¹¡£ €³€ì€Ï¡¢¥ê¡Œ¥¹ŽüžÂÀÚ€ì€Î¿ôÉÃÁ°€Ç€¢€Ã€Æ€â€Ç€¹)¡£

ºÇœé€Î dns-update Êž€¬À®žù€¹€ë€È¡¢ °ú€­Â³€€€Æ 2 ÈÖÌ܀ι¹¿·€Ë€è€ê PTR RR €¬¥€¥ó¥¹¥È¡Œ¥ë€µ€ì€Þ€¹¡£ PTR ¥ì¥³¡Œ¥É€Î¥€¥ó¥¹¥È¡Œ¥ë€Ï¡¢A RR €Î¥€¥ó¥¹¥È¡Œ¥ë€ÈƱÍ̀ǀ¹€¬¡¢ ¥ì¥³¡Œ¥É€ÎºžÊՀϥꡌ¥¹€µ€ì€¿¥¢¥É¥ì¥¹€òµÕ€Ë€·€Æ ".in-addr.arpa" €È ·ë¹ç€µ€ì€¿€â€Î€Ç€¹¡£ ±ŠÊՀϡ¢¥¢¥É¥ì¥¹€Î¥ê¡Œ¥¹Äó¶¡À襯¥é¥€¥¢¥ó¥È€Î¡¢Ž°ÁŽ€Ê·Á€Ç€Î¥É¥á¥€¥óÌŸ€Ç€¹¡£

ŽØÏ¢¹àÌÜ

dhcpd.conf(5), dhcpd.leases(5), dhclient.conf(5), dhcp-eval(5), dhcpd(8), dhclient(8), RFC2132, RFC2131

ºîŒÔ

Internet Systems Consortium DHCP Distribution €Ï¡¢Vixie Labs €È€Î·ÀÌó€Î€â€È€Ç¡¢Ted Lemon €¬µ­œÒ€·€Þ€·€¿¡£ ËÜ¥×¥í¥ž¥§¥¯¥È€Î»ñ¶â€Ï¡¢Internet Systems Consortium €¬Ä󶡀·€Þ€·€¿¡£ Internet Systems Consortium €ËŽØ€¹€ëŸðÊó€Ï¡¢ https://www.isc.org €Ë€¢€ê€Þ€¹¡£