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.2HQ와 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.0HQ와 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 0GRE 터널이 있고, 두 라우터는 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, Tunnel1IPsec 암호화 구성
모든 것이 작동하지만, 지금은 모든 것이 평문으로 전송됩니다. 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 anyGRE 트래픽만 일치하는 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