Skip to Content
05. SecurityEncrypted GRE Tunnel with IPSEC

IPsec으로 암호화된 GRE 터널

GRE 터널은 라우터 사이에 유니캐스트, 멀티캐스트, 브로드캐스트 트래픽을 터널링할 수 있게 하며, 종종 사이트 간의 라우팅 프로토콜에 사용됩니다. GRE 터널링의 단점은 평문이며 보호를 제공하지 않는다는 것입니다. 그러나 Cisco IOS 라우터에서는 IPsec을 사용해 전체 GRE 터널을 암호화할 수 있어 안전하고 보안된 사이트 간 터널을 가질 수 있습니다.

이 강의에서는 IPsec으로 암호화된 GRE 터널을 구성하는 방법을 보여드리겠습니다. 다음은 우리가 사용할 토폴로지입니다.

토폴로지

위에서 라우터 세 개가 있습니다. HQ와 Branch 라우터 각각은 LAN 연결을 나타내는 루프백 인터페이스를 가지고 있습니다. 두 라우터 모두 ISP 라우터를 사용해 “인터넷”에 연결되어 있습니다.


인터페이스 구성

HQ와 Branch 라우터 사이에 GRE 터널을 만들고 172.16.1.0/24와 172.16.3.0/24가 서로에게 도달할 수 있도록 합니다. 두 네트워크 사이의 모든 트래픽은 IPsec으로 암호화됩니다. 인터페이스 구성부터 시작합시다.

HQ(config)# interface fastEthernet 0/0 HQ(config-if)# ip address 192.168.12.1 255.255.255.0 HQ(config-if)# exit HQ(config)# interface loopback0 HQ(config-if)# ip address 172.16.1.1 255.255.255.0 HQ(config-if)# exit HQ(config)# ip route 192.168.23.3 255.255.255.255 192.168.12.2 ISP(config)# interface fastEthernet 0/0 ISP(config-if)# ip address 192.168.12.2 255.255.255.0 ISP(config-if)# exit ISP(config)# interface fastEthernet 1/0 ISP(config-if)# ip address 192.168.23.2 255.255.255.0 Branch(config)# interface fastEthernet 0/0 Branch(config-if)# ip address 192.168.23.3 255.255.255.0 Branch(config-if)# exit Branch(config)# interface loopback 0 Branch(config-if)# ip address 172.16.3.3 255.255.255.0 Branch(config-if)# exit Branch(config)# ip route 192.168.12.1 255.255.255.255 192.168.23.2

HQ와 Branch 라우터가 서로에게 도달할 수 있도록 간단한 정적 라우트를 사용하겠습니다. 이제 두 라우터 사이에 GRE 터널을 만듭니다.

HQ(config)# interface tunnel 1 HQ(config-if)# tunnel source fastEthernet 0/0 HQ(config-if)# tunnel destination 192.168.23.3 HQ(config-if)# ip address 192.168.13.1 255.255.255.0 Branch(config)# interface tunnel 1 Branch(config-if)# tunnel source fastEthernet 0/0 Branch(config-if)# tunnel destination 192.168.12.1 Branch(config-if)# ip address 192.168.13.3 255.255.255.0

HQ와 Branch 라우터의 FastEthernet 인터페이스의 IP 주소를 터널의 목적지로 사용합니다. 터널 자체에는 192.168.13.0/24 네트워크를 사용합니다.


OSPF 구성

터널이 작동하면, 라우팅 프로토콜을 구성해 HQ와 Branch 라우터가 서로의 루프백 인터페이스의 네트워크에 대해 학습할 수 있도록 합니다.

HQ(config)# router ospf 1 HQ(config-router)# network 192.168.13.0 0.0.0.255 area 0 HQ(config-router)# network 172.16.1.0 0.0.0.255 area 0 Branch(config)# router ospf 1 Branch(config-router)# network 192.168.13.0 0.0.0.255 area 0 Branch(config-router)# network 172.16.3.0 0.0.0.255 area 0

GRE 터널이 있고, 두 라우터는 OSPF 인접 관계를 형성하고 라우팅 정보를 교환합니다.

HQ# show ip route ospf 172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks O 172.16.3.3/32 [110/11112] via 192.168.13.3, 00:00:38, Tunnel1 Branch# show ip route ospf 172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks O 172.16.1.1/32 [110/11112] via 192.168.13.1, 00:00:50, Tunnel1

IPsec 암호화 구성

모든 것이 작동하지만, 지금은 모든 것이 평문으로 전송됩니다. GRE 터널을 암호화하기 위해 IPsec을 가동할 시간입니다! 이를 달성하기 위해 구성해야 할 몇 가지가 있습니다.

HQ(config)# crypto isakmp policy 10 HQ(config-isakmp)# encr aes 256 HQ(config-isakmp)# authentication pre-share HQ(config-isakmp)# group 5 HQ(config-isakmp)# lifetime 3600 Branch(config)# crypto isakmp policy 10 Branch(config-isakmp)# encr aes 256 Branch(config-isakmp)# authentication pre-share Branch(config-isakmp)# group 5 Branch(config-isakmp)# lifetime 3600

먼저 ISAKMP 정책을 구성합니다. 위 예제에서는 256비트 AES 암호화를 사용하고 사전 공유 키를 사용한다고 지정합니다. 키 교환 프로세스를 위해 Diffie-Hellman Group 5를 사용합니다. ISAKMP SA의 lifetime은 3600초입니다.

두 라우터 모두에 사전 공유 키를 구성하는 것을 잊지 마세요.

HQ(config)# crypto isakmp key PASS address 192.168.23.3 Branch(config)# crypto isakmp key PASS address 192.168.12.1

두 라우터에서 ‘PASS’를 사전 공유 키로 사용하겠습니다. 다음 단계는 IPsec transform-set을 만드는 것입니다.

HQ(config)# crypto ipsec transform-set TRANS esp-aes 256 esp-sha-hmac Branch(config)# crypto ipsec transform-set TRANS esp-aes 256 esp-sha-hmac

위에서 ESP AES 256비트와 HMAC-SHA 인증을 사용하기를 원한다고 지정한 ‘TRANS’라는 transform-set을 만들었습니다.

이제 라우터에게 어떤 트래픽을 암호화하고 어떤 transform-set을 사용할지 알려주는 crypto map을 만들 수 있습니다.

HQ(config)# crypto map MYMAP 10 ipsec-isakmp HQ(config-crypto-map)# set peer 192.168.23.3 HQ(config-crypto-map)# set transform-set TRANS HQ(config-crypto-map)# match address 100 Branch(config)# crypto map MYMAP 10 ipsec-isakmp Branch(config-crypto-map)# set peer 192.168.12.1 Branch(config-crypto-map)# set transform-set TRANS Branch(config-crypto-map)# match address 100

위는 ‘TRANS’ transform-set과 어떤 트래픽을 암호화해야 하는지를 지정하는 ‘MYMAP’이라는 crypto-map입니다. 이를 위해 access-list 100을 사용했지만, 아직 만들어야 합니다.

HQ(config)# access-list 100 permit gre any any Branch(config)# access-list 100 permit gre any any

GRE 트래픽만 일치하는 permit 문장을 사용합니다. 이제 마지막 단계는 FastEthernet 인터페이스에 적용해 crypto map을 활성화하는 것입니다.


본 강의는 NetworkLessons.com의 미리보기 버전입니다. 전체 내용은 멤버십 가입 후 확인 가능합니다.

이미지 이미지

포럼 답글

ReneMolenaar

좋네, 빠르고 쉽게 Wireshark에서 IPsec을 보여줄 수 있는 방법, 마음에 들어요!

포럼 답글

system

훌륭한 글입니다…

system

좋은 글입니다.

system

훌륭한 글입니다… 한 가지 질문이 있습니다… crypto map을 터널 인터페이스에 적용할 수 있나요? 그것과 인터페이스(f0/0) 자체에 적용하는 것의 차이는 무엇인가요?

감사합니다!

hamid_saffarzadeh_88

1시간짜리 지루한 INE 트레이닝보다 낫습니다.

96개의 추가 답글이 있습니다. 커뮤니티 포럼을 방문해 질문하거나 토론에 참여하세요.


출처: networklessons.com - Encrypted GRE Tunnel with IPSEC

태그: GRE, IPSec, Security, Tunnel