Domain IP Lookup

공개 주소 공간과 사설 주소 공간

공개 IP

192.0.2.10

전역에서 고유, 어디서나 라우팅 가능

사설 대역

10.0.0.0/8172.16.0.0/12192.168.0.0/16

공개 인터넷에서는 라우팅 불가

DNS 기초

공인 IP와 사설 IP 주소: 무엇이 다를까요?

읽는 시간 3분

네트워크 설정을 확인하면 192.168.1.5가 보일 수 있습니다. 내 IP 주소를 알려 주는 사이트에 접속하면 전혀 다른 주소가 나타납니다. 둘 다 틀린 것이 아닙니다. 실제로 서로 다른 범위에서 동작하는 두 개의 주소를 가지고 있는 것입니다.

공개 주소 공간과 사설 주소 공간

공개 IP

192.0.2.10

전역에서 고유, 어디서나 라우팅 가능

사설 대역

10.0.0.0/8172.16.0.0/12192.168.0.0/16

공개 인터넷에서는 라우팅 불가

사설 대역은 전 세계 모든 네트워크에서 재사용됩니다. 공인 주소는 전 세계에서 고유합니다.

두 가지 범위

사설 IP공인 IP
범위로컬 네트워크 내부에서만인터넷 전체
고유성내 네트워크 안에서만 고유전 세계에서 고유
할당 주체공유기(DHCP)ISP 또는 호스팅 제공업체
온라인 라우팅 가능 여부아니요. 라우터가 폐기함예
예시192.168.1.593.184.216.34
누가 보는가내 네트워크의 기기들방문하는 모든 사이트

핵심 요약

사설 주소는 수백만 개의 별개 네트워크에서 동시에 재사용되며 인터넷으로는 절대 라우팅되지 않습니다. 공인 주소는 전 세계에서 고유하며, 인터넷이 실제로 나에게 도달할 때 사용하는 주소입니다.

예약된 사설 대역

RFC 1918은 사설용으로 세 개의 IPv4 블록을 따로 정해 두었습니다. 누구나 내부에서 사용할 수 있으며, 공용 인터넷의 어떤 라우터도 이 주소를 전달하지 않습니다.

대역주소 수주로 사용되는 곳
10.0.0.0/81,670만 개대규모 기업 네트워크, 클라우드 VPC
172.16.0.0/12100만 개중간 규모 네트워크, Docker 기본값
192.168.0.0/1665,536개가정 및 소규모 사무실 공유기

그 밖에도 관련된 용도로 예약된 대역이 몇 가지 있으며, 이들 역시 정상적인 공인 응답으로는 나타나지 않습니다.

  • 127.0.0.0/8 — 루프백입니다. 127.0.0.1은 항상 내 컴퓨터 자신입니다.
  • 169.254.0.0/16 — DHCP가 실패했을 때 스스로 할당되는 링크 로컬 주소입니다. 이 주소가 보인다면 대개 기기가 공유기에 연결하지 못했다는 뜻입니다.
  • 100.64.0.0/10 — 모든 고객에게 공인 주소를 줄 수 없는 ISP가 사용하는 통신사급 NAT(CGNAT) 대역입니다.

NAT: 사설 주소가 그래도 인터넷에 닿는 방법

사설 주소를 라우팅할 수 없다면 192.168.1.5의 노트북은 어떻게 웹사이트를 불러올까요? 공유기가 수행하는 네트워크 주소 변환(NAT) 덕분입니다.

  1. 기기가 패킷을 보냅니다

    출발지는 192.168.1.5, 목적지는 웹사이트의 공인 주소입니다.

  2. 공유기가 출발지를 바꿔 씁니다

    사설 출발지를 공유기 자신의 공인 주소로 바꾸고, 포트 번호를 붙여 변환 테이블에 그 교체 내역을 기록합니다.

  3. 웹사이트가 공유기에 응답합니다

    서버 입장에서는 공유기의 공인 주소와 통신하는 것입니다. 노트북에 대해서는 전혀 알지 못합니다.

  4. 공유기가 다시 변환합니다

    테이블을 확인해 그 포트가 어느 내부 기기의 것인지 파악하고, 목적지를 바꿔 쓴 뒤 192.168.1.5로 전달합니다.

그래서 집 안의 모든 기기가 웹사이트에는 같은 주소로 보이며, IP 주소가 사람이 아니라 연결을 식별하는 이유이기도 합니다.

내 두 주소 확인하기

사설 주소

Windows
ipconfig
macOS / Linux
ip addr show
# or, on macOS:
ifconfig | grep "inet "

공인 주소

공인 주소는 내 네트워크 안에서는 알아낼 수 없고, 네트워크 밖의 무언가에게 물어봐야 합니다. "내 IP 확인" 서비스가 하는 일이 바로 그것입니다. 터미널에서는 다음과 같이 합니다.

외부 서비스에 물어보기
curl ifconfig.me

도메인이 사설 주소로 확인되어서는 안 되는 이유

공개 도메인이 10.0.0.5나 127.0.0.1로 확인된다면 설정 오류이거나 의도된 것입니다. 어느 쪽이든 사용자가 입력한 도메인을 확인하는 모든 서비스에는 문제가 됩니다.

공격은 간단합니다. 자신이 제어하는 도메인이 169.254.169.254를 가리키게 하고, 서버 측에서 URL을 가져오는 서비스에 이를 제출하면 서비스가 나를 대신해 자신의 클라우드 메타데이터를 읽어 줍니다. DNS 리바인딩 변형은 검증 단계와 실제 요청 사이에 레코드가 바뀌도록 만듭니다.

방어 방법은 제출된 호스트 이름이 아니라 확인된 주소를 검증하는 것입니다. 이 도구에서 실제로 이루어지는 방식이며, 내부 주소로 확인되는 도메인이 그 세부 정보를 노출하지 않고 단순히 확인 불가로 보고되는 이유이기도 합니다. 작동 방식 페이지에서 전체 검증 과정을 다룹니다.

도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.

이 주제의 무료 도구

자주 묻는 질문