개발/1일1문제해결

[Network] 내부IP와 외부IP는 왜 따로 있을까?

Gamii 2024. 5. 14. 07:41
728x90

 

 

  sql 파일을 psql 명령어로 실행시키기 위해 DB가 있는 IP주소로 실행을 시켰더니 실행이 안됬었다. 그 삽질한 결과는 내부 IP에서 외부 IP로 계속 접근을 시도했기 때문이었다. 외부 IP를 내부 IP로 변경하는 순간 sql 파일이 잘 실행이 됐었다. 

 

 

  IP주소는 컴퓨터, 모바일 기기에 할당된 고유한 주소이다. 내부 IP는 보안을 위해 망 내부에서 사용하기 위해서이고, 외부 IP는 외부에서 내부에 접근하기 위함이라고 이론적인 부분만 알고 있었다. 이번 포스팅으로 왜 내부 IP와 외부 IP를 구분 지어 사용하는지, 자세하게 알아보려고 한다.

 

 


 

 

[외부 IP와 내부 IP]

 

출처:https://kadosholy.tistory.com/66

 

 

Public IP - 외부 IP(공인 IP)

 

통신회사(SKT, KT, LG U+)에서 집이나 사무실로 인터넷 회선 1개가 들어온다. 이때 외부 인터넷 회선에 할당되는 주소를 외부 IP(공인 IP)라고 한다.

 

 

외부 IP 주소는 외부에 공개되어 있기 때문에 외부와 집(또는 사무실)과 통신할 때 외부 IP를 이용해서 접속할 수 있다. 그리고 외부 IP는 전 세계에서 유일하고 외부 내부 상관없이 해당 IP에 접근이 가능하다. (그래서 방화벽, 보안프로그램 설치를 해야 한다)

 

 

 

 

 

Private IP - 내부 IP(사설 IP)

통신회사에서 외부 IP를 할당받고 공유기와 유선, 무선(와이파이)으로 연결된 기기(데스크톱, 노트북, 핸드폰 등)에 할당되는 주소를 내부 IP(사설 IP)라고 한다.

 

인터넷 주소가 많이 소비됨에 따라 IPv4 주소 부족의 문제를 해결하기 위해, 하나의 외부 IP(공인 IP) 주소에 각각 다른 내부 IP(사설 IP)를 할당할 수 있도록 만들어졌다. 내부 IP는 하나의 네트워크 안에서 유일하고 내부에서만 접근이 가능하다.

 

 

 

 

 

 

 

 

[외부 IP, 내부 IP 확인 방법]

 

1. 외부 IP주소 확인 방법

1) 네이버 검색창에 "ip 주소 확인" 입력

 

 

아래 이미지처럼 외부 IP를 확인할 수 있다.

 

 

 

 

 

 

 

 

 

2) 공유기에 접속해서 확인

 

 

웹 브라우저 주소창에 192.168.0.1 입력하면 현재 사용하고 있는 공유기에 접속이 가능하다.

 

 

 

로그인을 하면 외부 IP 및 공유기에 관련된 정보를 확인할 수 있다. (로그인 시 아이디와 패스워드는 와이파이 이용할 때 사용하는 아이디와 패스워드이다)

 

 

 

 

 

 

 

 

 

 

2. 내부 IP주소 확인 방법

windows의 경우, 명령 프롬포트(cmd)에서 ipconfig 명령어를 입력하면 내부 IP 주소를 확인할 수 있다.

 

 

 

mac의 경우, 터미널에서 ifconfig 명령어를 입력하면 확인이 가능하다. 

 

 

 

 

 

[외부 IP와 내부 IP를 구분지어서 사용하는 이유]

 

1. 보안

외부 IP와 내부 IP를 분리시키면, 외부 인터넷에서 내부 IP로 접속을 할 수가 없기 때문에 외부로부터의 공격을 차단할 수 있다. 그리고 네트워크 내에서만 통신이 이루어지기 때문에 보안이 강화된다. 그리고 네트워크 관리자들이 내부 네트워크의 접근을 쉽게 통제할 수 있기도 하다.

 

 

2. 네트워크 주소 관리

인터넷 주소가 많이 소비됨에 따라 IPv4 주소 부족의 문제를 해결하기 위해, 하나의 외부 IP(공인 IP) 주소에 각각 다른 내부 IP(사설 IP)를 할당할 수 있도록 만들어졌다. (내부 IP는 사용자가 직접 주소를 부여할 수 있다)

 

 

3. 비용 및 효율성

하나의 외부 IP로 여러 개의 내부 IP를 사용할 수 있어, 제한된 외부 IP 주소의 자원을 절약하고 IPv6로의 비용을 절약할 수 있다. 그리고 새로운 장치를 추가하더라도 외부 IP가 필요하지 않아서 확장성이 좋다.

 

 

 

 

 

더보기

[참고 - 왜 외부 IP의 psql 명령어는 안됬을까?]

 

sql 파일을 실행하기 위해 psql 명령어가 외부 IP가 아닌 내부 IP로 실행 됐던 건, DB가 외부 IP를 통한 접근을 허용하지 않도록 차단되었기 때문이다.

 

 

 

 

 

 

 

 

 

[참고]

https://kadosholy.tistory.com/66