<HQ_VPN>
conf t
int tunnel 1
tunnel mode gre ip
ip add 10.100.1.1 255.255.255.252
tunnel source fastethernet 0/1
tunnel destination 1.1.100.6
keepalive 10 3 -> 10초마다 살아있는지 확인,3번 반복할때 1번도 답변이 오지 않으면 keepalive가 된 것이다.
exit
int tunnel 2
tunnel mode gre ip
ip add 10.100.1.5 255.255.255.252
tunnel source fastethernet 0/1
tunnel destination 1.1.100.10
keepalive 10 3
exit
router ospf 1
net 10.100.1.1 0.0.0.0 area 0
net 10.100.1.5 0.0.0.0 area 0
New IP | GRE | IP | OSPF
|
---> So : 1.1.100.1 --> So : 10.100.1.5
De : 1.1.100.10 De : 224.0.0.5
공중망을 통해서 교환할 수 없지만
GRE가 New ip
IPSec은 GRE 통해서 dynamic 지원된다.
<Branch1>
conf t
int tunnel 1
tunnel mode gre ip
ip add 10.100.1.2 255.255.255.252
tunnel source fastethernet 0/0
tunnel destination 1.1.100.1(tunnel의 목적지 ip를 광고하면 안된다.)
keepalive 10 3
exit
router ospf 1
net 10.100.1.2 0.0.0.0 area 0
net 10.2.2.2 0.0.0.0 area 0
exit
<Branch2>
conf t
int tunnel 2
tunnel mode gre ip
ip add 10.100.1.6 255.255.255.252
tunnel source fastethernet 0/0
tunnel destination 1.1.100.1
keepalive 10 3
exit
router ospf 1
net 10.100.1.6 0.0.0.0 area 0
net 10.3.3.3 0.0.0.0 area 0
New IP | GRE | IP | ICMP
| ---> So : 10.10.12.1
----> So : 1.1.100.1 De : 10.3.3.3
De : 1.1.100.10
- Recursive Routing
-> Recursive Routing로 up,down이 되는 메시지가 나온다.
HQ_VPN에서 실제 ip 인터페이스를 광고하면
Branch1,Branc2에서 로그가 나온다.
- GRE Tunnel의 경우 자신이 설정한 tunnel destination
주소를 해당 tunnel 인터페이스로 광고받게 되면 해당
tunnel interface가 down과 up상태를 반복하게 된다.
-> 이를 Recursive routing이라 한다.
- 결과적으로 tunnel의 반대편 Device에서 tunnel
destination 주소를 Routing Protocol로 광고해서는 안된다.
tunnel이 살아나려면 목적지 정보가 있어야 되는데
tunnel 연결된 반대편 장비에서는 반드시 tunnel의 목적지를 광고하면 안된다.
- GRE over IPSec VPN
GRE Tunnel의 경우 원격지 Site의 장비와
Dynamic Routing Protocol을 사용하여 정보
교환이 가능하다.
하지만 GRE는 암호화 기능을 제공하지 않기 때문에
보안성이 없다.
이 경우 GRE Tunnel 자체를 IPSec으로 보호하게
되면 Dynamic Routing Protocol을 사용하면서
GRE Tunnel을 통과하는 모든 패킷에게 보안을
제공할 수 있다.
<HQ_VPN>
conf t
crypto isakmp policy 1
authentication pre-share
encryption aes
hash sha
group 2
lifetime 3600
crypto isakmp key cisco321 address 1.1.100.6
crypto isakmp key cisco321 address 1.1.100.10
crypto ipsec transform-set IPSEC_SA esp-aes esp-sha-hmac
ip access-list extended HQ->Branch1
permit gre host 1.1.100.1 host 1.1.100.6
-> 프로토콜 필드는 New IP에 들어있는 것이다.
ip access-list extended HQ->Branch2
permit gre host 1.1.100.1 host 1.1.100.10
crypto map VPN_T 1 ipsec-isakmp
match address HQ->Branch1
set transform-set IPSEC_SA
set peer 1.1.100.6
crypto map VPN_T 2 ipsec-isakmp
match address HQ->Branch2
set transform-set IPSEC_SA
set peer 1.1.100.10
int fa 0/1
crypto map VPN_T
<Branch1>
conf t
crypto isakmp policy 1
authentication pre-share
encryption aes
hash sha
group 2
lifetime 3600
crypto isakmp key cisco321 address 1.1.100.1
crypto ipsec transform-set IPSEC_SA esp-aes esp-sha-hmac
ip access-list extended Branch1
permit gre host 1.1.100.6 host 1.1.100.1
crypto map VPN_T 1 ipsec-isakmp
match address Branch1
set transform-set IPSEC_SA
set peer 1.1.100.1
int fa 0/0
crypto map VPN_T
<Branch2>
conf t
crypto isakmp policy 1
authentication pre-share
encryption aes
hash sha
group 2
lifetime 3600
crypto isakmp key cisco321 address 1.1.100.1
crypto ipsec transform-set IPSEC_SA esp-aes esp-sha-hmac
ip access-list extended Branch2
permit gre host 1.1.100.10 host 1.1.100.1
crypto map VPN_T 1 ipsec-isakmp
match address Branch2
set transform-set IPSEC_SA
set peer 1.1.100.1
int fa 0/0
crypto map VPN_T
show crypto isakmp sa
vpn과 isp 캡쳐
- IPSec tunnel mode
New IP | ESP | New IP | GRE | IP | ICMP | trailer (hash 코드)
(GRE) --> so : 1.1.100.1 IP --> so 10.10.12.1
| De : 1.1.100.6 de: 10.2.2.2
------> So : 1.1.100.1
De : 1.1.100.6
IPsec transport mode
New IP | ESP | GRE | IP | ICMP | trailer (hash 코드)
(GRE) --> So : 10.10.12.1
--> So : 1.1.100.1 De : 10.2.2.2
De : 1.1.100.6
esp가 뒤에 오는 것이 transport mode
-> 부하를 줄이는 것도 transport mode
R1에서 10.2.2.2, 10.3.3.3 ping(10.2.2.2 repear 10000)을 하고
캡쳐하면 ESP로 보인다.
- Transport 모드 변경
<HQ_VPN/Branch1/Branch2>
conf t
crypto ipsec transform-set IPSEC_SA esp-aes esp-sha-hmac
mode transport
- 설정 후 다음과 같이 VPN 연결을 끊고, 다시 연결되게
만들자.
<HQ_VPN>
-> 1.1.100.6,1.1.100.10 session 끊는 설정
<Branch1/Branch2>
clear crypto session remote 1.1.100.1
** Verify **
show crypto ipsec sa
- GRE over IPSec VPN 이중화
<R1>
conf t
int fa 0/1
ip add 10.10.13.1 255.255.255.0
no shut
router ospf 1
net 10.10.13.1 0.0.0.0 area 0
<ISP>
conf t
int fa 2/0
ip add 1.1.100.13 255.255.255.252
no shut
<Branch1>
conf t
int tunnel 2
tunnel mode gre ip
ip add 10.100.1.14 255.255.255.252
tunnel source fastethernet 0/0
tunnel destination 1.1.100.14
keepalive 10 3
exit
router ospf 1
net 10.100.1.14 0.0.0.0 area 0
crypto isakmp key cisco321 address 1.1.100.14
ip access-list extended Branch1->HQ2
permit gre host 1.1.100.6 host 1.1.100.14
crypto map VPN_T 2 ipsec-isakmp
match address Branch1->HQ2
set transform-set IPSEC_SA
set peer 1.1.100.14
<Branch2>
conf t
int tunnel 1
tunnel mode gre ip
ip add 10.100.1.10 255.255.255.252
tunnel source fastethernet 0/0
tunnel destination 1.1.100.14
keepalive 10 3
exit
router ospf 1
net 10.100.1.10 0.0.0.0 area 0
crypto isakmp key cisco321 address 1.1.100.14
ip access-list extended Branch2->HQ2
permit gre host 1.1.100.10 host 1.1.100.14
crypto map VPN_T 2 ipsec-isakmp
match address Branch2->HQ2
set transform-set IPSEC_SA
set peer 1.1.100.14
<HQ_VPN2>
conf t
int fa 0/0
ip add 10.10.13.2 255.255.255.0
no shut
int fa 0/1
ip add 1.1.100.14 255.255.255.252
no shut
ip route 0.0.0.0 0.0.0.0 fa 0/1 1.1.100.13
int tu 2
ip add 10.100.1.13 255.255.255.252
tunnel source 1.1.100.14
tunnel destination 1.1.100.6
keepalive 10 3
int tu 1
ip add 10.100.1.9 255.255.255.252
tunnel source 1.1.100.14
tunnel destination 1.1.100.10
keepalive 10 3
router ospf 1
net 10.10.13.2 0.0.0.0 area 0
net 10.100.1.13 0.0.0.0 area 0
net 10.100.1.9 0.0.0.0 area 0
crypto isakmp policy 1
authentication pre-share
encryption aes
hash sha
group 2
lifetime 3600
crypto isakmp key cisco321 address 1.1.100.6
crypto isakmp key cisco321 address 1.1.100.10
crypto ipsec transform-set IPSEC_SA esp-aes esp-sha-hmac
mode transport
ip access-list extended HQ2->Branch1
permit gre host 1.1.100.14 host 1.1.100.6
ip access-list extended HQ2->Branch2
permit gre host 1.1.100.14 host 1.1.100.10
crypto map VPN_T 1 ipsec-isakmp
match address HQ2->Branch1
set transform-set IPSEC_SA
set peer 1.1.100.6
crypto map VPN_T 2 ipsec-isakmp
match address HQ2->Branch2
set transform-set IPSEC_SA
set peer 1.1.100.10
int fa 0/1
crypto map VPN_T
-> show ip route 확인, 10.3.3.0으로 가는 경로가 두 개 있다.
- 설정 후 R1에서 Routing Table을 확인하게 되면
Branch1과 Branch2의 내부 네트워크 경로가
양쪽 VPN 장비로 Load-balancing 되고 있다.
(Metric이 동일하기 때문이다.)
평상시 HQ에서 Branch로 향하는 트래픽은
'HQ_VPN' 장비를 사용하게 하고, Branch2로
향하는 트래픽은 'HQ_VPN2' 장비를 사용하도록
경로 조정을 한다.
<HQ_VPN/Branch1>
- 경로 조정으로 bandwidth 값 설정
-> ospf metric에서 cost를 구한다.
cost(10의 8승/bandwidth)
(bps)
10의 8승/10000
conf t
int tu 1
bandwidth 10
<HQ_VPN2/Branch2>
conf t
int tu 1
bandwidth 10
-> show ip route 확인, ospf metric 값을 구하여 경로 조정이 되었다.
설정한 것처럼 10.2.2.0은 10.10.12.2를 통하여 지나간다.
10.3.3.0의 경로는 10.10.13.2를 통해 지나가는 것을 알 수 있다.
-> ping 10.2.2.2 repeat 10
-> R1과 HQ_VPN이 연결된 interface가 끊어졌을 때 R1에서 ping 10.2.2.2 repeat 10 설정했다.
그것을 wireshark로 패킷 캡쳐를 하게 되면 interface가 shutdown이 되어 icmp ping이 안 들어오는 것을 알 수 있다.
-> R1과 HQ_VPN2를 wireshark로 캡쳐한다.
그러면 R1과 HQ_VPN interface가 끊어져서 icmp packet이 들어오는 것을 알 수 있다.
또한 경로가 조정되어 10.10.13.1이 출발지가 된 것을 알 수 있다.
-> show ip route 확인, HQ_VPN과 R1이 연결된 interface가 shutdown이 되어 경로가 10.10.13.2로 변경되었다.
R1과 HQ_VPN, R1,HQ_VPN2 캡쳐
'network 보안' 카테고리의 다른 글
ARP Spoofing (0) | 2018.06.06 |
---|---|
CoPP (Control Plane Policing) (0) | 2016.09.03 |
TCP Intercept (0) | 2016.09.03 |
IP Spooping Attack 방어 (0) | 2016.09.02 |
IPSec VPN (1) | 2016.09.01 |