IP 주소의 기본 개념
IP 주소(Internet Protocol Address)는 네트워크에 연결된 모든 장치를 식별하는 고유한 논리적 주소다. 물리적 주소인 MAC 주소와 구분된다. MAC 주소는 네트워크 인터페이스 카드(NIC)에 제조 시 부여되는 하드웨어 주소이고, IP 주소는 네트워크 설정에 의해 할당되는 소프트웨어적 주소다. 인터넷 통신에서 데이터 패킷이 출발지에서 목적지까지 도달하려면 반드시 목적지의 IP 주소가 필요하다. 서버에 접속한다는 것은 결국 해당 서버의 IP 주소로 패킷을 보내는 행위다.
IPv4와 IPv6
현재 가장 널리 사용되는 IP 주소 체계는 IPv4다. 32비트 주소 공간으로 약 43억 개의 주소를 표현할 수 있다. 192.168.0.1처럼 0~255 범위의 숫자 4개를 점으로 구분하는 표기법을 사용한다. 문제는 인터넷에 연결되는 장치가 기하급수적으로 늘어나면서 43억 개로는 부족해졌다는 점이다. 이를 해결하기 위해 128비트 주소 공간을 가진 IPv6가 도입되었다. 2001:0db8:85a3::8a2e:0370:7334 같은 16진수 형태로 표기하며, 사실상 무한에 가까운 주소를 제공한다. 다만 IPv4에서 IPv6로의 전환은 아직 진행 중이며, 대부분의 서버는 듀얼 스택 방식으로 IPv4와 IPv6를 동시에 운영한다.
공인 IP와 사설 IP
IP 주소는 공인 IP(Public IP)와 사설 IP(Private IP)로 나뉜다. 공인 IP는 인터넷 상에서 유일하게 식별 가능한 주소로, ISP로부터 할당받는다. 서버가 외부 클라이언트의 요청을 받으려면 반드시 공인 IP를 가지고 있어야 한다. 사설 IP는 내부 네트워크에서만 사용되는 주소이며 외부에서 직접 접근할 수 없다. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 대역이 사설 IP 범위로 예약되어 있다. 가정이나 사무실 내부의 장치들은 사설 IP를 사용하고, 공유기가 NAT(Network Address Translation)를 통해 사설 IP와 공인 IP 간 변환을 수행한다.
고정 IP와 유동 IP
서버 운영에서 고정 IP(Static IP)는 필수에 가깝다. 고정 IP는 한 번 할당되면 변경되지 않으므로 DNS A 레코드에 등록해두면 도메인이 항상 같은 서버를 가리킨다. 유동 IP(Dynamic IP)는 DHCP 서버가 접속할 때마다 남는 IP를 할당하는 방식으로, 가정용 인터넷에서 기본 제공된다. 유동 IP로 서버를 운영하면 IP가 바뀔 때마다 DNS를 갱신해야 하는 불편이 있다. DDNS로 어느 정도 대응 가능하지만, 안정적인 서비스 운영이라면 고정 IP를 확보하는 것이 원칙이다.
서버의 IP 설정 실무
리눅스 서버에서 IP 주소를 확인하려면 ip addr 명령을 사용한다. 과거의 ifconfig는 대부분의 최신 배포판에서 기본 설치되지 않으므로 ip 명령어에 익숙해져야 한다. 고정 IP 설정은 배포판에 따라 다르다. Ubuntu는 Netplan 설정 파일(/etc/netplan/)에서 addresses, routes, nameservers를 지정한다. CentOS 계열은 nmcli 명령어 또는 /etc/NetworkManager/ 설정을 사용한다. 클라우드 환경에서는 인스턴스 생성 시 VPC 내부 사설 IP가 자동 할당되고, 외부 접근이 필요하면 탄력적 IP(Elastic IP)를 연결한다.
답글 남기기