2011년 5월 27일 금요일

NAT [Network Address Translation]

NAT 사용하는 목적에는 2가지가 있는데, 첫째는 인터넷의 공인 IP주소를 절약할 있다는점이고 둘째는 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자들로부터보호할 있다는 점이다.

NAT의 목적

Global IP address가 부족할 때 사용합니다.

인터넷의 공인 IP주소는 한정되어 있기 때문에 가급적 이를 공유할 있도록 하는 것이 필요한데 NAT 이용하면 사설 IP주소를 사용하면서 이를 공인 IP주소와 상호변환할 있도록 하여 공인 IP주소를 다수가 함께 사용할 있도록 함으로써 이를 절약할 있는 것이다.

외부에 대하여 내부 network를 숨기고 싶을때 ; 보안성 향상을 위해

공개된 인터넷과 사설망 사이에 방화벽(Firewall) 설치하여 외부 공격으로부터 사용자의통신망을 보호하는 기본적인 수단으로 활용할 있다. 이때 외부 통신망 인터넷망과 연결하는 장비인 라우터에 NAT 설정할 경우 라우터는 자신에게 할당된 공인 IP주소만 외부로 알려지게 하고, 내부에서는 사설 IP주소만 사용하도록 하여 필요시에 이를 서로 변환시켜 준다. 따라서 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야하기 때문에 공격이 불가능해지므로 내부 네트워크를 보호할 있다.

ISP를 변경할 경우

A라는 ISP 사용하다 B라는 ISP service 업체를 옮길 경우, internet global ip address ISP업체에 따라서 변경되어야 한다. 그런데,  서버 수가 많은 대규모 사업장의경우 DHCP 사용하지 않고 Static하게 setting 하여 사용하고 있었다면, 서버들의setting 변경해주는 일은 결코 수월한 일이 아니다. 경우 NAT기능을 사용하면, 내부에서는 network 변경없이 router에서만 A ISP업체의 IP address B ISP업체의 IP address translation하도록 setting 변경하면 되므로 작업이 수월해진다. 하지만Router 많은 부하가 발생하므로 권장하지 않는다.

Load sharing기능을 이용할때

외부 서비스를 제공하는 서버의 수를 확장할 NAT 사용한다면 확장이 쉽다. Router IP 200.0.0.225 서비스 서버는 3(192.0.0.1, 192.0.0.2, 192.0.0.3) 사용하고 있는 시스템에서 서비스 서버를 1 추가할 경우(192.0.0.4) Router 설정만으로 쉽게 확장할수 있다.

NAT 방식

Dynamic NAT

내부의 사설IP 라우터 또는 NAT 소프트웨어에 의해서 미리 정해진 공인IP 랜덤하게매핑됩니다.

위에서 192.168.10.1 192.168.10.2 200.100.10.1 ~ 4 어떤 공인IP와도 매핑이 가능하다. 하지만 Dynamic NAT 경우 정해진 공인IP 이미 사용중일 경우엔 나머지 사설IP 공인IP 사용할 수없다. 예를 들어서 192.168.10.1 ~ 4 200.100.10.1 ~ 4를각각 사용중일 192.168.10.2 자리가 때까지 대기해야 한다.

Static NAT

특정 사설IP 특정 공인IP 사용하도록 관리자가 미리 정해놓는 방식, 외부로 서비스하는서버는 대부분 Static NAT방식을 사용한다.

위에서 192.168.10.1 200.100.10.1로만 무조건 매핑이 된다. 192.168.10.2 나머지200.100.10.2 ~ 4 중에서 하나를 사용하게 된다.

PAT( Port Address Translation)

포트 변환을 통해서 NAT 실행한다. Static NAT Dynamic NAT 경우 사용할 있는 공인IP보다 사설IP 수가 많다면 모자라는만큼 외부로 나갈 없는 사설IP 많아진다. 하지만 PAT 포트 변환을 하기때문에 공인IP 하나만 있어도 많은 수의 사설IP 외부로 나갈 있다.

경우 사용할 있는 공인IP 개이지만 내부의 사설IP들은 각각 포트를 달리함으로써 개별적으로 외부로 나갈 있게 된다.

서비스 구성예

실제 서버에서는 TCP/IP 지원하는 어떠한 OS 사용할 있으며, 실제 서버의 default route 가상 서버로 설정해야한다. ( 예에서는 172.16.0.1이다)

Protocoll

Virtual IP Address

Port

Real IP Address

Port

Weight

TCP

202.103.106.5

80

172.16.0.2

80

1

172.16.0.3

8000

2

TCP

202.103.106.5

21

172.16.0.3

21

1



IP 주소 202.103.106.5 포트 80 향하는 모든 트래픽은 실제 주소가 172.16.0.2 포트80 172.16.03 포트 8000 부하분산된다. IP 주소 202.103.106.5 포트 21 향하는 모든 트래픽은 실제 IP 주소 172.16.0.3 포트 21 포트-전송된다.

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...