네트워크 인터페이스 설정
네트워크 인터페이스 설정
네트워크 인터페이스를 설정할 때 자주 만나는 주요 개념과 NAT/PAT를 정의해본다
1. IP주소
정의: 네트워크 상의 호스트를 논리적으로 식별하는 32비트(IPv4) 또는 128비트(IPv6) 숫자
예시
- IPv4 예:
192.168.50.108비트씩 끊어서 표시 - IPv6 예:
2001:db8:abcd:0012::1
IPv4는 2의 32제곱으로 약 43억개의 ip를 만들 수 있고 호스트를 구분할 수 있다 전 세계의 모든 인터넷을 사용하기에는 부족한 숫자
그래서 대안으로 IPv6를 사용하거나 NAT/PAT를 사용한다
2. 서브넷 마스크
정의: IP 주소를 네트워크 부분과 호스트 부분으로 구분하기 위한 비트 마스크
표기법
- 점(·) 10진수 옥텟:
255.255.255.240 - CIDR(접두사) 표기:
/28(상위 28비트가 네트워크)
예시 계산
- IP:
192.168.50.10 - 마스크:
/28→255.255.255.240 - 네트워크 주소:
192.168.50.0 - 호스트 범위:
192.168.50.1~192.168.50.14 - 브로드캐스트:
192.168.50.15
기본 게이트웨이
정의: 같은 서브넷을 벗어나는 패킷을 전달해 줄 “출구” 라우터 IP
예시
- 호스트 IP:
192.168.50.10/24 - 기본 게이트웨이:
192.168.50.1 - →
8.8.8.8로 가는 패킷은 먼저192.168.50.1로 전달 실패하면1.1.1.1로 전달
MTU (Maximum Transmission Unit)
정의: 한 번에 보낼 수 있는 최대 프레임(바이트) 크기
예시
- 표준 이더넷 MTU:
1500 - 터널 인터페이스(예: GRE) MTU:
1400(오버헤드 고려)
NAT/PAT
NAT(Network Address Translation)와 PAT(Port Address Translation)는 사설망(private network)과 공인망(public network) 간 IP 주소를 “번역”해서 통신할 수 있게 해 주는 기술
NAT의 목적과 기본 원리
- 목적
- IPv4 공인 주소 부족 문제 완화
- 내부 사설망 주소(예: 10.0.0.0/8, 192.168.0.0/16) 보호
- 기본 원리
- 호스트가 내보내는 IP 패킷의 출발지 IP(및 필요 시 포트)를 라우터(혹은 방화벽)의 공인 IP로 바꾸고,
- 돌아오는 응답 패킷의 목적지 IP/포트를 내부 호스트의 원래 IP/포트로 되돌려 줌
| 유형 | 설명 | 특징 |
|---|---|---|
| Static NAT | 사설 IP ↔ 공인 IP를 1:1 매핑 | 외부에서도 고정된 공인 IP로 내부 서버(웹·메일 등)에 접속 가능 |
| Dynamic NAT | 내부 IP 풀을 공인 IP 풀에 동적으로 할당 (1:1) | 외부 요청이 아닌, 내부에서 요청이 있을 때만 매핑되나 고정 주소 아님 |
| PAT | 여러 내부 IP를 하나(또는 소수) 공인 IP의 포트로 다대일 매핑 (NAPT) | 사설망 수십~수천 대 호스트가 하나의 공인 IP로 전부 인터넷 접속 가능 |
PAT(포트 주소 변환)
| 내부 호스트 | Source IP:Port | NAT 장비 공인 IP:Port | 목적지 서버 |
|---|---|---|---|
| A (10.0.0.10) | 10.0.0.10:34567 → www.google.com:443 | 203.0.113.5:40001 → www.google.com:443 | 구글 서버 |
| B (10.0.0.11) | 10.0.0.11:34567 → www.google.com:443 | 203.0.113.5:40002 → www.google.com:443 | 구글 서버 |
호스트 A가 TCP 포트 34567로 www.google.com:443에 연결 요청
NAT 장비가 출발지 IP/Port를
203.0.113.5:40001로 변경하고, 내부 번역 테이블에
1
203.0.113.5:40001 ⇔ 10.0.0.10:34567
를 저장
- 구글의 응답(→203.0.113.5:40001)을 NAT 장비가 받아 번역 테이블을 참고해 10.0.0.10:34567 으로 되돌려 전달
This post is licensed under CC BY 4.0 by the author.