새로운 공간

GRE(Generic Routing Encapsulation) 터널링 본문

네트워크/네트워크 구성

GRE(Generic Routing Encapsulation) 터널링

jin._. 2023. 9. 4. 11:44

GRE (Generic Routing Encapsulation)?

네트워크 통신에서 사용되는 프로토콜로, 두 개의 노드 간에 데이터를 안정적으로 전송하기 위한 터널링 프로토콜.

GRE는 패킷을 캡슐화하여 다른 네트워크로 전송하고, 수신측에서 패킷을 디캡슐레이션하여 원래의 형태로 복원함.

 

 

주요 특징과 용도

  1. 터널링 프로토콜: GRE는 터널링 프로토콜로 사용되며, 하나의 네트워크에서 다른 네트워크로 데이터를 안전하게 전송하기 위해 사용됩니다. 이러한 터널은 보통 두 개의 라우터 또는 라우팅 장비 사이에 설정됩니다.
  2. 캡슐화: 송신자에서 수신자로 데이터를 전송하기 위해 GRE는 패킷을 캡슐화합니다. 즉, 원본 데이터 패킷을 캡슐화하고 추가적인 헤더 정보를 붙여 패킷을 생성합니다.
  3. 다양한 네트워크 프로토콜 호환성: GRE는 다양한 네트워크 프로토콜과 호환성이 있어서 IP, IPv6, IPX, 등 다양한 프로토콜을 터널링할 수 있습니다.
  4. 가벼운 프로토콜: GRE는 상대적으로 가벼운 프로토콜이며, 데이터를 빠르게 캡슐화하고 디캡슐레이션할 수 있습니다.
  5. 데이터 프라이버시 및 보안: GRE는 데이터를 터널링하므로 원본 데이터를 감출 수 있으며, 이를 통해 데이터의 프라이버시를 보호하거나 데이터를 암호화하는 추가적인 보안 계층을 추가할 수 있습니다.

GRE는 주로 VPN (Virtual Private Network) 구성, 원격 지점 연결, 라우팅 도메인 간 연결 등과 같은 다양한 네트워크 시나리오에서 사용됩니다. GRE 터널은 여러 네트워크 장비 간에 프라이버시, 보안, 확장성을 제공하고, 논리적인 네트워크 분리 및 트래픽 경로 제어를 위한 유용한 도구로 활용됩니다.

 

 

 

우선 실습환경 구축해놓자!

 

pc2 에서 pc1으로 ping을 쳤을 때 R2와 R3 사이의 ICMP 패킷 확인

 

 

GRE(Generic Routing Encapsulation) --> 터널링 프로토콜 : Cisco 사용

GRE -> 터널링

(L3헤더 페이로드)  : L3 계층 데이터 그램 :패킷

L3헤더(패킷)       : 기존 패키에 L3헤더를 추가한다.

원본 패킷 ----> 재포장    ----> 라우팅 ----> 포장해제  ----->    원본 패킷
    source Encapsulation                   Destination Decapsulation

 

 

 

GRE?

1. Cisco에서 개발한 터널링 프로토콜 --> 일반적으로 VPN이라 부른다.
2. 특정 네트워크에서 새로은  IP 헤더를 인캡슐레이션하여 패킷을 전송(VPN)
    ----------------------------------------------------------------------- : 일반적 특성
3. 데이터를 암호화하지 않기 때문에 보안적으로 취약하다.
다만, 암호화 기법을 사용하는 VPN에 비해서 데이터 전송 처리가 빠르다.
 --> 암호화를 제공하는 기능과 묶어서 사용하면 온전한 VPN기능을 가질 수 있다.
* 암호화를 제공하는 기능: 차후에 헤더와 페이로드를 암호화 할 수 있는 기능 : IPSEC
    
    
IPSEC over GRE --> 우리가 일반적으로 생각하는 VPN
VPN을 썻다고 해서 빨라지는게 아니라 VPN이 구축된 서버 회선이 빨라야 빠른거임..!!!!

 

 

----------------------------------------------------------------------------

그렇다면 R1과  R4 사이에 VPN을 만들어보자

: VC - 버츄얼 서킷

: VPN을 사용하면 빨라진다 ??! --> 효율적인 패킷 

 

 

GRE 터널링 구성

1. 터널링을 구성하기 위해 터널 인터페이스를 생성한다
 VI : 가상 인터페이스 : SVI, VL, FR, Loopback

 

 

세팅 하자!

conf t
int tunnel 번호 #임의 숫자 r1에서 r4로 보내니깐 14로 할래!

ip add VC가 사용할 IP 설정

tu so 시작주소

tu des 도착주소

 

R1 설정

conf t
int tunnel 14
ip add 100.1.1.1 255.255.255.0  #차후엔 ip를 사용하지 않는다_unnumered
tu so 1.1.2.1
tu des 1.1.4.2  

 

R4 설정

conf t
int tunnel 41
ip add 100.1.1.2 255.255.255.0
tu so 1.1.4.2
tu des 1.1.2.1  

 

 

R1과  R4가 서로 통신이 된다.

 

 

R2 ~ R3 사이의 와이어샤크를 보게되면 아래와 같이 가상 주소(대역 100.1.1.0)로 통신되는 것을 알 수 있다.

1. 라우터가 읽을 때 보이는 주소 / 원래 위치에 보이는 주소

Src 1.1.2.1    Dst 1.1.4.2

 

2. 숨겨진 헤더 정보

Src 100.1.1.2    Dst 100.1.1.1

 

 

<목표>

R1에서 필요한 부분 : 1.1.5.0 255.255.255.0 네트워크로 전달할 때에는 int tu 14로 전달하고 싶다.

중간에서 누가 패킷을 보더라도 기밀성 유지하고 싶어!!!!!

 

R1 설정

conf t

ip route 1.1.5.0 255.255.255.0 tunnel 14

 

R4 설정

conf t

ip route 1.1.1.0 255.255.255.0 tunnel 41

>>>>>>>>>> Static으로 tunnel Routing이 설정되어있다.

 

pc1(1.1.1.2)가 pc2(1.1.5.2)로 ping 했을 때

R2~R3의 와이어샤크 확인하면

외부에 노출되는 ip 헤더의 정보를 보면  Src :  1.1.4.2   Dst : 1.1.2.1

pc2 -> pc1이 서로 통신하는 것을 알 수 없다.

 

 

'네트워크 > 네트워크 구성' 카테고리의 다른 글

IPv6  (0) 2023.09.01
Colasoft Packet Bilder  (0) 2023.07.27
Nessus  (0) 2023.07.26
OSPF_AREA 인증 보안  (0) 2023.07.20
OSPF_2  (0) 2023.07.19