회사나 학교 등에서는 대부분 공유기를 쓰고, 가정에서도 공유기를 쓰기 때문에
공유기로부터 private ip를 배정받아서 쓰는데, 서버 등을 배포하고 외부에서 접근할 수 있게 하려면 public ip 를 알아야 하는 경우가 있습니다.
public ip 와 private ip에 대해서 간단히 알아보고 나의 각각의 ip를 알아내는 것 까지 해봅시다.
Public IP
인터넷에 연결된 모든 장치에 할당된 고유한 숫자 레이블입니다. 이를 통해 장치가 서로 통신하고 인터넷에서 액세스할 수 있습니다. 퍼블릭 IP 주소는 정적(변경되지 않음) 또는 동적(임시 할당되어 시간 경과에 따라 변경될 수 있음)입니다.
Private IP
홈 네트워크 또는 회사 네트워크와 같은 개인 네트워크 내의 장치에 할당된 숫자 레이블입니다. 사설 IP 주소는 동일한 네트워크 내의 장치 간 통신에 사용되며 인터넷에서 연결할 수 없습니다. 다음을 포함하여 여러 개인 IP 주소 범위가 있습니다.
- 10.0.0.0 ~ 10.255.255.255
- 172.16.0.0 ~ 172.31.255.255
- 192.168.0.0 ~ 192.168.255.255
개인 IP 주소는 일반적으로 로컬 네트워크 내의 장치를 식별하는 데 사용되며 인터넷을 통해 장치와 통신하는 데 사용되지 않습니다. 인터넷을 통해 장치와 통신하려면 장치에 공용 IP 주소가 있어야 합니다.
------
Linux / Windows에서 각각 private ip와 public ip를 알아내는 방법을 살펴봅시다.
Linux
1) private ip
터미널에 아래 명령어 입력
ifconfig
eth0 또는 wlan0 에 속해 있는 inet의 주소가 private ip를 가리킵니다.
저의 경우 $ ifconfig 입력시 위와 같이 docker0, eth0, lo의 3가지가 나왓는데요,
eth0 에 속한 inet 을 보니 172로 시작을 하네요.
또는 아래 명령어로 나오는 첫번째 ip
hostname -I
2) public ip
터미널에 아래 명령어 입력
curl ifconfig.me
또는 browser에서 직접 ifconfig.me 를 검색해서 확인 가능합니다. (아래 첨부사진에서 IP Address 값)
Windows
1) private ip
터미널에 아래 명령어 입력
ipconfig
#또는
ipconfig /all
또는 gui로 네트워크 아이콘 타고 들어가서 확인합니다.
2) public ip
터미널에 아래 명령어 입력
nslookup myip.opendns.com resolver1.opendns.com
dns.opendns.com과 myip.opendns.com 중에서 myip.opendns.com이 나의 public ip를 가리킵니다.
또는 위처럼 브라우저에서 ifconfig.me 로 검색해도 됩니다.