![sshhhh](https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png)
NAT (Network Address Translation)INFRA/NETWORK2024. 7. 30. 23:58
Table of Contents
NAT (Network Address Translation)
- 주소 변환 기술 (공유기 :사설 IP를 공인 IP로 변환)
- 탄생이유 : 공인 IP 부족 현상 완화
- 사설 IP는 기본적으로 인터넷 안됨
- 시나리오 192.168.0.0 > 8.8.8.8 ping
- 8.8.8.8은 라우터에 세팅되어 있어서 request는 되는데 사설 IP대역은 없으니까 response 실패
- 라우터에 사설 IP대역 없음 → 공유기로 사설 IP를 자기가 가진 공인 IP로 변경해야 통신 가능함
- 라우팅이 안되는 것이 아님, 대역에 사설 IP가 없기 때문임
- 직접 공격 받지 않으니 보안에 용이
- 랜카드 두개여야함 : 사설IP↔공인IP를 서로 변환해야 하기 때문
- request : 사설 IP → 공인 IP response : 공인 IP → 사설 IP
- Trade-off : 편의성은 안좋은데 보안은 좋다
NAT 설정
사설(내부) → 외부
- 물리적 세팅 : NAT에 랜카드 두개 설정(사설 대역/ 공인 대역)
1. Port Forwording (외부 → 사설)
- 포트(Port)를 전달(Forwarding)
- 특정한 포트로 들어오는 데이터 패킷을 다른 포트로 바꿔서 다시 전송해주는 작업
- ex) 외부 포트인 8000번으로 접속했을때, 이 요청을 내부 네트워크의 웹 서버인 사설 IP 주소인 192.168.0.1의 80번 포트로 전달하도록 설정
- 공유기는 공인 IP가 하나이기 때문에 Port Forwording만 가능
- 예시 1
- 시나리오
PC request : http://2.2.2.2
S IP : 192.168.0.2 , D IP : 2.2.2.2, G/W : 192.168.0.255, DNS : 168.126.63.1
- S IP : 192.168.0.2 , D IP : 2.2.2.2 로 보내면 request만 가능 response 불가
→ 답장올때 사설 IP대역은 라우터에 없기 때문에 1.1.1.1 이라 적어야 정상 통신 - PC가 처음 요청했을때 3계층 헤더 건드려서 192.168.0.2 → 1.1.1.1 → 2.2.2.2 로 가는 과정을
NAT 테이블에 적어두고 내보냄 - Web server에서 S IP : 2.2.2.2, D IP : 1.1.1.1 로 적어서 response
- Web server가 보낸 D IP : 1.1.1.1 → 192.168.0.2 로 바뀜 NAT 테이블에 적혀 있으니까
- S IP : 192.168.0.2 , D IP : 2.2.2.2 로 보내면 request만 가능 response 불가
- 시나리오
- 예시 2
- PC: www.test.com request Dns는 10.100.11.11로 설정
외부에서 사설 IP에 접근 못하기 때문 (=보안 굿 공인 IP 남아도 일부러 씀) - 80번 포트로 들어오면 192.168.0.1 Web server로 들어오게 NAT에서 설정함
- 53번 포트로 들어오면 192.168.0.2 Dns server로 들어오게 NAT에서 설정함
→ 그래서 Web, Dns 서버에 G/W 설정값 없는것 NAT에서 뿌리니까
—> + NAT 쓰겠다 해서 인터넷 되는거임 물리적 연결이 되어있는 거임
- PC: www.test.com request Dns는 10.100.11.11로 설정
2. Static Nat ==주소풀 (외부 → 사설)
- 공인 랜카드에 IP 하나 추가 해서, 공인 IP, 사설 IP 1대1 매핑
→ 공인 ip가 많아야함 - 어떤 공인 IP를 찾아오면 어떤 사설 IP로 넘겨라
ex) 1.1.1.1 → 192.168.0.1로 - 일대일 매핑이니까 외부로 서비스해줘야 하는 것들만 해줌 (웹,dns, mail 등..불특정다수가 접근하는것들)
일반 직원들은 안함 외부로 나가기만하면되니까 - 내보낼떄 나간 경로들 세션 == NAT 테이블에 적어둠
- 예시
- static nat로 주소를 예약했기 때문에 공인 IP가 2개로 바뀜
- NAT Table의 변환 정보를 관리자가 직접 지정하고 관리→ 정보가 고정됨
- 사설 IP(1) : 공인 IP(1)
- Server(사설 IP가 설정된곳→ Web, Dns 서버)에 Client가 접근할 수 있게 함
- NAT 정책 설정 ~static
NAT와 라우팅의 차이점
통신 순서
- NAT 기능에 의한 IP 주소 변환
- 사설 네트워크에서 공인 네트워크로 데이터를 보낼 때 S IP를 공인 IP 로 변경 - NAT 테이블 업데이트
- 데이터 패킷의 D IP를 확인하고, NAT 테이블에 통신 경로 기록 (공인 네트워크에서 응답할 때 필요) - 라우팅 테이블 참조
- 데이터 패킷을 외부로 보낼 때, 라우팅 테이블을 참조하여 경로를 결정
- 라우팅 테이블에 g/w가 설정되어 있지 않으면, 외부로 데이터를 보낼 수 없음.
- NAT 사설대역 랜카드에 g/w설정을 하면 기본경로(0.0.0.0 0.0.0.0)가 두개 생김 공인 대역으로 나갈 곳은
하나만 되어야하므로 공인대역 랜카드에 g/w를 설정해야함.
결론
- NAT, 라우팅은 별개이므로 둘다 설정해야함
- NAT는 only 전달자, 라우팅은 라우팅 테이블을 보고 하는 것
NAT-PAT(Port Address Translation) == Nomal Nat
- 일반 Dynamic NAT의 한계 극복
- 사설 IP(n) : 공인 IP(1) → 다수의 사설 IP를 하나의 공인 IP로변환 —>하나의 공인 IP로 다수의 사설 IP를 이용한 통신 지원
- 사설 네트워크 내부의 호스트 통신을 위해 사용
- 사설→외부 통신할때 설정 static NAT는 비효율적이니까 ex) 집에서 사용하는 핸드폰, pc등을 다 일대일 매핑할수 없음 (공유기가 가진 공인 IP는 1개)
- NAT동작이 수행될 때 트래픽을 구별하기 위해 IP 주소와 함께 포트 번호도 변환
'INFRA > NETWORK' 카테고리의 다른 글
NAT 패킷 트레이서 + Window 2003 실습 (0) | 2024.07.31 |
---|---|
1.인프라 아키텍처 (0) | 2024.03.25 |
Network - TCP 3 way handshake & 4 way handshake (0) | 2023.09.13 |
Network - OSI 7계층 (0) | 2023.09.13 |
4.결과를 전달하는 HTTP 상태코드 (0) | 2023.08.25 |