IP

호밀빵 굽는 쿼카·2022년 3월 11일
0

NHN Cloud 인턴

목록 보기
34/48

내가 작성한 '로컬에서 장고서버 띄우기' 과정을 진행중이신 인턴분에게 ip 주소 알려주다가 생긴 의문

본인의 로컬 가상환경 ip : 192.168.56.11
가상환경 접속하는 명령어 : ssh ubuntu@192.168.56.11

당연히 장고서버를 띄울 때 사용되는 ip도 접속할 때 사용하는 ip! 라고 생각했습니다.
그래서 저번에 ip를 찾기 위해 정리해놓은 명령어 몇 개를 실행해보았는데 각 명령어마다 서로 다른 숫자(ip)가 나왔습니다,,

그래서 어떤 명령어인지 잘 알고 사용해야할 것 같아 명령어를 정리하고, 장고서버를 띄울 때 사용되는 ip는 어떤 ip인지도 정리하려고 합니다.

IP 주소(Internet Protocol)

컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호


1. ifconfig

curl ifconfig.me : curl 패키지를 통해 public(공인) ip를 찾을 때 사용

ifconfig | grep "inet " : 파이프(|) grep "포함단어" 명령어를 통해 ifconfig 명령어의 결과값에서 inet 이 포함된 줄을 뽑아줌

curl

  • 클라이언트에서 커맨드 라인이나 소스코드로 손 쉽게 웹 브라우저 처럼 활동할 수 있도록 해주는 기술(커맨드라인 Tool 혹은 라이브러리)
  • 서버와 통신할 수 있는 커맨드 명령어 툴이다.
  • 웹개발에 매우 많이 사용되고 있는 무료 오픈소스
  • curl의 특징으로는 다음과 같은 수 많은 프로토콜을 지원한다는 장점

ifconfig

  • 네트워크 인터페이스 관련 정보 확인 및 수정 명령어
  • 윈도우의 ipconfig 와 우분투의 ifconfig 는 동일
  • 우분투 터미널에서 ifconfig를 명령해줬는데 만약 다음과 같은 에러가 뜨면,알려준 것처럼 net-tools를 설치해줘야 함

여기서 잠깐! 사설 ip vs 공인 ip 차이

  • 공인 ip는 인터넷 서비스 제공사업자(internet service provider, ISP)에 의해 네트워크 라우터에 할당된 주소
  • 사설 ip는 내부 네트워크 상에서 해당 기기에 네트워크 라우터에 의해 할당된 주소
  • 주소라는 것이 어떤 건물의 위치를 표현하는 것처럼, 공인 ip 주소와 사설 ip 주소도 컴퓨터의 주소를 나타낸다고 생각. 자신의 컴퓨터에 누군가의 원격 접속을 허용하고자 한다면 공인 ip를 알려줘야 함.만약 같은 공유기를 사용하고 있는 경우라면, 사설 ip를 알려줘도 접속이 가능



2. ip addr

ip addr

ifconfig 명령어와 큰 차이가 없어 보이나, ifconfig 명령어와 달리 ip address 명령은 nmcli(network manager)로 설정한 정보도 함께 보여준다고 함, ip address 를 사용하는 것을 더 권장한다.

  1. ip addr show(생략가능) : IP 관련 정보 확인 및 설정 명령어
  2. ip addr | grep "inet " : 파이프(|) grep "포함단어" 명령어를 통해 ip addr 명령어의 결과값에서 inet 이 포함된 줄을 뽑아줌
  • scope : 해당 인터페이스가 어느 수준에서 접근가능하며 유효하냐는 의미.
  • scope host lo : Host의 경우는 현재 인터페이스가 속해있는 호스트에서만 유효하고 접근이 가능
  • scope global dynamic : Global의 경우 외부 네트워크에서 접근이 가능한 범위
  • brd : brd는 브로드캐스트를 할 때의 주소를 의미합니다.



3. hostname

  • 호스트 이름 확인 및 변경 명령어
  • i 또는 I 옵션으로 ip 주소를 확인할 수 있다.
  • hostname -I



정리💡

curl ifconfig.me
ip addr | grep "inet "
hostname -I

모두 다른 결과값이 나오는데, 각각 무엇을 의미하는가요?

curl ifconfig.me / ip addr | grep "inet " : ip address 이외에 해당 장비에 대한 네트워크 인터페이스 구성을 같이 확인하고 싶다면 사용. inet 값이 해당 장비의 ip address
hostname -I : 해당 장비에 대한 ip address 만 확인

궁금증❗️

개발서버에서는 모든 명령어에서 동일한 ip를 보여주지만,

로컬 가상환경에서는 curl ifconfig.me 만 다른 ip 보여줌

이유가 무엇일까요?
찾았다! 네이버에 ip주소 조회를 검색하면, 나의 공인 ip를 확인할 수 있다.

116.41.80.47 이라고 나오는데, 이는 로컬 가상환경에서 curl ifconfig.me를 했을 때 나오는 ip와 동일합니다.
가상환경이라고 해도 실제 장비의 공인 ip가 나오는 것 같습니다.

profile
열심히 굽고 있어요🍞

1개의 댓글

comment-user-thumbnail
2022년 5월 13일

ifconfig | grep "inet "

답글 달기