08VPN 토폴로지 — Domain-Based·Route-BasedVPN 토폴로지 — Domain-Based·Route-Based
VPN 트래픽을 어떤 기준으로 라우팅하느냐 에 따라 토폴로지가 둘로 갈립니다. 하나는 SmartConsole에 정의한 VPN 도메인 을 보고 라우팅하는 Domain-Based VPN, 다른 하나는 OS의 IP 라우팅과 가상 인터페이스(VTI) 를 그대로 활용하는 Route-Based VPN 입니다. 이 장은 두 방식이 각각 어떻게 동작하는지, SmartConsole·설정 파일·Gaia 명령으로 어떻게 구성하는지, 그리고 클러스터·동적 라우팅·멀티캐스트 같은 까다로운 상황까지 원문의 절차·표·파라미터·주의사항을 하나도 빠뜨리지 않고 풀어 정리합니다. 자세한 터널 관리·경로 주입은 터널 관리·Route Injection에서 이어집니다.
Domain-Based VPN
개요 — VPN 도메인을 보고 길을 정한다
Domain-Based VPN 은 같은 커뮤니티 안의 Security Gateway 사이에서 VPN 트래픽이 어떻게 라우팅될지를 제어 합니다. 어떤 Security Gateway 뒤에 있는 호스트로 트래픽을 보내려면, 먼저 그 게이트웨이의 VPN 도메인을 정의 해야 합니다. 라우팅 구성은 SmartConsole 에서 하거나, 게이트웨이별 VPN 라우팅 설정 파일인 vpn_route.conf 에서 합니다.
대표적인 그림을 떠올려 보면 이해가 쉽습니다. Security Gateway "A" 뒤의 호스트가 Security Gateway "B" 뒤의 호스트에 접속하려 합니다. 그런데 기술적·정책적 이유로 A와 B가 직접 VPN 터널을 맺을 수 없 습니다. 이때 VPN Routing 을 쓰면, A와 B가 중간의 Security Gateway "C"를 거쳐 터널을 맺어 통신할 수 있습니다. 즉 A↔C 터널과 B↔C 터널이 있으면 C가 둘 사이를 중계합니다.
| 기호 | 설명 |
|---|---|
| A | Security Gateway "A" |
| B | Security Gateway "B" |
| C | Security Gateway "C" (VPN 라우팅을 수행하는 중계 게이트웨이) |
VPN Routing과 Access Control은 함께 간다
여기서 꼭 기억할 것 이 있습니다. VPN 라우팅 연결도 다른 연결과 똑같이 보안 정책(Access Control) 규칙의 통제를 받 습니다. VPN 라우팅을 아무리 정확히 구성했더라도, 그 연결을 허용하지 않는 정책 규칙이 있으면 연결은 차단 됩니다.
예를 들어 어떤 Security Gateway에 "내부 네트워크에서 외부로 나가는 모든 FTP 트래픽 금지"라는 규칙이 있다고 합시다. 피어 게이트웨이가 이 게이트웨이로 FTP 연결을 열면, 그 연결은 규칙에 걸려 차단 됩니다.
그래서 VPN 라우팅이 성공하려면, 중앙 게이트웨이에서 인바운드·아웃바운드 양방향 트래픽을 모두 한 규칙으로 덮 어야 합니다. 이 규칙을 만드는 방법은 바로 아래 SmartConsole 절차에서 설명합니다.
Domain-Based VPN에서 VPN 라우팅 구성하기
가장 흔한 VPN 라우팅 시나리오는 SmartConsole의 Star VPN Community 로 구성합니다. 더 세밀하게 제어하고 싶으면 Management Server에 있는 해당 vpn_route.conf 파일을 직접 편집할 수도 있습니다. 단, VPN 라우팅은 같은 VPN 커뮤니티에 속한 Security Gateway 사이에서만 구성할 수 있습니다.
SmartConsole에서 Star 커뮤니티로 구성하기
- Star Community 객체 에서:
- Center Gateways 영역에서 "Hub" 역할을 할 Security Gateway를 선택합니다.
- Satellite Gateways 영역에서 "spoke"(위성) 역할을 할 Security Gateway들을 선택합니다.
- VPN Routing 페이지의 Enable VPN routing for satellites 영역에서 다음 중 하나를 고릅니다.
| 옵션 | 의미 |
|---|---|
| To center and to other Satellites through center | 게이트웨이 사이 연결을 허용합니다. 예컨대 spoke 게이트웨이들이 동적으로 IP를 받고, Hub는 고정 IP를 가진 경우에 적합합니다. |
| To center, or through the center to other satellites, to internet and other VPN targets | 게이트웨이 사이 연결은 물론, Hub를 거쳐 인터넷으로 나가는 모든 통신까지 검사 할 수 있게 합니다. |
- 알맞은 Access Control 정책 규칙 을 만듭니다. 이 규칙은 반드시 양방향 트래픽을 모두 허용 해야 합니다.
- Hub가 위성에서 인터넷으로 나가는 연결을 라우팅하는 데 쓰인다면, Hub에서 위성 Security Gateway를 NAT 합니다.
설정 파일 'vpn_route.conf'로 구성하기
더 세밀하게 제어하려면 Management Server에서 해당 vpn_route.conf 파일을 편집합니다. 이 파일은 네트워크 객체의 이름이 담긴 텍스트 파일 이며, 형식은 다음과 같습니다.
Destination Next hop router interface Install on세 요소는 탭(tab)으로 구분 합니다.
간단한 예를 봅시다. 중앙(Hub) 게이트웨이 하나와 위성(spoke) 게이트웨이 둘로 구성되고, 모든 장비가 같은 Security Management Server로 관리되며 같은 VPN 커뮤니티에 속해 있습니다. 위성끼리는 Telnet과 FTP만 암호화해 Center를 거쳐 라우팅 한다고 합시다. Star VPN 커뮤니티로도 쉽게 할 수 있지만, vpn_route.conf로도 같은 결과를 만들 수 있습니다.
| Destination | Next hop router interface | Install on |
|---|---|---|
Spoke_B_VPN_Dom | Hub_C | Spoke_A |
Spoke_A_VPN_Dom | Hub_C | Spoke_B |
이 예에서 각 항목의 뜻은 이렇습니다.
Spoke_B_VPN_Dom— 위성 "B"의 VPN 도메인을 나타내는 네트워크 객체 이름.Hub_C— VPN 라우팅이 활성화된 Security Gateway 이름.Spoke_A_VPN_Dom— 위성 "A"의 VPN 도메인을 나타내는 네트워크 객체 이름.
파일 내용은 값을 공백으로 구분 해 이렇게 적습니다.
Spoke_B_VPN_DOM Hub_C Spoke_A
Spoke_A_VPN_DOM Hub_C Spoke_BManagement Server에서 'vpn_route.conf' 파일의 위치
vpn_route.conf 파일에는 Domain-Based Site to Site VPN의 구성 이 들어 있습니다. 다음을 지켜야 합니다.
- 반드시 해당 Domain Management Server의 컨텍스트 에서 이 파일을 편집해야 합니다. 원하는 컨텍스트로 이동하려면 다음 명령을 씁니다.
mdsenv <IP Address or Name of Domain Management Server>
- 필요한 파일이 없으면,
$FWDIR/conf/vpn_route.conf파일을 복사해 이름을 바꾼 뒤 편집합니다.
대상 Security Gateway 버전에 따라 R82 Security Management Server와 Domain Management Server에서의 파일 위치는 다음과 같습니다.
| 대상 게이트웨이 버전 | Security Management Server | Domain Management Server |
|---|---|---|
| R82 | $FWDIR/conf/vpn_route.conf | $MDSDIR/customers/<Name_of_Domain>/CPsuite-R82/fw1/conf/vpn_route.conf |
| R81.20 | /opt/CPR8120CMP-R82/conf/vpn_route.conf | $MDSDIR/customers/<Name_of_Domain>/CPR8120CMP-R82/conf/vpn_route.conf |
| R81.10 (및 Quantum Spark 1500/1600/1800의 R81.10.x) | /opt/CPSFWR81CMP-R82/conf/vpn_route.conf | $MDSDIR/customers/<Name_of_Domain>/CPSFWR81CMP-R82/conf/vpn_route.conf |
| R81 (및 Quantum Spark 1500/1600/1800) | /opt/CPR8120CMP-R82/conf/vpn_route.conf | $MDSDIR/customers/<Name_of_Domain>/CPR8120CMP-R82/conf/vpn_route.conf |
| R80.40 | /opt/CPR8040CMP-R82/conf/vpn_route.conf | $MDSDIR/customers/<Name_of_Domain>/CPR8040CMP-R82/conf/vpn_route.conf |
| R80.30 (및 Maestro의 R80.30SP) | /opt/CPR8040CMP-R82/conf/vpn_route.conf | $MDSDIR/customers/<Name_of_Domain>/CPR8040CMP-R82/conf/vpn_route.conf |
| R80.20 (및 Maestro·Scalable Chassis의 R80.20SP, Quantum Spark 1500/1600/1800의 R80.20.x) | /opt/CPSFWR80CMP-R82/conf/vpn_route.conf | $MDSDIR/customers/<Name_of_Domain>/CPSFWR80CMP-R82/conf/vpn_route.conf |
| R80.10 | /opt/CPR8040CMP-R82/conf/vpn_route.conf | $MDSDIR/customers/<Name_of_Domain>/CPR8040CMP-R82/conf/vpn_route.conf |
'Accept VPN Traffic Rule' 구성하기
암호화된 트래픽을 모두 받아들이도록 커뮤니티 차원에서 설정하는 절차입니다. SmartConsole에서:
- Star 또는 Meshed VPN Community 객체를 더블클릭합니다.
- Encrypted Traffic 페이지에서 Accept all encrypted traffic 을 선택합니다.
- Star VPN Community라면 암호화 트래픽을 Both center and satellite gateways(중앙·위성 모두) 에서 받을지, Satellite gateways only(위성에서만) 받을지 고릅니다.
- OK 를 클릭합니다.
여러 Hub 구성하기 (Multiple Hubs)
Hub가 둘인 경우를 살펴봅시다. Hub "A"에는 spoke 둘("spoke_A1", "spoke_A2")이 붙어 있고, Hub "B"에는 spoke 하나("spoke_B")가 붙어 있습니다. Hub "A"는 Security Management Server "A"가, Hub "B"는 Security Management Server "B"가 관리합니다. 두 개의 Star VPN 커뮤니티(각각 Hub A·Hub B 중심)에서 다음을 원합니다.
- spoke "A1"·"A2" 는 VPN 커뮤니티 밖으로 나가는 모든 트래픽을 Hub "A"를 거쳐 라우팅해야 합니다.
- spoke "A1"·"A2" 는 서로 간 모든 트래픽도 자기 Star 커뮤니티의 중앙인 Hub "A"를 거쳐 라우팅해야 합니다.
- spoke "B" 는 자기 Star 커뮤니티 밖으로 나가는 모든 트래픽을 Hub "B"를 거쳐 라우팅해야 합니다.
커뮤니티 구성은 이렇습니다.
A_Community— Hub_A, Spoke_A1, Spoke_A2 를 담은 Star VPN Community.B_Community— Hub_B, Spoke_B 를 담은 Star VPN Community.Hubs_Community— Hub_A, Hub_B 를 담은 Meshed VPN Community(중앙 게이트웨이들을 메시로 묶은 Star 커뮤니티로 해도 됩니다).
Security Management Server "A"에서의 구성
서버 "A"의 vpn_route.conf 파일은 다음과 같습니다.
| Destination | Next hop router interface | Install on |
|---|---|---|
Spoke_B_VPN_Dom | Hub_A | A_Spokes |
Spoke_A1_VPN_Dom | Hub_A | Spoke_A2 |
Spoke_A2_VPN_Dom | Hub_A | Spoke_A1 |
Spoke_B_VPN_Dom | Hub_B | Hub_A |
여기서 spoke "A1"·"A2" 는 네트워크 그룹 객체 A_spokes 로 묶습니다. 알맞은 보안 정책 규칙은 다음과 같습니다.
| Source | Destination | VPN | Service | Action |
|---|---|---|---|---|
*Any | *Any | A_Community B_Community Hubs_Community | *Any | Accept |
Security Management Server "B"에서의 구성
서버 "B"의 vpn_route.conf 파일은 다음과 같습니다.
| Destination | Next hop router interface | Install On |
|---|---|---|
Spoke_A1_VPN_Dom | Hub_B | Spoke_B |
Spoke_A2_VPN_Dom | Hub_B | Spoke_B |
Spoke_A1_VPN_Dom | Hub_A | Hub_B |
Spoke_A2_VPN_Dom | Hub_A | Hub_B |
알맞은 보안 정책 규칙은 다음과 같습니다.
| Source | Destination | VPN | Service | Action |
|---|---|---|---|---|
*Any | *Any | B_Community A_Community Hubs_Community | *Any | Accept |
LSM 프로파일로 VPN 구성하기
두 개의 SmartLSM 프로파일 사이에 Star VPN Community를 구성할 수도 있습니다. 아래 절차는 SmartLSM Gateway Profile 과 SmartLSM Cluster Profile 을 묶는 예이지만, SmartLSM Cluster Profile 둘, 또는 SmartLSM Gateway Profile 둘 로 커뮤니티를 만들 수도 있습니다.
구성은 다음 네 곳에서 이루어집니다 — ①SmartConsole, ②Security Management Server의 CLI, ③SmartProvisioning GUI, ④Center Security Gateway의 CLI. 자세한 절차는 R82 SmartProvisioning Administration Guide 를 참고하세요.
Route-Based VPN
개요 — 가상 인터페이스로 터널을 다룬다
Route-Based VPN 의 핵심 아이디어는, 피어 Security Gateway 사이에 VTI(VPN Tunnel Interface) 를 만드는 것이 마치 둘을 직접 케이블로 연결한 것과 같다 는 데 있습니다.
VTI 는 피어 게이트웨이의 VPN 도메인으로 들어가는 통로 역할을 하는 가상 인터페이스 입니다. 각 VTI는 하나의 게이트웨이로 가는 하나의 터널 에 연결되며, 터널 자체와 그 속성은 이전과 마찬가지로 두 게이트웨이를 잇는 VPN Community 가 정의합니다. 피어 게이트웨이에도 서로 대응하는 VTI 를 구성하면, 각 게이트웨이의 기본 IP 라우팅이 다른 인터페이스처럼 트래픽을 터널로 보냅니다.
피어 게이트웨이의 VPN 도메인으로 향하는 모든 트래픽은 연결된(associated) VTI를 거쳐 라우팅됩니다. 이 구조 덕분에 동적 라우팅 프로토콜이 VTI를 쓸 수 있게 됩니다. 게이트웨이에서 도는 동적 라우팅 데몬이 IPsec 터널 반대편 데몬과 라우팅 정보를 교환 하는데, 상대가 한 홉(single hop) 거리처럼 보입니다.
단, Route-Based VPN은 같은 VPN 커뮤니티 안의 Security Gateway 사이에서만 구현됩니다. 또한 배포하려면 Security Management Server의 Rule Base에 Directional Rule(방향 규칙) 을 구성해야 합니다(Directional VPN의 "Directional Enforcement within a Community" 참고).
VPN Tunnel Interface (VTI)
VTI 는 VPN 터널과 연관되어 원격 피어에 연결되는, Security Gateway의 가상 인터페이스 입니다. 각 Security Gateway에 VTI를 만들면, 그것이 원격 VPN 피어의 VTI와 짝을 이룹니다. 로컬 게이트웨이에서 VTI를 거쳐 라우팅된 트래픽은 암호화되어 짝이 되는 피어 게이트웨이로 전달됩니다.
예를 들어 다음과 같은 시나리오를 봅시다.
- "Cluster GWa"와 "GWb" 를 잇는 VTI (두 피어에 같은 Tunnel ID 를 구성해야 함)
- "Cluster GWa"와 "GWc" 를 잇는 VTI (두 피어에 같은 Tunnel ID 를 구성해야 함)
- "GWb"와 "GWc" 를 잇는 VTI (두 피어에 같은 Tunnel ID 를 구성해야 함)
가상 인터페이스는 원격 피어에 직접 연결된 point-to-point 인터페이스처럼 동작합니다. 네트워크 호스트 사이 트래픽은 OS의 IP 라우팅으로 VPN 터널에 실립니다. 여전히 Security Gateway 객체와 VPN Community(그리고 Access Control 정책)는 필요해서 어떤 터널을 쓸 수 있는지 정의하지만, 각 피어의 VPN 암호화 도메인은 더 이상 필요하지 않 습니다. 암호화 여부는 트래픽이 가상 인터페이스를 거쳐 라우팅되느냐 에 달려 있고, 동적 라우팅 프로토콜(OSPF/BGP)이 있으면 라우팅이 동적으로 바뀝니다.
여기엔 주의할 함정 이 하나 있습니다. GWb에서 시작된 연결이 VTI를 거쳐 GWc(또는 GWc 뒤의 서버)로 라우팅되고 implied rule로 허용되면, 그 연결은 VTI의 로컬 IP를 출발지 IP로 달고 평문으로 GWb를 떠 납니다. 만약 이 IP가 라우팅 불가능한 주소면 응답 패킷이 사라 집니다. 해결책은 다음과 같습니다.
- GWb에 정적 경로(static route)를 설정 해, GWc로 향하는 패킷이 VTI를 거치지 않게 우회시킵니다.
- 그 주소를 어떤 게시 경로(published route)에도 포함하지 않 습니다.
- GWc의 IP를 걸러내는 route map 을 추가합니다.
이렇게 route-based VPN에서 해당 IP를 제외하더라도, Domain-Based VPN 정의를 써서 그 주소로 가는 다른 연결(implied rule을 타지 않는 연결)을 여전히 암호화할 수 있습니다.
VTI는 두 가지 방식으로 구성합니다.
| VTI 종류 | 설명 |
|---|---|
| Numbered | numbered VTI마다 로컬·원격 IP 주소를 직접 지정 합니다. 각 게이트웨이에 로컬 IP, 원격 IP, 그리고 터널로 나가는 아웃바운드 연결의 출발지로 쓸 로컬 IP 를 구성합니다. 원격 IP는 반드시 원격 피어 게이트웨이의 로컬 IP 여야 합니다. 여러 VTI가 같은 IP를 쓸 수는 있지만, 기존 물리 인터페이스의 IP는 쓸 수 없 습니다. |
| Unnumbered | unnumbered VTI에서는 각 게이트웨이에 프록시 인터페이스(proxy interface) 를 정의합니다. 각 게이트웨이는 아웃바운드 트래픽의 출발지로 그 프록시 인터페이스의 IP 를 씁니다. unnumbered 인터페이스는 인터페이스당 IP 하나만 두고 관리 하면 됩니다. 프록시 인터페이스는 물리 또는 loopback 인터페이스 일 수 있습니다. |
동적 라우팅 프로토콜 사용하기
VTI를 쓰면 Security Gateway 사이에 동적 라우팅 프로토콜로 라우팅 정보를 교환 할 수 있습니다. Gaia가 지원하는 동적 라우팅 프로토콜은 다음과 같습니다.
- BGP4
- OSPFv2
- RIPv1
- RIPv2
클러스터 환경에서의 VTI
클러스터 환경에서 numbered VTI를 구성할 때는 다음을 고려해야 합니다.
- 각 멤버는 고유한 출발지 IP 주소 를 가져야 합니다.
- 각 멤버의 모든 인터페이스는 고유한 IP 주소 가 필요합니다.
- 같은 원격 피어로 가는 모든 VTI는 이름이 같아야 합니다.
- Cluster IP 주소가 필요 합니다.
Gaia 운영체제에서 VTI 구성하기
구체적인 VTI 구성 방법은 R82 Gaia Administration Guide 의 Network Management 장 > Network Interfaces > VPN Tunnel Interfaces 절을 참고하세요.
Route-Based VPN 활성화하기
한 게이트웨이를 Domain-Based VPN과 Route-Based VPN 모두로 구성하면, 기본적으로 Domain-Based VPN이 우선 합니다. Route-Based VPN을 우선하게 만들려면, 비어 있는 더미(dummy) 그룹을 만들어 VPN 도메인에 할당 해야 합니다.
- SmartConsole 왼쪽 탐색 패널에서 Gateways & Servers 를 클릭합니다.
- Security Gateway / Cluster 객체를 엽니다.
- 왼쪽 트리에서 Network Management > VPN Domain 을 클릭합니다.
- Manually define 을 선택합니다.
- [...] 버튼을 클릭합니다.
- New > Group > Simple Group 을 클릭합니다.
- Name 을 입력합니다.
- OK 를 클릭합니다(이 그룹 객체는 비어 있는 채로 둡니다).
Numbered VTI 구성 예제
다음은 numbered VTI 구성 예제입니다. 시나리오의 Security Gateway는 다음과 같습니다.
| 장치 종류 | 구체적인 장비 |
|---|---|
| ClusterXL "Cluster GWa" | member_GWa1, member_GWa2 |
| VPN 피어 | GWb, GWc |
VTI는 다음을 잇습니다 — "Cluster GWa" 멤버들과 "GWb", "Cluster GWa" 멤버들과 "GWc", 그리고 "GWb"와 "GWc". IP 구성은 다음과 같습니다.
| 피어 | IP 주소·인터페이스 종류 | IP 주소 / 넷마스크 |
|---|---|---|
| Cluster GWa | eth0의 외부 고유 IP | 170.170.1.1 / 24 |
member_GWa1 | eth0의 외부 VIP | 170.170.1.10 / 24 |
| Sync 인터페이스 eth1의 IP | 5.5.5.1 / 24 | |
| "GWb"용 VTI IP | Local: 10.0.1.11 / 24 · Remote: 10.0.0.2 / 24 | |
| "GWb"용 VTI VIP | 10.0.1.10 / 24 | |
| "GWc"용 VTI IP | Local: 10.0.1.21 / 24 · Remote: 10.0.0.3 / 24 | |
| "GWc"용 VTI VIP | 10.0.1.20 / 24 | |
| Cluster GWa | eth0의 외부 고유 IP | 170.170.1.2 / 24 |
member_GWa2 | eth0의 외부 VIP | 170.170.1.10 / 24 |
| Sync 인터페이스 eth1의 IP | 5.5.5.2 / 24 | |
| "GWb"용 VTI IP | Local: 10.0.1.12 / 24 · Remote: 10.0.0.2 / 24 | |
| "GWb"용 VTI VIP | 10.0.1.10 / 24 | |
| "GWc"용 VTI(vt-GWc) IP | Local: 10.0.1.22 / 24 · Remote: 10.0.0.3 / 24 | |
| "GWc"용 VTI VIP | 10.0.1.20 / 24 | |
| GWb | eth0의 외부 고유 IP | 180.180.1.1 / 24 |
| "Cluster GWa"용 VTI IP | Local: 10.0.0.2 / 24 · Remote: 10.0.1.10 / 24 | |
| "GWc"용 VTI(vt-GWc) IP | Local: 10.0.0.2 / 24 · Remote: 10.0.0.3 / 24 | |
| GWc | eth0의 외부 고유 IP | 190.190.1.1 / 24 |
| "Cluster GWa"용 VTI IP | Local: 10.0.0.3 / 24 · Remote: 10.0.1.20 / 24 | |
| "GWb"용 VTI IP | Local: 10.0.0.3 / 24 · Remote: 10.0.0.2 / 24 |
각 게이트웨이에서 VTI를 구성하는 절차는 모두 R82 Gaia Administration Guide 의 VPN Tunnel Interfaces 절을 참고하되, 설정할 값은 아래와 같습니다.
1. member_GWa1에 VTI 구성
a. GWb용 numbered VTI
| 파라미터 | 값 |
|---|---|
| VPN Tunnel ID | 1~99 사이 정수 |
| Peer | GWb |
| VPN Tunnel Type | Numbered |
| Local Address | 10.0.1.11 |
| Remote Address | 10.0.0.2 |
b. GWc용 numbered VTI
| 파라미터 | 값 |
|---|---|
| VPN Tunnel ID | 1~99 사이 정수 |
| Peer | GWc |
| VPN Tunnel Type | Numbered |
| Local Address | 10.0.1.21 |
| Remote Address | 10.0.0.3 |
2. member_GWa2에 VTI 구성
a. GWb용 — Peer GWb, Type Numbered, Local 10.0.1.12, Remote 10.0.0.2, ID는 1~99 정수(모든 멤버에서 동일).
b. GWc용 — Peer GWc, Type Numbered, Local 10.0.1.22, Remote 10.0.0.3, ID는 1~99 정수(모든 멤버에서 동일).
3. GWb에 VTI 구성
a. Cluster GWa용 — Peer ClusterGWa, Type Numbered, Local 10.0.0.2, Remote 10.0.1.10. 클러스터 멤버들에서 GWb용으로 구성한 것과 같은 ID 를 씁니다.
b. GWc용 — Peer GWc, Type Numbered, Local 10.0.0.2, Remote 10.0.0.3. 이 VTI는 GWb와 GWc에서 같은 ID 를 씁니다.
4. GWc에 VTI 구성
a. Cluster GWa용 — Peer ClusterGWa, Type Numbered, Local 10.0.0.3, Remote 10.0.1.20. 클러스터 멤버들에서 GWc용으로 구성한 것과 같은 ID 를 씁니다.
b. GWb용 — Peer GWb, Type Numbered, Local 10.0.0.3, Remote 10.0.0.2. 이 VTI는 GWc와 GWb에서 같은 ID 를 씁니다.
5. SmartConsole에서 Cluster 객체 구성
클러스터 멤버들에 VTI를 구성한 다음에는, SmartConsole의 클러스터 객체에서 이 VTI들의 Cluster Virtual IP 를 구성해야 합니다.
a. 왼쪽 탐색 패널에서 Gateways & Servers 를 클릭합니다. b. 클러스터 객체를 우클릭하고 Edit 를 선택합니다. c. 왼쪽 트리에서 Network Management 를 클릭합니다. d. Get Interfaces > Get Interfaces Without Topology 를 클릭합니다. VTI들이 Topology 열에 Point to point 로 나타납니다.
다음 조건이 모두 맞으면 인터페이스들은 같은 VTI의 멤버 입니다 — Peer, Remote IP address, Interface name. e. VTI에 Cluster Virtual IP를 구성합니다. - VTI 인터페이스를 선택하고 Edit 를 클릭합니다. - General 페이지에서 Virtual IP address 를 입력합니다. - OK 를 클릭합니다.
| 이름 | Topology | Virtual IP | member_GWa1 | member_GWa2 | 설명 |
|---|---|---|---|---|---|
vpnt1 | Point to point | 10.0.1.10 | 10.0.1.11 | 10.0.1.12 | GWb와의 VTI |
vpnt2 | Point to point | 10.0.1.20 | 10.0.1.21 | 10.0.1.22 | GWc와의 VTI |
VTI에서 동적 라우팅 프로토콜 켜기 — 예제
다음 예제는 VTI에서 OSPF 동적 라우팅 프로토콜을 켜는 방법을 보여 줍니다. 단일 멤버용과 클러스터 멤버용의 network 명령이 같지 않 다는 점에 유의하세요. VTI와 고급 라우팅 명령은 R82 Gaia Administration Guide 와 R82 Gaia Advanced Routing Administration Guide 를 참고합니다. Cisco GRE 장비와 피어링할 때는 point-to-point GRE 터널이 필요 합니다.
member_GWa1에서의 OSPF 구성 — vpnt1은 member_GWa1과 GWb 사이, vpnt2는 member_GWa1과 GWc 사이의 VTI입니다.
member_GWa1:0> set ospf area 0.0.0.0 on
member_GWa1:0> set router-id 170.170.1.10
member_GWa1:0> set ospf interface vpnt1 area 0.0.0.0 on
member_GWa1:0> set ospf interface vpnt2 area 0.0.0.0 on
member_GWa1:0> set route-redistribution to ospf2 from kernel all-ipv4-routes on
member_GWa1:0> save config
member_GWa1:0> show configuration ospfmember_GWa2에서의 OSPF 구성 — vpnt1은 member_GWa2와 GWb 사이, vpnt2는 member_GWa2와 GWc 사이의 VTI입니다.
member_GWa2:0> set ospf area 0.0.0.0 on
member_GWa2:0> set router-id 170.170.1.10
member_GWa2:0> set ospf interface vpnt1 area 0.0.0.0 on
member_GWa2:0> set ospf interface vpnt2 area 0.0.0.0 on
member_GWa2:0> set route-redistribution to ospf2 from kernel all-ipv4-routes on
member_GWa2:0> save config
member_GWa2:0> show configuration ospfGWb에서의 OSPF 구성 — vpnt1은 GWb와 Cluster GWa 사이, vpnt3은 GWb와 GWc 사이의 VTI입니다.
GWb:0> set ospf area 0.0.0.0 on
GWb:0> set router-id 180.180.1.1
GWb:0> set ospf interface vpnt1 area 0.0.0.0 on
GWb:0> set ospf interface vpnt3 area 0.0.0.0 on
GWb:0> set route-redistribution to ospf2 from kernel all-ipv4-routes on
GWb:0> save config
GWb:0> show configuration ospfGWc에서의 OSPF 구성 — vpnt2는 GWc와 Cluster GWa 사이, vpnt3은 GWc와 GWb 사이의 VTI입니다.
GWc:0> set ospf area 0.0.0.0 on
GWc:0> set router-id 190.190.1.1
GWc:0> set ospf interface vpnt2 area 0.0.0.0 on
GWc:0> set ospf interface vpnt3 area 0.0.0.0 on
GWc:0> set route-redistribution to ospf2 from kernel all-ipv4-routes on
GWc:0> save config
GWc:0> show configuration ospfSmartConsole에서 VTI에 Anti-Spoofing 구성하기
- 왼쪽 탐색 패널에서 Gateways & Servers 를 클릭합니다.
- Security Gateway 객체를 우클릭하고 Edit 를 선택합니다.
- 왼쪽 트리에서 Network Management 를 클릭합니다.
- VTI 인터페이스를 선택하고 Edit 를 클릭합니다.
- 왼쪽 트리에서 General 을 클릭합니다.
- Topology 영역에서 Modify 를 클릭합니다.
- IP Addresses behind peer Security Gateway that are within reach of this interface 영역에서 다음을 고릅니다.
- Not Defined — 모든 트래픽을 받습니다.
- Specific — 특정 네트워크를 고릅니다. 그 네트워크의 IP만 이 인터페이스가 받 습니다.
- Perform Anti-Spoofing based on interface topology 영역에서 Don't check packets from 을 선택하면, 특정 내부 네트워크의 IP에서 외부 인터페이스로 가는 트래픽에 대해 Anti-Spoofing을 하지 않 게 할 수 있습니다. 유효한 주소를 가진 그 내부 네트워크를 나타내는 Network 객체를 구성하고, 드롭다운에서 그 객체를 선택합니다. Don't check packets from 드롭다운에서 선택한 객체에는 Anti-Spoofing이 적용되지 않 습니다.
- Spoof Tracking 필드에서 알맞은 옵션을 선택합니다.
- OK 를 클릭합니다.
- Security Gateway 객체에 Access Control 정책을 설치 합니다.
VPN 터널로 멀티캐스트 패킷 라우팅하기
멀티캐스트(Multicast) 는 하나의 메시지를 선택된 수신자 그룹에게 보내는 방식입니다. IP 멀티캐스팅 애플리케이션은 각 데이터그램(IP 패킷)을 한 부만 만들어 받기를 원하는 컴퓨터 그룹에 주소를 지정 합니다. 즉 단일 수신자(unicast 주소)가 아니라 수신자 그룹(multicast 주소)에게 데이터그램을 보내 고, 네트워크가 그것을 받아야 하는 네트워크에만 전달합니다. 이 기능에는 PIM 이 필요합니다. 멀티캐스팅 일반은 R82 Security Management Administration Guide 의 Access Control Policy 생성 장 > Multicast Access Control 절을 참고하세요.
멀티캐스트 트래픽은 VTI(같은 물리 인터페이스에 연관된 가상 인터페이스)로 구성된 VPN 터널을 통해 암호화·전달 될 수 있습니다. 보내는 쪽·받는 쪽의 모든 참여 게이트웨이가 VPN 터널마다 가상 인터페이스를 가져야 하고, 모든 참여 게이트웨이에서 멀티캐스트 라우팅 프로토콜이 켜져 있어야 합니다.
랑데부 포인트(rendezvous point) 역할을 하는 게이트웨이에서 멀티캐스트 서비스를 켜려면, 그 게이트웨이의 보안 정책에 규칙을 추가해 특정 멀티캐스트 서비스만 평문으로 받아들이고, 나머지 서비스는 커뮤니티를 통해서만 받게 합니다. 참여하는 모든 게이트웨이에 멀티캐스트 프로토콜·서비스를 허용하는 대응 규칙 을 만들어야 합니다. 예를 들면 다음과 같습니다.
| Source | Destination | VPN | Services & Applications | Action | Track |
|---|---|---|---|---|---|
Sample Host | Multicast Group Address | Multicast Security Gateways | igmp pim | Accept | Log |
Sample Host | Multicast Group Address | Sample Community | Multicast Service Group | Accept | Log |