DHCP ¼­¹ö¿¡ ±ÔÄ¢ÀÌ ÀÖ³ª¿ä?

   Á¶È¸ 2819   Ãßõ 0    

쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다 


DHCP 서버가 IP 할당한 목록을 보다 궁금한 부분이 생겨서 질문드립니다.


현재 DHCP 서버에서 사용 중인 대역은 [192.168.1.2 ~ 192.168.1.254] 1개입니다.

저는 IP 할당을 숫자가 작은 부분부터 사용할 줄 알았는데 아니어서요.


신기한 게 2부터 30까지, 190부터 199까지 사이로 나눠집니다.

물론 범위 안에 모든 IP를 할당받은 것은 아니긴 합니다.


뭔가 MAC 주소 기반으로 할당하는 알고리즘이 있지 않을까 하는 생각이 듭니다.


혹시 DHCP 서버도 IP 할당에 대한 규칙이 있을까요?

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
Èæ±â»ç 2023-08
IP ÇÒ´ç ¼ø¹ø¿¡ Á¤ÇØÁø ±ÔÄ¢Àº ¾ø½À´Ï´Ù. ±¸ÇöÇÑ ¼­¹ö°¡ »ç¿ëÇÏ´Â ¾Ë°í¸®Áò¿¡ µû¶ó ´Ù¸¨´Ï´Ù.
Ŭ¶óÀ̾ðÆ®Ãø¿¡¼­ ±âÁ¸ IP »ç¿ë°¡´ÉÇÏ°Ô ÇØ´Þ¶ó°í Çϸé ÀÌÀü »ç¿ëÇÑ IPÀÇ ÇöÀç»óŸ¦ È®ÀÎÇؼ­ »ç¿ëÇÏÁö ¾Ê´Â°æ¿ì¿¡ ÇÑÇØ ÀÌÀü°ÍÀ¸·Î ÇÒ´çÇØÁÖ´Â °ÍÀº ÀÖ½À´Ï´Ù.
     
¶óÀϸ® 2023-08
Á¤ÀÇµÈ °ÍÀº µû·Î ¾ø³ªº¸³×¿ä.

DHCP ÀÓ´ë½Ã°£ÀÌ Áö³ª¼­ ¿äûÇصµ IP°¡ °°Àº °Íµµ ±Ã±ÝÇß¾ú´Âµ¥ °°ÀÌ ÇØ°áµÇ¾ú½À´Ï´Ù.
°¨»çÇÕ´Ï´Ù.
¹Ú¹®Çü 2023-08
iptime °øÀ¯±â¸¸ º¸¾Æ¿ÔÀ»¶§

¸ÇóÀ½ °øÀ¯±â°¡ µ¿ÀÛÇϸ鼭 DHCP¼­¹ö°¡ µ¿ÀÛÇϸé DHCP¼­¹ö ¼ÂÆ𪿡¼­ °¡Àå ÀÛÀº IP¹øÈ£ºÎÅÍ ¼ÂÆÃµÈ ³×Æ®¿öÅ© ¾È¿¡¼­ ½ºÄ³´×Çϸç

ÁغñµÈ DHCP Ŭ¶óÀ̾ðÆ®ÀÇ ¸Æ¾îµå·¹½º¸¦ ¹øÈ£¿Í ¸ÅĪ½ÃŲ´Ù¶ó°í »ý°¢ÇÕ´Ï´Ù..

Çѹø µî·ÏµÈ ¸Æ¾îµå·¹½º´Â °øÀ¯±â°¡ ´Ù½Ã ½ÃÀÛÇÏÁö ¾Ê´Â ÇÑ ¹Ù²îÁö ¾Ê±â¿¡ Àåºñ¸¦ ²ô°Å³ª Á¦°ÅÇÑ ÈÄ¿¡ Á» ½Ã°£ÀÌ Áö³ª°í

´Ù½Ã ±× Àåºñ¸¦ µ¿ÀÛ½ÃÅ°¸é ±× ¸Æ¾îµå·¹½º¸¦ ±â¾ïÇÏ´Â °øÀ¯±âÀÇ DHCP ¼­¹ö ¶§¹®¿¡ ±× IP ¹øÈ£´Â ¹Ù²îÁö ¾Ê½À´Ï´Ù..


ÇϳªÀÇ CŬ·¡½º IP ´ë¿ªÀ» °¡Áö´Â DHCP ¼­¹ö¿¡¼­ °¡²û IP¹øÈ£°¡ ²¿À̰ųª ÀæÀº DHCP ¼­¹öÀÇ Àç½ÃÀÛÀ¸·Î ÀÎÇØ Å¬¶óÀ̾ðÆ®ÀÇ DHCP ¹øÈ£°¡

º¯ÇÏ¿© ¿Ô´Ù°¬´Ù ÇÏ´Â °æ¿ì°¡ Àִµ¥ ÀÌ·²¶§´Â Ŭ¶óÀ̾ðÆ® DHCP IP¹øÈ£¸¦ ¼öµ¿À¸·Î ÁöÁ¤ÇÏ¿© °íÁ¤ÇØÁÖ´Â ÆíÀÌ »ç¿ëÇϱâ ÆíÇÕ´Ï´Ù.. (ƯÈ÷³ª ÇÁ¸°Æ® ¼­¹ö)

DHCP ¼­¹öÀÇ IP ¹üÀ§µµ Ŭ¶óÀ̾ðÆ®°¡ ¸¹Áö ¾Ê´Ù¸é ¾î´À Á¤µµ °¹¼ö¸¦ ÁÙÀ̴°ÍÀÌ DHCP¼­¹öÀÇ IP ½ºÄ³´×½Ã ½Ã°£À» ´ÜÃàÇϱ⿡

Á» ´õ ºü¸¥ °øÀ¯±âÀÇ µ¿ÀÛÀ» ±â´ëÇÒ ¼ö ÀÖ½À´Ï´Ù..
     
¶óÀϸ® 2023-08
¸Â½À´Ï´Ù.

ÀÌ Áú¹® ¿Ã¸®°Ô µÈ °è±â°¡ iptime »ç¿ëÇßÀ» ¶§¶û ´Þ¶ó¼­ ¿´½À´Ï´Ù.

iptime¿¡¼± Ŭ¶óÀ̾ðÆ® Àåºñ°¡ ¸¹¾Æµµ IP ¸Ç µÚ¿¡ ¼ýÀÚ°¡ 50ÀÌ ³ÑÀº ÀûÀÌ ¾ø¾ú´ø µíÇÕ´Ï´Ù.
·£´ýÀ̱ä Çѵ¥ ÀÌ°Ô ¿ô±ä°Ô dhcp °ü¸®¸¦ ¾ÈÇϸé ÀÌÀü¿¡ ¾²´ø ¸Æ Á¤º¸¸¦ ¹°°íÀÖ´ÂÁö ·£´ýÇÒ´çÀ» ¾ÈÇØÁÖ°í µ¿ÀÏÇÑ ip ¿¡ ¿©·¯Àåºñ ÇÒ´çÇسö¼­ µ¿½ÃÁ¢¼ÓÀÌ ¾Æ´Ñ´ã¿¡´Â ip °ü¸®°¡ Àß ¾ÈµÇ´õ±º¿ä.
¼º±â»ç 2023-08
Àúµµ ±Ã±ÝÇؼ­ ã¾ÆºÃ½À´Ï´Ù.
dnsmasq ¶ó´Â ¼ÒÇü DHCP/DNS ¼­¹ö ÇÁ·Î±×·¥ÀÌ ÀÖ½À´Ï´Ù. (¼Ò½º´Â https://thekelleys.org.uk/dnsmasq/ )
IP ÇÒ´çÇÏ´Â ºÎºÐÀ» ã¾Æº¸¸é dhcp.c ¿¡ address_allocate¶ó´Â ÇÔ¼ö¿¡¼­ ó¸®ÇÏ´Â °Í °°½À´Ï´Ù.
HW MAC ¾îµå·¹½º¸¦ ÇؽÃÇÔ¼ö(sdbm hash) µ¹¸° ÈÄ À̸¦ ±â¹ÝÀ¸·Î IP¸¦ ÇÒ´çÇÏ´Â ºÎºÐÀÌ ÀÖ½À´Ï´Ù.

°£´ÜÇÏ°Ô ½Å±Ô ÇÒ´çÇÒ ¶§¸¸ º¸¸é ¾Æ·¡ °úÁ¤À¸·Î ÀÌ·ç¾îÁö´Â±º¿ä.
(Àç ÇÒ´ç ½Ã¿¡´Â netid·Î ÇÒ´çµÈ ±âÁ¸ ÇÒ´çµÈ ip¸¦ ´Ù½Ã ¸®ÅÏ)
1. ·£Ä«µåÀÇ MAC address¸¦ Seed °ªÀ¸·Î »ç¿ë
    00:03:47:B2:59:3C
2. sdmb ¶ó´Â Çؽà ¾Ë°í¸®ÁòÀ» µ¹¸² (string --> int)
5644212570012911586919917584275020807673170692121545560107482439325811798923254
3. 2ÀÇ °á°ú¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´Â »çÀÌÁî·Î ³ª´« ³ª¸ÓÁö °ªÀ» ¾òÀ½
    2ÀÇ °ª mod 254
4. ½ÃÀÛ ÁÖ¼Ò°ª¿¡ 3ÀÇ °ªÀ» ´õÇÔ
    192.168.0.1 + 14
5. °á°ú°ª 192.168.0.15
    ¸®ÅÏÇϱâ Àü¿¡ »ç¿ë ÁßÀÎÁö ÇÎÀ¸·Î üũÇÏ°í »ç¿ë ÁßÀÌ¸é ¹Ì»ç¿ë ip°¡ ³ª¿Ã¶§±îÁö °ªÀ» Áõ°¡.
Ãß°¡·Î ¾Ë°Ô µÈ °Íµé...
1. sdmb¶ó´Â Çؽà ¾Ë°í¸®ÁòÀÌ »ý°¢º¸´Ù ¸¹ÀÌ ¾²ÀÌ´Â °ÍÀ» ¾Ë°Ô µÊ.
2. ³»ºÎÀûÀ¸·Î´Â ipÁÖ¼Ò(str)¸¦ int·Î º¯È¯Çؼ­ ¸¹ÀÌ ¾²´Âµ¥, socket.inet_aton, inet_ntoa °°Àº ÇÔ¼öµéÀÌ À¯¿ëÇÔ.
ÆÄÀ̽ãÀ¸·Î ´ëÃæ ...
ÄÚµå :
from socket import *
import struct
import getmac
def sdbm(plain_text: str) -> int:
    hash_value = 0
    for plain_chr in plain_text:
        hash_value = (
            ord(plain_chr) + (hash_value << 6) + (hash_value << 16) - hash_value
        )
    return hash_value
HWADDR = getmac.get_mac_address()
b_ip = '192.168.0.1'
pool_size = 254
s_addr = int.from_bytes(inet_aton(b_ip)) + (sdbm(HWADDR) % pool_size)
t_addr = inet_ntoa(struct.pack('!L', s_addr))
print(f"MAC address: {HWADDR}")
print(f"Hash Value : {sdbm(HWADDR)}")
print(f"Temp Value : {(sdbm(HWADDR) % pool_size)}")
print(f"ip address : {t_addr}")
Ãâ·Â :
MAC address: 0e:c9:b6:33:ea:41
Hash Value : 5644307572320518795668905132228045064013545965067596936257857263082430642659208
Temp Value : 22
ip address : 192.168.0.23


QnA
Á¦¸ñPage 877/5686
2014-05   4985120   Á¤ÀºÁØ1
2015-12   1521135   ¹é¸Þ°¡
2020-04   2818   ³ª¿¡°Ô¿À¶ó
2021-05   2818   ÃÊÂ¥ÀÓ´Ù
2019-06   2818   ÀÓ½ÃÇö
2019-07   2818   ±Þ¿©ÀÏ¿¡¸¸³ª¿ä
2021-10   2819   Setila
2019-06   2819   ¿©ÁÖ³ó¹Î76
2023-09   2819   ±èÁø¿µJK
2021-03   2819   YunSeong
2019-09   2819   Â÷³ÝÄÄÇ»ÅÍ
2019-12   2819   Àü»êÁ÷µù
2018-12   2819   ±è°Ç¿ì
2021-02   2819   ¾¾Çü
2021-06   2819   bnbnyou
2019-07   2819   Th2n
2019-09   2819   ½Ãµµ´Ï
2019-11   2820   È­¶õ
2020-08   2820   Á¦¿ÂÇÁ·Î
2017-07   2820   ÀÌÁöÆ÷Åä
2019-11   2820   ³ªÆÄÀÌ°­½ÂÈÆ
2023-08   2820   gusoong