CHAPTER 04 · NETWORK
주소를 받고
다른 동네로
DHCP로 네트워크 정보를 받고, 라우팅과 NAT를 거쳐 인터넷으로 나가는 과정을 따라갑니다.

01
새로 이사 오면 전입신고부터
네트워크에 처음 연결된 장비는 자기 주소도, 출입구도, DNS 서버도 모릅니다.
DHCP는 장비에 IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버와 임대 시간을 자동으로 알려 줍니다.
이 과정을 DORA라고 부릅니다. Discover로 서버를 찾고, Offer로 주소를 제안받고, Request로 사용을 요청한 뒤 Acknowledge로 승인을 받습니다.
$ nmcli device show
$ ip addr
$ ip route
$ resolvectl status
02
다른 동네로 보내는 길
목적지가 같은 네트워크가 아니라면 패킷은 기본 게이트웨이로 향합니다.
라우터는 라우팅 테이블에서 목적지와 가장 구체적으로 일치하는 경로를 선택합니다. 일치하는 경로가 없다면 default 경로를 사용합니다.
traceroute는 목적지까지 거치는 라우터를 순서대로 보여 주므로 어느 구간에서 통신이 멈췄는지 확인할 때 유용합니다.
$ ip route
$ route -n
$ traceroute google.com
$ tracepath google.com















03
사설 IP로 인터넷에 나갈 수 있는 이유
192.168.x.x 같은 사설 IP는 인터넷에서 직접 사용할 수 없습니다. 공유기나 방화벽의 NAT가 주소를 바꿔 줍니다.
NAT는 내부 장비의 사설 IP를 외부에 보이는 공인 IP로 변환합니다. 여러 장비가 하나의 공인 IP를 함께 사용할 때는 포트 번호까지 이용하는 PAT가 일반적입니다.
응답이 돌아오면 NAT 테이블을 보고 원래 요청한 내부 장비로 다시 전달합니다. curl ifconfig.me로 보이는 주소가 내 장비의 사설 IP와 다른 이유입니다.

04
밖에서 안으로 들어오려면
NAT 환경에서는 외부 장비가 내부의 사설 IP로 바로 접속할 수 없습니다.
포트포워딩은 공인 IP의 특정 포트로 온 통신을 내부 장비의 IP와 포트로 전달하는 설정입니다.
외부에 서비스를 공개하면 공격 표면도 함께 열립니다. 꼭 필요한 포트만 열고, 강한 인증과 방화벽, 로그 모니터링을 같이 사용해야 합니다.
CHAPTER REVIEW
이번 장에서 기억할 한 문장
DHCP가 주소와 길을 알려 주고, 라우터는 목적지를 찾아 보내며, NAT는 사설 주소를 공인 주소로 바꾼다.