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

   Á¶È¸ 2856   Ãßõ 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 4816/5691
2015-12   1551914   ¹é¸Þ°¡
2014-05   5016460   Á¤ÀºÁØ1
2023-08   2857   ¶óÀϸ®
2018-11   2857   Christopher
2018-12   2857   ½Ãµµ´Ï
2019-04   2857   ö
2019-10   2857   ¾îÈï¾¾
2020-08   2856   »¡°£ºÒ
2020-01   2856   ´ÙÅ¥
2022-03   2856   langrisser
2019-10   2856   Àü¼³¼ÓÀǹ̡¦
2023-01   2856   LevinF
2023-06   2856   iroo
2019-05   2856   ÇູÇϼ¼
2018-12   2856   ½Ãµµ´Ï
2019-12   2856   ³ªÆÄÀÌ°­½ÂÈÆ
2020-05   2856   ¹é·æ
2019-10   2856   ¶¥ºÎÀÚ
2023-05   2856   Xecus
2021-06   2856   °Ü¿ï³ª¹«
2021-04   2856   ¿ì°­
2017-07   2856   Ãֽÿµ