OneWebDesk

IP 범위 → CIDR 변환기

시작 IP와 끝 IP를 최소 개수의 CIDR 블록으로 변환합니다.

방화벽 규칙, 라우팅 테이블, 접근제어목록(ACL)을 작성하다 보면 “192.168.1.10부터 192.168.1.200까지”처럼 임의의 IP 범위를 다뤄야 할 때가 있습니다. 하지만 대부분의 네트워크 장비와 클라우드 보안그룹은 임의 범위가 아닌 CIDR 표기(예: 192.168.1.0/24)만 받습니다. 이 도구는 시작 IP와 끝 IP를 입력하면 그 구간을 정확히 덮는 최소 개수의 CIDR 블록으로 변환해 줍니다.

변환은 표준 IP 범위 → CIDR 알고리즘을 사용하며, 모든 계산은 브라우저에서만 수행되어 입력한 IP가 외부로 전송되지 않습니다. 결과로 나온 각 CIDR 블록과 전체 목록을 바로 복사할 수 있고, 총 블록 수와 총 주소 수도 함께 확인할 수 있어 방화벽·VPC·라우팅 설정에 그대로 붙여넣기 좋습니다. 반대로 하나의 CIDR을 자세히 분석하려면 CIDR 계산기를 사용하세요.

CIDR 블록
  • 192.168.1.0/25
  • 192.168.1.128/31
  • 192.168.1.130/32
블록 수3
총 주소 수131 개

IP 범위를 CIDR로 바꾸는 원리

임의의 IP 범위는 하나의 CIDR로 표현되지 않는 경우가 많습니다. CIDR 블록은 항상 2의 거듭제곱 크기이고 그 크기에 맞게 정렬(aligned)되어 있어야 하기 때문입니다. 그래서 범위를 여러 개의 정렬된 블록으로 쪼개야 합니다. 알고리즘은 시작 주소에서 다음을 반복합니다.

  1. 현재 시작 주소가 정렬을 깨지 않고 가질 수 있는 최대 블록 크기를 구합니다(최하위 비트 위치로 결정).
  2. 남은 주소 개수를 넘지 않는 최대 블록 크기를 구합니다.
  3. 둘 중 더 작은 크기를 블록으로 확정하고, 시작 주소를 그만큼 앞으로 이동합니다.

이렇게 하면 범위를 정확히 덮으면서 블록 개수가 최소가 됩니다. 예를 들어 192.168.1.0 ~192.168.1.130192.168.1.0/25(0~127), 192.168.1.128/31(128~129),192.168.1.130/32(130) 세 블록으로 나뉩니다.

어디에 쓰나요

  • 방화벽 / 보안그룹: AWS Security Group, GCP/Azure 방화벽 규칙은 CIDR만 받습니다.
  • 라우팅 / 정적 경로: 라우터·로드밸런서의 경로 항목은 CIDR 형태가 필요합니다.
  • ACL / WAF 화이트리스트: 특정 IP 대역을 허용/차단할 때 CIDR로 압축하면 규칙 수가 줄어듭니다.

변환 전에 대상 범위가 사설·예약 대역인지 확인하려면 사설 IP 판별기가 유용합니다.

주의할 점

이 도구는 IPv4만 지원합니다. 끝 IP는 시작 IP보다 크거나 같아야 하며, 두 값이 같으면 /32 단일 호스트로 변환됩니다. 반대로 0.0.0.0 ~ 255.255.255.255 전체 범위는 0.0.0.0/0하나로 표현됩니다.

프리픽스 길이와 블록 크기 빠른 표

블록 분할 결과를 빠르게 검산하려면 각 프리픽스(/n)가 몇 개의 주소를 덮는지 알아두면 편합니다. 블록 크기는 항상 2^(32 − n)이고, 시작 주소는 그 크기의 배수(정렬된 값)여야 합니다.

프리픽스주소 수서브넷 마스크시작 주소가 가능한 조건(마지막 옥텟)
/321255.255.255.255임의(모든 값)
/312255.255.255.254짝수 (0, 2, 4 …)
/304255.255.255.2524의 배수 (0, 4, 8 …)
/298255.255.255.2488의 배수 (0, 8, 16 …)
/2816255.255.255.24016의 배수 (0, 16, 32 …)
/24256255.255.255.0마지막 옥텟 0
/1665,536255.255.0.0세 번째·네 번째 옥텟 0

예시로 따라가 보기: 10.0.0.5 ~ 10.0.0.20

정렬되지 않은 시작 주소가 어떻게 작은 블록부터 시작하는지 보여주는 예입니다. 시작 10.0.0.5는 홀수라 /32밖에 가질 수 없습니다(짝수가 아니므로 /31 불가). 단계별로 보면:

단계현재 시작정렬 허용 최대출력 CIDR
110.0.0.51 (홀수)10.0.0.5/32
210.0.0.62 (6=2의 배수)10.0.0.6/31
310.0.0.88 (8의 배수), 남은 13개라 8 선택10.0.0.8/29
410.0.0.16남은 5개(16~20)라 4 선택10.0.0.16/30
510.0.0.20남은 1개10.0.0.20/32

16개 주소(5~20)가 5개의 CIDR로 나뉩니다. 시작이 깔끔하게 정렬된 10.0.0.0 ~ 10.0.0.15였다면10.0.0.0/28 단 하나로 끝났을 것입니다. 즉 같은 크기라도 정렬 위치에 따라 블록 수가 크게 달라집니다.

흔한 실수 / 함정

  • 주소 수로 프리픽스를 추정: “16개니까 /28 하나”라고 생각하기 쉽지만, 시작이 16의 배수가 아니면 절대 단일 /28이 될 수 없습니다. 개수보다 정렬이 먼저입니다.
  • 끝 IP를 배타적(exclusive)으로 입력: 이 도구의 끝 IP는 포함됩니다. 10.0.0.20까지 덮고 싶으면 10.0.0.20을 그대로 넣으세요. 10.0.0.21을 넣으면 한 주소를 더 포함해 블록이 달라집니다.
  • 네트워크/브로드캐스트 주소 누락 우려: CIDR 블록은 네트워크·브로드캐스트 주소를 포함한 전체 주소 범위를 그대로 덮으므로, 범위 안의 어떤 주소도 빠지지 않습니다.

자주 묻는 질문

왜 한 범위가 여러 CIDR로 나뉘나요?
CIDR 블록은 항상 2의 거듭제곱 크기이고 그 크기에 정렬되어 있어야 합니다. 임의의 시작/끝 주소는 이 조건을 한 번에 만족하지 못하는 경우가 많아, 정렬 규칙을 지키는 여러 블록으로 쪼개야 정확히 같은 범위를 덮을 수 있습니다.
결과가 정말 최소 개수인가요?
네. 시작 주소의 정렬이 허용하는 최대 블록과 남은 주소 개수가 허용하는 최대 블록 중 작은 쪽을 매 단계 선택하는 표준 알고리즘을 사용하므로, 해당 범위를 덮는 CIDR 블록 수가 최소가 됩니다.
IPv6도 변환되나요?
이 도구는 IPv4 전용입니다. IPv6 주소는 비트 폭이 128비트로 훨씬 커서 별도 처리가 필요합니다.
입력한 IP가 서버로 전송되나요?
아니요. 변환은 전적으로 브라우저(클라이언트)에서만 이루어집니다. 입력한 IP 주소는 외부로 전송되거나 저장되지 않습니다.

관련 가이드