✨ Q26. 서버의 IP 주소 확인하는 방법 ✨
• 🌐 사설 IP와 공인 IP의 차이 및 NAT 구조 이해하기
• 🔍 ip, hostname, ifconfig, curl로 서버 IP 직접 확인하기
1. 🌐 서버의 IP 주소는 왜 확인해야 할까?
리눅스 서버를 운영하다 보면 서버가 어떤 IP 주소를 사용하고 있는지 확인해야 하는 경우가 많습니다.
예를 들어,
- SSH로 서버에 접속할 때
- 웹 서버에 접근할 때
- 네트워크 장애를 확인할 때
- 여러 서버의 네트워크 설정을 비교할 때
IP 주소 확인이 필요합니다.
특히 서버에서는 사설 IP와 공인 IP가 서로 다를 수 있다는 점을 이해하는 것이 중요합니다.
💻 서버
192.168.0.2
192.168.0.6
192.168.0.13
192.168.0.11
↓
NAT
↓
🌐 공인 IP
142.251.150.119
내부에서는 여러 서버가 각각의 사설 IP를 사용하지만, 인터넷으로 나갈 때는 NAT를 통해 하나의 공인 IP를 사용할 수도 있습니다.
2. 🔍 ip 명령어로 IP 주소 확인하기
현재 리눅스에서 가장 기본적으로 사용하는 네트워크 확인 명령어는 ip입니다.
ip addr show
간단하게 다음과 같이 사용할 수도 있습니다.
ip a
출력에서 네트워크 인터페이스의 inet 항목을 확인합니다.
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> inet 10.0.2.15/24
여기서
10.0.2.15
가 해당 인터페이스에 설정된 IPv4 주소입니다.
💡 ip 명령어는 기존의 ifconfig를 대체하는 최신 표준 도구로 많이 사용됩니다.
3. 🖥️ hostname -I로 간단하게 확인하기
IP 주소만 빠르게 확인하고 싶다면 다음 명령어가 편리합니다.
hostname -I
I
예를 들어 다음과 같이 출력될 수 있습니다.
10.0.2.15 fe80::5054:ff:fe12:3456
ip addr show처럼 자세한 네트워크 정보는 필요 없고 현재 서버에 할당된 IP 주소만 빠르게 확인할 때 유용합니다.
4. 🛠️ ifconfig로 IP 주소 확인하기
과거 리눅스에서는 ifconfig가 네트워크 확인에 많이 사용되었습니다.
Rocky Linux에서는 기본적으로 설치되어 있지 않을 수 있으므로 net-tools 패키지를 설치합니다.
sudo dnf install -y net-tools
설치 후 다음 명령어를 실행합니다.
ifconfig
출력에서 inet 부분을 확인하면 IPv4 주소를 확인할 수 있습니다.
eth0: inet 10.0.2.15
📌 최신 리눅스에서는 가능하면 ifconfig보다 ip 명령어 사용을 권장합니다.
5. 🌍 공인 IP 주소 확인하기
지금까지 확인한 IP는 서버 내부에서 사용하는 사설 IP일 수 있습니다.
외부 인터넷에서 보이는 공인 IP를 확인하려면 다음과 같이 사용할 수 있습니다.
curl ifconfig.me && echo
출력 예:
116.122.206.233
ifconfig.me 서비스가 인터넷에서 확인되는 현재 접속 IP를 반환해줍니다.
💻 서버 10.0.2.15 │ │ 사설 IP ▼ 🌐 NAT / Router │ │ 공인 IP ▼ 🌍 Internet 116.122.xxx.xxx
따라서
ip addr show
에서 확인한 IP와
curl ifconfig.me
에서 확인한 IP가 서로 다른 것은 정상적인 상황일 수 있습니다.
🎯 핵심 정리
리눅스 서버의 IP 주소를 확인할 때 다음 명령어들을 기억해두면 좋습니다.
# 1. 🔍 네트워크 인터페이스와 IP 자세히 확인 ip addr show # 2. 🖥️ 서버의 IP만 간단히 확인 hostname -I # 3. 🛠️ ifconfig 설치 sudo dnf install -y net-tools # 4. 📡 ifconfig로 IP 확인 ifconfig # 5. 🌍 외부에서 보이는 공인 IP 확인 curl ifconfig.me && echo
💡 핵심 포인트
- 🏠
ip addr show,hostname -I→ 서버 내부의 IP 주소 확인 - 🌍
curl ifconfig.me→ 외부 인터넷에서 보이는 공인 IP 확인 - 🔄 사설 IP와 공인 IP 사이에는 NAT(Network Address Translation)가 사용될 수 있습니다.
- 🔍 최신 리눅스에서는
ifconfig보다ip명령어를 기본적으로 사용하는 것이 좋습니다.
🐧 단순히 IP 확인 명령어만 외우기보다 사설 IP → NAT → 공인 IP → 인터넷의 흐름을 함께 이해하는 것이 핵심입니다.
추가적으로 리눅스 네트워크를 더 공부하고싶다면 네트워크 완전정복을 참고하세요. https://reallinux.co.kr/course/se_network