Wednesday, February 17, 2010

GRE tunnel

Зиак VPN гэдэг зүйлийн талаар өмнө жаахан дурьдсан билээ. Энэ удаа тэрхүү VPN-ий нэг жишээ болох GRE tunnel /generic routing encapsulation/ /IPSec ашигласан/ хэрхэн үүсгэх талаар бичхээр шийдлээ. Энэ нь point to point холболт үүсгэж network түвшинд ажилладаг.
Дараах жишээн дээр Cisco 3725 router дээр хэрхэн үүсгэх жишээг харууллаа.

Эхний router дээр дараах тохиргоог хийж өгнө:

Router1#configure terminal
Router1(config)#crypto isakmp policy 10
Router1(config-isakmp)#encr aes 256
Router1(config-isakmp)#authentication pre-share
Router1(config-isakmp)#group 2
Router1(config-isakmp)#exit
Router1(config)#crypto isakmp key TUNNELKEY01 address 172.16.2.1 no-xauth
Router1(config)#crypto ipsec transform-set TUNNEL-TRANSFORM ah-sha-hmac esp-aes 256 
Router1(cfg-crypto-trans)#mode transport
Router1(cfg-crypto-trans)#exit
Router1(config)#crypto map TUNNELMAP 10 ipsec-isakmp 
% NOTE: This new crypto map will remain disabled until a peer
    and a valid access list have been configured.
Router1(config-crypto-map)#set peer 172.16.2.1
Router1(config-crypto-map)#set transform-set TUNNEL-TRANSFORM 
Router1(config-crypto-map)#match address 102
Router1(config-crypto-map)#exit
Router1(config)#access-list 102 permit gre host 172.16.1.1 host 172.16.2.1
Router1(config)#interface Tunnel1
Router1(config-if)#ip address 192.168.1.1 255.255.255.252
Router1(config-if)#tunnel source 172.16.1.1
Router1(config-if)#tunnel destination 172.16.2.1
Router1(config-if)#exit
Router1(config)#interface FastEthernet0/0
Router1(config-if)#ip address 172.16.1.1 255.255.255.0
Router1(config-if)#ip access-group 101 in
Router1(config-if)#crypto map TUNNELMAP
Router1(config-if)#exit
Router1(config)#access-list 101 permit gre host 172.16.2.1 host 172.16.1.1
Router1(config)#access-list 101 permit esp host 172.16.2.1 host 172.16.1.1
Router1(config)#access-list 101 permit udp host 172.16.2.1 host 172.16.1.1 eq isakmp
Router1(config)#access-list 101 permit ahp host 172.16.2.1 host 172.16.1.1
Router1(config)#access-list 101 deny ip any any log
Router1(config)#interface Loopback0
Router1(config-if)#ip address 192.168.16.1 255.255.255.0
Router1(config-if)#exit
Router1(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.2
Router1(config)#ip route 192.168.15.0 255.255.255.0 192.168.1.2
Router1(config)#end
Router1#
 
 
2 дахь router дээр:
Router2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router2(config)#crypto isakmp policy 10
Router2(config-isakmp)#encr aes 256
Router2(config-isakmp)#authentication pre-share
Router2(config-isakmp)#group 2
Router2(config-isakmp)#exit
Router2(config)#crypto isakmp key TUNNELKEY01 address 172.16.1.1
Router2(config)#crypto ipsec transform-set TUNNEL-TRANSFORM ah-sha-hmac esp-aes 256 
Router2(cfg-crypto-trans)#mode transport
Router2(cfg-crypto-trans)#exit
Router2(config)#crypto map TUNNELMAP 10 ipsec-isakmp 
% NOTE: This new crypto map will remain disabled until a peer
    and a valid access list have been configured.
Router2(config-crypto-map)#set peer 172.16.1.1
Router2(config-crypto-map)#set transform-set TUNNEL-TRANSFORM 
Router2(config-crypto-map)#match address 102
Router2(config-crypto-map)#exit
Router2(config)#access-list 102 permit gre host 172.16.2.1 host 172.16.1.1
Router2(config)#interface Tunnel1
Router2(config-if)#ip address 192.168.1.2 255.255.255.252
Router2(config-if)#tunnel source 172.16.2.1
Router2(config-if)#tunnel destination 172.16.1.1
Router2(config-if)#exit
Router2(config)#interface FastEthernet0/0
Router2(config-if)#ip address 172.16.2.1 255.255.255.0
Router2(config-if)#ip access-group 101 in
Router2(config-if)#crypto map TUNNELMAP
Router2(config-if)#exit
Router2(config)#access-list 101 permit gre host 172.16.1.1 host 172.16.2.1
Router2(config)#access-list 101 permit esp host 172.16.1.1 host 172.16.2.1
Router2(config)#access-list 101 permit udp host 172.16.1.1 host 172.16.2.1 eq isakmp
Router2(config)#access-list 101 permit ahp host 172.16.1.1 host 172.16.2.1
Router2(config)#access-list 101 deny ip any any log
Router2(config)#interface Loopback0
Router2(config-if)#ip address 192.168.15.1 255.255.255.0
Router2(config-if)#exit
Router2(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.2
Router2(config)#ip route 192.168.16.0 255.255.255.0 192.168.1.1
Router2(config)#end
Router2# 
 
Зиа одоо жаахан тайлбар хийчихэе.
Дээрх 2 рүүтэр дээр хийж байгаа тохиргоо ер нь бол адилхан байгаа. 
Эхлээд ISAKMP ашиглаад түлхүүр солилцох policy үүсгэж өгч байна. 
Үүсгэж өгч байгаа policy-ийн pirority-г 10 гэж тодорхойлж байна. 
Дээд тал нь 10000 гэж зааж өгөх боломжтой. Үүсгэж өгч байгаа policy маань 256 
битийн AES хэрэглэж байна. Бас ямар hash алгоритм хэрэглэх болон нийт холбогдох
хугацааг зааж өгч байна. Дээр бид 600 секунд буюу 10 минут гэж тохируулж өгсөн 
байна. Үндсэн тохиргоо нь 24 цаг байдаг. crypto isakmp key командаар нууц үг 
тохируулж өгч байна. Гэхдээ зөвхөн нэг л IP хаяг дээр тохируулж өгч байна. 
Энэ нь нөгөө рүүтэрийн логик хаяг байна. GRE түнэлийг зөвшөөрч өгч байгаа ACL 
бичиж байна. Дараа нь Tunnel1 гэсэн нэртэй хуурмаг интерфэйс /түнэлийн интерфэйс/
тодорхойлж өгч байна. 192.168.1.1 хаягтай. Түнэлийн эх хаяг болгож өөрийн рүтэрийн
 гарцны хаяг /Fe0/0/ зааж өгөөд destination хаяг болгож нөгөө рүүтэрийн бодит 
хаягийг зааж өгч байна. за тэгээд routing table-ээ үүсгэж өгөөд access list-ээ 
үүсгээд л болж байна даа.

No comments: