GRE (Generic Routing Encapsulation) 란?
라우터의 논리적 인터페이스를 만들어서 포인트-투-포인트(point-to-point) 캡슐화 방식 터널링 프로토콜이다.
GRE 터널은 완전히 스테이트리스(stateless)로 설계되었기 때문에 각 터널이 상대쪽의 상태 또는 가용성에 대한 정보를 유지하지 않는다. 따라서 터널의 상대쪽에 연결할 수 없는 경우 로컬 라우터가 GRE 터널 인터페이스의 라인 프로토콜을 작동을 중지시킬 수 없다.
링크의 상대쪽을 사용할 수 없을 때 인터페이스를 중단으로 표시하는 것은 해당 인터페이스를 아웃바운드 인터페이스로 사용하는 라우팅 테이블에서 경로(특히 고정 경로)를 제거하기 위해 사용된다.
특히 인터페이스에 대한 라인 프로토콜이 down으로 변경되면 해당 인터페이스를 가리키는 모든 고정 경로가 라우팅 테이블에서 제거된다. 이렇게 하면 대체(부동) 고정 경로를 설정하거나 대체 다음 홉 또는 인터페이스를 선택하기 위해 PBR(Policy Based Routing)을 설정한다.
*PBR(policy based routing)정책기반라우팅: 네트워크 관리자가 라우팅 결정을 정의하고 특정 데이터 또는 패킷을 다른 경로로 유도하기 위한 접근
일반적으로 GRE 터널 인터페이스는 구성되는 즉시 나타나며, 유효한 터널 소스 주소 또는 인터페이스가 가동 상태라면 그대로 유지된다.
터널 대상 IP 주소도 라우팅 가능해야 한다. 이는 터널의 다른 쪽이 구성되지 않은 경우에도 마찬가지이다.
즉, GRE 터널 패킷이 터널의 다른 쪽 끝에 도달하지 않더라도 GRE 터널 인터페이스를 통한 패킷의 경로 또는 PBR 전달은 계속 유효해야 한다는 뜻이다.
라우팅이 불가능한 패킷을 라우팅이 가능한 패킷의 내부에 넣어서 전송하고, 기존 IP 헤더 앞에 새로운 IP 헤더를 생성해 캡슐화하는 VPN 기능을 제공한다. ⇒ Cisco에서 개발한 터널링 프로토콜
GRE Keepalive
GRE keepalive는 터널이 연결되었는지 확인하고 상태를 모니터링하기 위한 메커니즘이다.
GRE 터널이 활성 상태인지 여부를 주기적으로 확인한다.
keepalive 패킷이 엔드포인트 간에 주기적으로 전송되며 터널이 활성 상태인지 확인한다.
만약 터널 한쪽이 장애인 경우 keepalive 패킷을 수신할 수 없어 장애가 발생했음을 탐지하고 조치를 취할 수 있다.
일시적인 장애인 경우 장애가 해결되었음을 탐지하고 터널을 자동으로 복구한다.
GRE keepalive가 구현되기 전에는 라우터의 로컬 문제를 확인할 수 있는 방법만 있었고 중간 네트워크의 문제를 확인할 수 있는 방법은 없었다. 예를 들어, GRE 터널링 패킷이 성공적으로 전달되지만 터널의 다른 끝에 도달하기 전에 손실되는 경우라면 PBR을 사용하는 대체 경로 또는 다른 인터페이스를 통한 경로를 사용할 수 있더라도 GRE 터널을 통과하는 데이터 패킷이 "블랙홀"이 된다. GRE 터널 인터페이스의 Keepalive는 물리적 인터페이스에서 Keepalive를 사용하는 것과 동일한 방법으로 이 문제를 해결하기 위해 사용된다.
GRE 설정

Router 2
(config)# interface tunnel 3
(config-if)# ip address 210.110.50.1 255.255.255.0
(config-if)# tunnel mode gre ip
(config-if)# tunnel source s0/0/0 (터널 반대쪽 라우터와 가까운 인터페이스)
(config-if)# tunnel destination 210.110.20.254 (실제 라우터의 주소)
(config)# ip route 210.110.40.0 255.255.255.0 210.110.50.254
Router 3
(config)# interface tunnel 3
(config-if)# ip address 210.110.50.254 255.255.255.0
(config-if)# tunnel mode gre ip
(config-if)# tunnel source s0/0/0
(config-if)# tunnel destination 210.110.10.254
(config)# ip route 210.110.30.0 255.255.255.0 210.110.50.1
Router 4
# traceroute 210.110.40.2 (router 5)
router 4에서 위와 같이 router 5로 경로를 추적해보면 router 1을 거치지 않고 터널을 통해 통신한다는 것을 확인할 수 있다.
GRE Keepalive 설정
keepalive [주기] [재시도 횟수]
[주기] 안에는 keepalive 패킷을 전송하는 주기 (초 단위)를 숫자로 입력한다.
[재시도 횟수] 안에는 keepalive 패킷 전송 후 몇번까지 응답을 기다릴지를 숫자로 입력한다.
Ex) keepalive 5 4
5마다 keepalive 패킷을 전송하고, 전송 후 4번까지 응답을 기다린다.
IPsec란?
네트워크에서 안전한 연결을 설정하기 위한 통신 규칙 또는 프로토콜 모음이다.
GRE 와 달리 데이터 인증, 암호화 및 무결성 확인과 같은 보안성들을 제공한다.
두 네트워크나 장치 간 안전하고 암호화된 연결을 만드는 데 사용한다.
IPsec 의 특징
• 데이터 암호화, 무결성 보장, 인증을 제공한다.
• 여러 프로토콜과 알고리즘을 포함하는 프로토콜 스위트이다.
• 네트워크 관리자가 보안 정책을 ‘사용자 정의’할 수 있는 유연성이 있다.
• 사이트 간 원격 액세스 VPN을 구축하고 제공한다.
• 트래픽을 필터링할 수 있고, 감시를 통해 트래픽을 모니터링한다.
IPsec SA ? SP ?
• SA(Security Association) : 보안 통신을 지원하기 위해 두 peer 간에 공유 보안 속
성을 설정하는 것이다. IPsec 동작을 위해 필수로 설정해야 한다.
1. Sequence number counter : 패킷의 tcp 세그먼트 데이터 번호 설정
2. Anti-Reply Window : 재전송 공격방어를 위한 window 값
3. AH/ESP : IPsec에서 주로 사용되는 프로토콜
4. Lifetime : 세션 만료 기간
5. Mode : 동작 모드(Transport ,Tunnel)
6. path MTU : 경로 MTU 값
• SP(Security Policy) : 패킷을 필터링하기 위한 패킷 필터링 정책
• 외부 ➝ 내부 : incoming Traffic
• 내부 ➝ 외부 : outgoing Traffic
1. Source/destination IP address : 송수신 ip 주소
2. Source/destination Port : 송수신 포트번호
3. Name : DNS 식별자 등의 이름
4. Transport Layer Protocol : TCP or UDP
IPsec 프로토콜
- AH (Authentication Header) : MAC을 이용하여 인증 및 무결성 제공한다. 패킷의 변경 가능한 필드를 제외한 모든 부분을 인증한다. 재전송 공격을 방지한다.
- ESP (Encapsulated Security Payload) : AH 기능에 암호화를 이용한 기밀성을 추가로 제공한다.
- IKE (Internet Key Exchange) : SA를 설정하는 과정에서 두 peer 간에 특정 요소에 어떤 설정 값을 사용할지 정하는 과정이다. 먼저 IKE SA를 설정하고 그걸 바탕으로 IPsec SA를 설정한다.
- ISAKMP : 인터넷 환경에서 안전하게 SA 및 세션 키를 관리할 수 있다.
IPsec vs GRE
1. 데이터의 보안 제공 GRE(X) IPsec(O)
2. 목적과 기능
- GRE : 두 지점 간 데이터를 안전하게 전송하기 위해 패킷을 포장하고 전송하며, 패킷의 라우팅과 관련된 정보를 유지한다.
- IPsec : 데이터 암호화, 무결성 확인, 통신 인증으로 안전한 통신을 제공하며, 주로 VPN을 구축하여 데이터를 안전하게 전송한다.
3 .사용 사례
- GRE : 라우터나 네트워크 장치 사이에 가상 연결을 만들거나 라우팅 정보 공유
- IPsec : VPN을 구축하고 안전한 원격 액세스 또는 사설 네트워크 연결 구현
Relationship
- GRE가 VPN을 만들기 위한 기본적인 캡슐화 형태일 수 있지만, 암호화나 인증과 같은 추가적인 보안 메커니즘 없다.
- GRE가 VPN을 위해 사용될 때 데이터의 기밀성과 무결성을 보장하기 위해 IPsec와 같은 추가 보안 메커니즘이 상위에 추가되기도 한다.
- IPsec VPN은 특정 네트워크나 장치 간의 통신을 안전하게 하기 위해 IPsec 프로토콜 모음을 사용하는 특정 유형의 VPN이다.
- 일반적으로 VPN은 공개 네트워크 위에 사설 네트워크를 만드는 다양한 기술 및 방법을 포함하는 넓은 개념이고, IPsec VPN은 보안을 위해 IPsec를 사용하는 특정 하위 집합이다.
'네트워크 > 라우터' 카테고리의 다른 글
라우팅 재분배 (redistribute) (0) | 2024.06.11 |
---|---|
PBR (Policy Based Routung) 정책 기반 라우팅 (0) | 2023.11.22 |
VRF (Virtual Routing and Forwarding) (0) | 2023.11.04 |
Frame relay (0) | 2023.11.04 |
PPP (Point to Point Protocol) (0) | 2023.11.04 |