카테고리 없음

NSX 라우팅

mintoper 2025. 4. 1. 09:46

NSX logical routing architecture

 

edge

네트워크 서비스 제공(DHCP, NAT , DNS , L4 등)

라우팅(OSPF,BGP)

 

Edge 클러스터 생성 > Edge노드 생성 > Edge노드에 생성할 스위치 생성 및 설정(IP pool, 매칭될 전송노드,업링크,IP POOL, 게이트웨이 설정 등)

 

논리적 라우팅을 위해서 반드시 엣지영역이 배포되어야 한다.

 

tenant

ISP : 고객 or 가입자

enterprise(회사) : 부서,지사,그룹

 

 

 

 

Routing Component

 

 

Tier 0과 Tier 1은 모두 SR과 DR을 가질 수 있다.

Tier 0은 반드시 SR을 포함해야 하고 Tier 1은 반드시 DR을 포함해야 한다.

Tier 0의 SR은 반드시 엣지 노드에 속해야 하고 DR은 호스트마다 분산 생성될 수 있다.

Tier 1은 반드시 DR을 포함해야 하며 North-South 네트워크 구성이 필요하다면 SR을 구성해야 한다.

만약 토폴로지 구성이 단일 계층 구성일 경우 Tier 0만 사용한다.

 

 

VM > SW > T1 DR > T0 DR > T0 SR 

 

 

         +----------------------+
         |   Physical Router    |
         +----------------------+
                  │
        +----------------------+
        |   Tier-0 Gateway     |
        |   +--------------+   |
        |   |    SR        |   |
        |   +--------------+   |
        |   |    DR        |   |
        |   +--------------+   |
        +----------------------+
                  │
  ----------------------------------
  |          Intratier Transit Link         |
  ----------------------------------
                  │
        +----------------------+
        |   Tier-1 Gateway     |
        |   +--------------+   |
        |   |    SR        |   |
        |   +--------------+   |
        |   |    DR        |   |
        |   +--------------+   |
        +----------------------+
                  │
      --------------------------
      |    Downlink Interface    |
      --------------------------
        │            │            │
    +----+      +----+      +----+
    | VM |      | VM |      | VM |
    +----+      +----+      +----+

 

호스트(물리서버) 마다 Tier 0의 SR영역을 둘 순 있지만 해당 구성을 위해서는 호스트마다 물리케이블을 결선해야 한다.

해당 구성시 물리자원이 더 많이들고 트래픽 중앙집중화가 되지않아 관리에 어려움이 생긴다.

 

 

DR(Distributed Router) 

  • 기본적인 패킷 포워딩 기능 가짐
  • 호스트에 분산된 구조
  • 전송된 노드에 존재
  • ESXI 하이퍼바이저 내부 커널 모듈에서 동작
  • 분산된 라우팅 기능 제공
  • 가상머신 입장에서의 첫번째 홉 

 

SR(Service Router) :

  • NAT와 VPN등의 중앙집중형 서비스 제공
  • North-South 라우팅
  • 엣지 노드에 존재
  • Tier 1에 직접 연결은 불가능 

 

Uplink port : 외부에 존재하는 물리 라우터와 연결하기 위한 링크포트

 

IntraTier Transit Link : Tier 0또는 Tier 1 게이트웨이에서 DR과 SR 사이에 존재하는 링크로 자동적으로 생성

기본적으로 169.254.0.0/24 네트워크가 할당된다.

 

RouterLink Port : Tier 0 GW(DR)와 Tier 1 GW(SR)를 자동적으로 연결하는 링크 기본적으로 100.64.0.0/16 네트워크가

할당된다.

 

Downlink Interface : 다운링크(VM과 연결된 링크)를 Tier 1 게이트웨이에 연결 VM의 게이트웨이 역할

 

 

Service Interface : 다운링크의 확장 버전 VMware에서 기본적으로 지원되지 않는 서비스(서드파티)를 연동시에 사용 

예 : VMware에 알테온의 L4 스위치를 연동한다면 Service Interface가 필요

 

 

Tier 0 and Tier 1 Gateway

 

Tier 0은 정적/동적 라우팅 지원 Tier 1은 동적 라우팅만 지원

Tier 0과 Tier 1은 모두 ECMP를 지원

Tier 0은 외부 네트워크와 필수 연동 Tier 1은 Tier 0와 필수 연동

Tier 0는 NSX Edge 사용시 반드시 클러스터 상태로 사용

Tier 1은 클러스터가 필수는 아님  단, NAT 등의 서비스를 위해서는 반드시 SR(Edge) 연동 

 

 

NSX Edge Node 

Tier 0를 호스팅 하는 노드

중앙집중화와 stateful 서비스 제공

VPN , DHCP , P-to-V Gateway , Service Insertion , NAT , Routing , VRF Lite , Gateway Firewall 등을 지원

엣지 노드는 N-VDS를 단일로 설정하여 단일 스위치에 VLAN과 overlay를 같이 사용하거나 여러 개의 N-VDS를 두는 방법으로 나뉜다.

 

 

Failer Domain : 클러스터의 HA를 구현하기 위한 목적

 

 

NSX Edge 옵션 별 권장 리소스

 

 

VPN

Confidentality 기밀성 예 : DES/3DES AES RSA

Integrity 무결성 예 : sha md5

authentication 인증 예 : key,certification

 

 

advertise : Tier 1가 VM에게서 네트워크 정보를 받음

redistribution : Tier 0가 외부 네트워크에 트래픽 전달

 

 

dynamic routing

 

Tier 0에서는 다른 AS간에 EBGP 지원(BGP를 사용하기 위해서는 반드시 다른 AS간의 연결에서만 사용가능)

기본적으로 EBGP만 지원하나 포트 다운시와 같은 상황에서 지속적인 트랜짓을 위해 IBGP가 자동으로 생성

만약 같은 AS간의 통신에서는 OSPF를 사용가능(point-to-point or broadcast) 

 

 

preparing ESXI HOST

TZ 만들기

IP구성

host preparation

 

 

 

routing feature

 

 

ECMP

라우팅 트래픽의 부하분산을 위해 사용 NSX에서의 BGP설정시 기본적으로 활성화

ECMP 해싱 방식은 5개의 튜플 알고리즘 사용 

 

Multipath Relax

다른 AS간의 통신시에 ECMP매칭을 위해 사용

라우팅테이블에 두 AS 경로를 추가하기 위해 두 개의 병렬경로를 설치가능

 

 

 

High Avilability

 

Active-Active : 모든 엣지노드를 Active로 사용 모든 노드가 Active가 되기 위해서 모든 노드의 cost가 같아야 한다.

 

Active-standby : 특정 엣지노드를 Active로 사용 VPN 또는 stateful Gateway Firewall 등에서 사용 standby는 받은 정보에 대한 상태정보를 가지지 않으므로 active와 다르게 외부에 내부정보를 광고하지 않는다.

 

 

Failover Detection Mechanisms

 

BFD(Bidirectional Forwarding Detection) : IGP로 연결된 BGP간의 라우터 사이 스위치가 있을 경우 스위치 사이의 한 쪽 포트가 끊어질 때 반대쪽의 라우터는 포트절단을 바로 감지할 수 없으므로 OSPF 네이버가 바로 끊어지지 않아 순간적으로 통신문제 발생

BFD 매칭을 통해 스위치간에 BFD 링크를 매칭하여 스위치 포트절단시에도 더욱 빠른 감지가 가능하여 에러시간 감소

BFD keepalives 를 통해 BFD의 시그널 빈도를 조정할 수 있다.

 

dynamic Routing : Active-standby에서 Active가 절단시 standby가 연결된다.

단, inbound 또는 outbound방향중 양쪽이 아닌 한쪽만 절단되는 경우 Active가 변경되지 않는다.

 

 

Failover Mode

 

Preemptive : Active와 Standby가 서로 변경된 이후 다시 Active였던 라우터가 활성화시 다시 해당 라우터는 Active가 된다.

 

Non Preemptive : Active와 Standby가 서로 변경된 이후 Active였던 라우터가 활성화시 다시 Active로 전환되지 않는다.

 

 

transport node(ESXI host)에서 라우팅테이블 확인 순서

 

1. ESXI HOST로 접속

2. nsxcli 입력

3. get logical-router

4.get logical-router <uuid> forwarding

 

Host 영역에서 라우팅 테이블 확인시 디폴트경로는 Tier 1의 DR이 된다.

 

 

transport mode (edge)에서 라우팅테이블 확인 순서

 

1. edge mode로 ssh 접속

2. get logical-router 명령어로 vrf 번호 확인 

3. vrf x(번호)

4. get route

 

 

단일Tier 라우팅 (T1 DR이 단일)

1.내부>외부로 트래픽 전송

2.호스트는 라우팅테이블을 확인 후 DR 영역으로 패킷 전송하고 SR은 받은 패킷의 목적지를 확인한 뒤 라우팅테이블을 확인하여 최적경로 결정 (internal Transit 169.254.0.0/24)

3.Transit Transport 경로를 통해 엣지노드가 존재하는 호스트의 DR 탭에 Geneve캡슐화된 트래픽 payload를 전송 

4. 트래픽은 받은 탭은 반캡슐화 후 엣지노드의 Tier 0 SR에 전송

5.Tier 0는 라우팅 테이블을 통해 최적경로 넥스트 홉으로 트래픽 전송

 

멀티 Tier 라우팅

1.내부> 외부로 트래픽 전송

2.호스트는 라우팅테이블을 확인 후 Tier 0의 DR 영역으로 패킷 전송 (External Transit 100.64.0.0/16)

3.Tier 0 의 DR은 SR로 패킷을 전송하고 SR은 받은 패킷의 목적지를 확인 후 라우팅테이블과 대조하여 최적경로 결정

4.Transit overlay 경로를 통해 엣지노드가 존재하는 호스트의 DR 탭에 Geneve캡슐화된 트래픽 payload를 전송

5.트래픽을 받은 탭은 반캡슐화 후 엣지노드의 Tier 0 SR에 전송

6.Tier 0 는 라우팅 테이블을 통해 최적경로 넥스트홉으로 트래픽 전송

 

 

 

VRF(virtual routing forwarder) 

eth | label | ip | L4 | data 예 : MPLS(Multiprotocol label switching)

라우팅 영역을 분할

Tier 0를 만약 3개 사용한다면 엣지는 최소 3개 이중화시 6개가 필요 부하 증가

만약 VRF를 사용시 Tier 0을 분할하여 하나의 Tier 0으로 여러 오버레이 네트워크 영역을 수용가능

각각의 포트들은 독립된 라우터처럼 동작

 

VRF는 외부 라우터에서도 추가설정 필요

 

router ospf 1 vrf BLUE

 

router ospf 2 vrf RED

 

VRF Lite Control and Data Planes

 

BGP간의 통신이 VLAN기반을 통해 통신

 

 

 

GUI 트러블슈팅

 

 

Traffic analyst 

소스와 목적지를 정하고 해당경로의 서비스 또는 트래픽 여부를 검증

일반 analyst와 live analyst가 존재

 

 

IPFIX

물리적 디바이스에서 제공하는 것과 유사한 네트워크 모니터링 데이터를 제공하며 관리자에게 

가상 네트워크 상태를 보여준다.

네트워크 관리자가 물리적 하드웨어에서 네트워크를 분리할 수 있는 기능을 통해 네트워크를 가상화한다.

 

 

Port Mirroring

특정 포트에 대한 복사본을 따로 두어 모니터링

 

 

SPAN(switch port analyst)

스위치 포트의 작동여부 감시 SPAN은 local span과 remote span으로 나뉨

 

local span

미러링 세션의 소스와 목적지인 NICS가 모두 동일한 전송 노드에 있는 경우 사용

 

remote span

캡처된 트래픽을 다음 세 가지 프로토콜 중 하나로 캡슐화된 원격 IP 주소로 전달

GRE,ERSPAN type 2 ERSPAN type3

 

 

 

 

Firewall

 

 

Distribute firewall 

 VM 단위의 필터링 

 

 

Gateway firewall

Tier 0 또는 1의 업링크 필터링 (엣지영역)

 

 

NSX Segmentation

데이터 센터 인프라를 작은 구역으로 나누어 트래픽 흐름에 대한 세밀한 제어와 검사가 가능하도록 하는 프로세스

 

 

Macro-segment

특정 환경을 격리

 

 

Micro-segment

환경의 특정 애플리케이션을 격리하고 보호

 

 

 

Firewall policy

룰을 적용할 단위

 

Firewall Rule

정책에 적용시킬 조건

 

rule attribute

 

groups 대상의 모음 태그를 추가하여 관리 편의성 가능

services 

profiles 

 

save,rollback,export,import

 

Distributed 방화벽의 기능

 

L2 stateless 방화벽 rule

L3 stateless and stateful(L4 서비스) rules

context-aware(L7) 방화벽 rule

윈도우 작업량 확인

FQDN 필터링

변조아이피 차단

시간 기반 정책 (특정시간만 정책적용)

 

Distributed 방화벽의 Key Concepts

 

Security policy : 방화벽 rule의 모음집 

Firewall rule : 적용시킬 조건 rule

Group : 특정 policy를 적용할 개체의 묶음 정적 또는 동적으로 설정가능

Service : 포트와 프로토콜 정의 

Context profile : 패킷의 데이터 영역을 제어

 

 

Distributed 방화벽의 특성

 

up-down 기반의 정책적용(cisco의 acl과 같음)

첫번째로 매치된 룰 등록

정책이 적용되지 않은 영역의 경우 default rule이 적용

 

3티어 정책 옵션

 

TCP strict 

이 설정이 특정 섹션에서 활성화되어 있고, 패킷이 해당 섹션의 규칙과 일치하는 경우, 패킷이 기존 세션에 속하지 않으며 SYN 플래그가 커널에서 설정되지 않은 경우 해당 패킷은 차단

 

Stateful

이 설정을 사용하면 구성 변경을 수행하는 동안 정책을 잠글 수 있어 다른 사용자가 동시에 수정할 수 없다.

 

Locked 

분산 방화벽은 상태 저장 패킷 검사를 수행하고 네트워크 연결의 상태를 추적 활성 상태로 확인된 기존 연결과 일치하는 패킷은 허용 일치하지 않는 패킷은 방화벽 규칙을 기준으로 검사

 

 

Firewall Rule action

 

allow : 허용

drop : source에게 실패한 이유를 전송하지 않고 거부

reject : source에게 실패한 이유를 전송하고 거부

 

Distributed 방화벽 동작

 

사용자가 정책 구성

정책들이 프로세싱

분산 방화벽 정책은 관리자 역할에 푸시되어 유지

관리자룰은 CCP에 포워딩

CCP는 nsx-proxy를 통해 LSP에 포워딩

호스트의 전송노드는 방화벽 정책과 경로를 저장

 

VSIP(Vmware Service Insertion Platform) : 방화벽 룰을 받은 뒤 각각의 vm의 vnic을 다운로드

VDPI( : L7 패킷 허용(패킷의 상세내용)

 

 

D 방화벽 rule 프로세싱

rule table : 동작

connection table : 연결기록 남김

 

1.연결 테이블에서 조회를 수행하여 연결이 있는지 확인

2.연결이 없으면 패킷이 규칙 테이블과 일치

3.패킷이 허용되고 트래픽 유형이 상태 저장형이면 연결 테이블에 연결 항목이 생성

4.동일한 연결에 대한 모든 후속 패킷은 연결 테이블에서 직접 서비스 상태 저장형 패킷은 항상 규칙 테이블과 일치

 

 

보안설정

 

(공격)attack                                         (방어)mitigation

arp spoofing                                         arp snooping

dhcp spoofing                                       dhcp snooping

nd(neighbor discovery) spoofing          nd snooping

 

 

 

 

Gateway Firewall

 

엣지 영역의 방화벽 엣지 외부의 네트워크에도 정책 설정시 Distributed가 아닌 gateway 방화벽을 설정

 

사용자 > 정책 > 매니저 > CCP > Proxy hub > nsx-proxy(엣지영역) > datapath(SW)

 

이외의 설정은 Distributed와 비슷하며 Gateway 영역에서만 EGP의 영역을 조회 가능하다.

 

 

 

물리 인프라

sw/router

 

security

fw

vpn

ips/ids

 

slb

L4 slb

L7 slb

cashing

 

network service:nat,dhcp,dns,ntp

waas: web application acceleration system

 

 

NAT

 

NAT rule

SNAT/DNAT/NAT64                                Tier0-1                        Active-Standby

기본적인 NAT 설정

Reflexive NAT                                         only Tier 0                  Stateless Active-Active

Active-Active설정 이후 추가적인 변경에 어려움이 있기 때문에 사용되는 NAT 옵션 상태정보를 가지지 않기 때문에 양단의 NAT 연결단에 Reflexive 설정을 해주어야 한다.

Stateful Active-Active SNAT/DNAT         Tier-0 and Tier-1         Stateful Active-Active

Active-Active설정 이후 추가적인 변경에 어려움이 있기 때문에 사용되는 NAT 옵션으로 Reflextive NAT와의 차이는 Stateful의 경우 한쪽단에만 설정해줘도 NAT설정 사용이 가능하다. 

 

 

SNAT 

내부의 아이피를 외부로 나갈시에 아이피를 변경해줌

 

DNAT

외부의 아이피를 내부로 들어올시에 아이피를 변경해줌

 

 

NAT64

ipv6기반의 IP를 ipv4의 기반으로 변경

NAT64는 Tier 0와 Tier 1둘다 지원 단 stateful Tier 0의 조건일 경우 active-standby 사용

NAT64는 Tier-1을 사용시 엣지클러스터를 active-standby 사용

 

 

SLB (Server Load Balancing)

 

자신이 받을 요청을 내부의 백엔드 서버에 부하분산

로드밸런싱을 위해 서버의 Vip(Virtual IP)를 지정

Vip를 가진 장비는 항상 자신과 연결된 host를 실시간 모니터링

 

L4 Load Balancing

L4의 헤더를 확인하고 세션 생성 및 부하분산

 

L7 Load Balancing

세션을 맺고 L7 정보를 통해 부하분산

예 : 네이버사이트의 네이버뉴스 등에 대한 상세기능제어

 

 

로드밸런싱 설계

 

로드밸런서는 가상서버, profiles, server pools , 모니터링을 포함한다.

 

 

Virtual Server

Server pool중 한 개의 서버에서 서비스를 중계

 

profiles

Virtual서버를 어떻게 운용하는가

 

애플리케이션 :가상 서버가 네트워크 트래픽을 처리하는 방법을 정의

persistence :상태 저장 애플리케이션에서 모든 관련 연결을 동일한 백엔드 서버로 리디렉션하는 데 사용

SSL :클라이언트와 서버에서 사용할 SSL 프로토콜 유형과 암호를 정의(L7만 해당)

 

 

Server pools

서버 풀은 정적으로 수동지정하는 방식과 dynamic 방식이 있다.

 

 

Monitors

서버의 상태를 확인

Active 모니터링 : 모니터가 백엔드서버의 정상 여부를 지속적으로 테스트

Passive 모니터링 : 클라이언트-서버간의 통신을 확인하여 모니터링

 

 

로드밸런싱 컴포턴트간의 관계

 

로드 밸런서는 하나의 Tier-1 게이트웨이에만 연결 가능
로드 밸런서는 하나 이상의 가상 서버를 호스팅 가능
하나 이상의 가상 서버는 프로필을 사용 가능 
가상 서버는 하나 이상의 서버 풀을 포함 가능
하나 이상의 서버 풀은 모니터를 사용 가능

 

 

로드밸런싱 배포 모드

 

Inline : SLB를 실제 트래픽 경로와 직선으로 구성

 

One arm : SLB를 실제 트래픽 경로와 분리하여 구성

 

 

VPN

 

site-to-site VPN : 회사간의 VPN

remote-as VPN : 회사와 개인간의 VPN

 

MPLS VPN

 

L2 MPLS : 라우터가 태그를 통해 스위치와 비슷하게 동작 확장성의 문제 존재

 

L3 MPLS : 라우터가 태그를 통해 양단에서 피어를 설정