'NAT'에 해당되는 글 3건

  1. 2018.12.19 AWS - VPC : Part 10 [VPC 생성 - 수동]
  2. 2018.11.22 AWS - VPC : Part 2 (VPC 구성요소)
  3. 2016.07.29 Ip_forward

Today Keys : VPC, AWS, 아마존, Cloud, 클라우드, 서브넷, Subnet, 라우팅, Routing, NAT, Gateway, IGW


이번 포스팅은 예전 포스팅에서 마법사를 통해서 만들었던 VPC를 마법사를 통하지 않고

각 개별 항목 별로 생성해보는 실습 예제입니다. 

마법사를 통한 구성은 편리하지만, 직접 개별 항목으로 생성해 보는 작업을 통하면 실제 VPC의 구성이 어떻게 이뤄지는지

이해하는 데 많은 도움이 되리라 생각됩니다. 

관련 포스팅 : AWS - VPC : Part 3 [VPC 생성 및 테스트:마법사]


이번 포스팅에서 만들게 될 VPC 구성은 다음과 같습니다. 

하나의 VPC 내에 공인 서브넷과 사설 서브넷을 각각 1개씩 구성합니다.

VPC가 외부와 통신하기 위해서 Internet Gateway와 사설 서브넷이 외부와 통신하기 위한 NAT Gateway를

각각 만들고, 라우팅 테이블을 조정 합니다.

 

 

먼저 VPC를 생성합니다

VPC 생성 시에는 VPC에서 사용한 네트워크를 선언하는 데, 초기에 설정한 네트워크(CIDR)은

삭제나 변경이 불가하며, 초기 설정한 대역을 기준으로 추가 CIDR 설정도 영향을 받기 때문에 잘 설계하여 결정해야 합니다.

 

 

 

  생성된 VPC의 정보는 다음과 같이 확인 할 수 있습니다. 

 

  VPC가 만들어졌으며, 이제 VPC 내에서 사용할 서브넷을 생성합니다.

여기에서는 공인 서브넷과 사설 서브넷을 각각 1개씩 생성합니다. 서브넷에서도 네트워크 대역을 정해야 하는 데,

VPC 내의 서브넷의 네트워크 대역은 VPC의 네트워크 내에 포함되어야 합니다.  

 

  본 예제에서는 AZ는 1개로만 구성하였습니다. 

 

  생성된 서브넷 정보는 다음과 같이 확인 할 수 있습니다. 

 

  이제 외부와 통신하기 위한 Internet Gateway를 생성합니다.

 Internet Gateway를 생성 할 때는 별다른 정보없이 Name만 지정합니다. 

 

  생성된 Internet Gateway는 아직 어느 VPC에서 사용될지 결정된 상태가 아니기 때문에 상태 값이 detached 입니다.  

 

  이제 처음에 만들었던 VPC에서 사용하기 위해서 방금 만든 Internet Gateway를 VPC에 연결합니다. 

 

   VPC를 선택해서 Internet Gateway를 연결하고나면,

 

  Internet Gateway의 상태가 attached로 되고, 연결된 VPC의 정보가 뜹니다.  

 

 다음은 라우팅 테이블입니다. VPC 생성 시에 만들어진 라우팅 테이블에는 VPC의 네트워크(CIDR)이 Local로 되어 있으며,

추가적인 라우팅이 없습니다. (Local이기 때문에 VPC 내에서 설정한 서브넷 간에는 통신이 가능합니다.)

 

 

 인터넷을 나가기 위해서 라우팅 테이블의 Default Route(0.0.0.0/0)의 Target(Next Hop)을 앞에서 만들었던

Internet Gateway로 지정합니다.

 

다음은 Elastic IP를 생성합니다.

 

Elastic IP는 바로 할당 버튼을 누르면 별다른 정보 입력없이 다음과 같이 바로 할당이 됩니다.

 

Elastic IP를 만든 것은 사설 서브넷이 인터넷과 통신하기 위한 NAT Gateway를 만들기 위한 것이었습니다.

사설 서브넷이 인터넷과 통신하기 위해서 만들지만, NAT Gateway를 생성할 때 설정하는 서브넷은

사설 서브넷이 아니라, 공인 서브넷으로 설정하고, 방금 전에 할당받은 Elastic IP를 연결합니다.

 

 

실제  서브넷 정보를 보면 공인 서브넷으로 생성한 '~cefe1' 로 끝나는 ID임을 확인할 수 있습니다.

 

이제 사설 서브넷을 위한 라우팅 테이블을 추가로 만듭니다.

서브넷 별로 라우팅 테이블을 적용 할 수 있습니다.

 

라우팅 테이블 생성하고  라우팅 정보를 수정합니다.

사설 서브넷을 위한 라우팅 테이블이기 때문에 Default Route에 대한 Target(Next hop)을 NAT Gateway로 합니다.

 

이제 초기에 만든 사설 서브넷의 기본 라우팅 테이블을을 확인해서

 

 방금 전에 만든 사설 서브넷용 라우팅 테이블로 변경합니다.

서브넷에 대한 라우팅 테이블을 변경하면 해당 라우팅 테이블의 정보를 볼 수 있습니다.

 여기까지하면, VPC 마법사를 통해서 만든 VPC 구성을 직접 만드는 작업이 끝나게 됩니다.

이제 실제 EC2를 생성해서 여기서 만든 공인 서브넷과 사설 서브넷으로 할당해서 각각 외부와 통신이 되는지

사설 서브넷의 EC2의 경우 공인 IP 주소가 NAT Gateway에 할당된 Elastic IP로 보이는지 확인하면 됩니다.

 

앞서 얘기 했듯이 AWS에서 제공되는 VPC를 생성하는 마법사를 이용하면 좀 더 쉽고 빠르게

VPC를 구성 할 수 있지만, 직접 만드는 작업을 통해서 실제 VPC 구성에 대한 이해를 도울 수 있을 것 입니다.

 

그리고 이렇게 만들어진 VPC는 최소한의 통신을 위한 기본 구성이기 때문에 VPC 설계를 위한 다른 컴포넌트들은

추가로 적절하게 생성하여 연결해야 합니다.

 

Posted by 네떡지기

Today Keys : AWS, VPC, Route, Table, IGW, Internet, Gateway, EIP, Elastic, IP address, NAT, 네트워크, 아마존



AWS VPC 대시보드를 보면 다음과 같이 VPC에서 사용되는 다양한 컴포넌트가 있습니다.

이번 포스팅에서는 VPC의 다양한 컴포넌트 중에서 라우팅 테이블과 인터넷 게이트웨이, 탄력적 IP, NAT 게이트웨이에 대해서 알아보겠습니다.

Last Updated : 2018.11.30 



 

라우팅 테이블(Route Tables)

 · 특정 네트워크 대역에 대해서 어떤 경로를 통해서 갈지에 대한 테이블 

 · 목적지 네트워크 대역을  '도착(Destination)'으로 표기하고, 목적지로 가기 위한 Next Hop을  '대상(Target)'이라고 나타냄

 · 라우팅 테이블은 서브넷 별로 적용 되기 때문에, 하나의 서브넷은 하나의 라우팅 테이블에만 속함.

 · 서브넷은 하나의 라우팅 테이블에 속하지만, 하나의 라우팅 테이블에는 다수의 서브넷이 속할 수 있음.

 · 라우팅 선언 시에 하나의 목적지 네트워크(Destination)에 대한 라우팅은 1개만 선언 가능하기 때문에 라우팅 테이블 선언으로 백업 경로 지정 불가

 · VPC의 CIDR로 선언한 네트워크 대역은 'Local'로 인식

 

 ·

 

인터넷 게이트웨이(IGW : Internet Gateways)

 · VPC 내부에 존재하는 인스턴스가 외부로 나가기 위한 관문

 · 공인 서브넷이 되기 위해서는 라우팅 테이블에서 Next-hop(Target)이 인터넷 게이트웨이(IGW)인 경우 임.

 · 사설 서브넷 인스턴스의 경우에도 외부와 통신하기 위해서는 NAT 게이트웨이를 통한 이후에 다시 인터넷 게이트웨이를 경유하는 데, 
   NAT 게이트웨이 자체가 공인 서브넷에 존재하기 때문에 결국 공인 서브넷의 라우팅 테이블을 적용 받아서 IGW를 지나기 때문.

 ·

 

탄력적 IP(Elastic IPs)

 · AWS 내에서 할당되는 Static한 공인 IP

 · EIP 생성 시점에는 Public EIP만 할당이 되지만, 해당 EIP를 바인딩하게 되면, 사설 IP와 1:1로  매핑 됨.

 

 

NAT 게이트웨이(NAT Gateways)

 · 사설 IP를 가진 인스턴스가 별도의 공인 IP를 할당받지 않은 상태에서 외부와 통신하기 위해서 사용하는 NAT 컴포넌트

 · NAT 게이트웨이에는 NAT를 Public 서브넷과 실제 NAT되는 EIP를 할당.

 · 특정 서브넷에 대한 NAT 기능을 수행하도록 사설 서브넷과 공인 IP가 매핑된 형태의 컴포넌트로 볼 수 있음.

 · 라우팅 테이블의 Next Hop을 NAT 게이트웨이로 지정하게 되면, NAT 동작을 수행.

 · 최대 1G 대역폭 지원




Posted by 네떡지기
분류없음2016.07.29 17:35

가상화 환경에서 서로 다른 네트워크를 사용하는 VM간의 라우팅이 필요로 경우가 있는 ,

별도의 Router VM 아닌 일반 Linux 사용하여 아주 간단한 Router 역할을 있음.

Ip_forward 활성화하면, 해당 시스템 안에서 커널이 처리하는 패킷에 대해서 외부로 forwarding 가능.

 

만약, ip_forward 활성화 되지 않은 경우에는 수신된 패킷이 자신의 것이 아니면 Drop .

 

CentOS 6.7 기준

== 활성화 방법 ==

 

# cat /proc/sys/net/ipv4/ip_forward

1

Enable : 1  /   Disable : 0

 

 

◎ 해당 설정을 지속시키기 위해서 sysctl.conf 을 수정.

 

# cat /etc/sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux

#

# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and

# sysctl.conf(5) for more details.

 

# Controls IP packet forwarding

net.ipv4.ip_forward = 1

 

인터페이스 별로 활성화 상태 확인

# cat /proc/sys/net/ipv4/conf/eth1/forwarding

1

 

 

==  NAT처리 ==

 

Internal Interface : eth1

External Interface : eth0

 

# /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

# /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

 

Posted by 네떡지기

티스토리 툴바