የቤት ውስጥ IPsec VPNን እንዴት መላ መፈለግ እንደሚቻል። ክፍል 1

የቤት ውስጥ IPsec VPNን እንዴት መላ መፈለግ እንደሚቻል። ክፍል 1

ሁኔታ

የስራ ዕረፍት. ቡና እጠጣለሁ. ተማሪው በሁለት ነጥብ መካከል የቪፒኤን ግንኙነት አዘጋጅቶ ጠፋ። አረጋግጣለሁ፡ በእውነቱ መሿለኪያ አለ፣ ነገር ግን በዋሻው ውስጥ ምንም ትራፊክ የለም። ተማሪው ጥሪዎችን አይቀበልም.

ድስቱን አስቀምጬ ወደ ኤስ-ቴራ ጌትዌይ መላ ፍለጋ ውስጥ ገባሁ። ልምዴን እና ዘዴዬን አካፍላለሁ።

ጥሬ ውሂብ

ሁለቱ በጂኦግራፊያዊ ልዩነት ያላቸው ቦታዎች በGRE ዋሻ ተያይዘዋል። GRE መመስጠር አለበት፡-

የቤት ውስጥ IPsec VPNን እንዴት መላ መፈለግ እንደሚቻል። ክፍል 1

የGRE ዋሻውን ተግባራዊነት እያጣራሁ ነው። ይህንን ለማድረግ ፒንግን ከመሳሪያ R1 ወደ የመሣሪያው R2 GRE በይነገጽ እሄዳለሁ. ይህ ለማመስጠር የታለመው ትራፊክ ነው። መልስ የለም:

root@R1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3057ms

በጌት1 እና በጌት2 ላይ ያሉትን መዝገቦች እመለከታለሁ። የምዝግብ ማስታወሻው የአይፒሴክ ዋሻ በተሳካ ሁኔታ መጀመሩን በደስታ ዘግቧል፣ ምንም ችግር የለም፡

root@Gate1:~# cat /var/log/cspvpngate.log
Aug  5 16:14:23 localhost  vpnsvc: 00100119 <4:1> IPSec connection 5 established, traffic selector 172.17.0.1->172.16.0.1, proto 47, peer 10.10.10.251, id "10.10.10.251", Filter 
IPsec:Protect:CMAP:1:LIST, IPsecAction IPsecAction:CMAP:1, IKERule IKERule:CMAP:1

በበር

root@Gate1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 3 (10.10.10.251,500)-(10.10.10.252,500) active 1070 1014

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 3 (172.16.0.1,*)-(172.17.0.1,*) 47 ESP tunn 480 0

S-Terraን እንደዚህ እቸገራለሁ፡ ከ R1 እስከ R2 ባለው መንገድ ላይ የታለሙ እሽጎች የት እንደሚጠፉ እመለከታለሁ። በሂደቱ (ስፖይለር) ስህተት አገኛለሁ።

ችግርመፍቻ

ደረጃ 1. Gate1 ከ R1 የሚቀበለው

አብሮ የተሰራውን ፓኬት ስኒፈር እጠቀማለሁ - tcpdump. አነፍናፊውን በውስጥ በኩል አስጀምረዋለሁ (Gi0/1 በሲስኮ መሰል ማስታወሻ ወይም eth1 በዴቢያን ስርዓተ ክወና ማስታወሻ) በይነገጽ፡

root@Gate1:~# tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
14:53:38.879525 IP 172.16.0.1 > 172.17.0.1: GREv0, key=0x1, length 92: IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 2083, seq 1, length 64
14:53:39.896869 IP 172.16.0.1 > 172.17.0.1: GREv0, key=0x1, length 92: IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 2083, seq 2, length 64
14:53:40.921121 IP 172.16.0.1 > 172.17.0.1: GREv0, key=0x1, length 92: IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 2083, seq 3, length 64
14:53:41.944958 IP 172.16.0.1 > 172.17.0.1: GREv0, key=0x1, length 92: IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 2083, seq 4, length 64

ጌት1 የGRE ፓኬቶችን ከR1 እንደሚቀበል አይቻለሁ። እየሄድኩ ነው።

ደረጃ 2. Gate1 በ GRE ፓኬቶች ምን ያደርጋል

የ klogview መገልገያን በመጠቀም በኤስ-ቴራ ቪፒኤን ሾፌር ውስጥ በGRE ፓኬቶች ምን እየተፈጠረ እንዳለ ማየት እችላለሁ፡

root@Gate1:~# klogview -f 0xffffffff

filtration result for out packet 172.16.0.1->172.17.0.1, proto 47, len 112, if eth0: chain 4 "IPsecPolicy:CMAP", filter 8, event id IPsec:Protect:CMAP:1:LIST, status PASS
encapsulating with SA 31: 172.16.0.1->172.17.0.1, proto 47, len 112, if eth0
passed out packet 10.10.10.251->10.10.10.252, proto 50, len 160, if eth0: encapsulated

ኢላማው GRE ትራፊክ (ፕሮቶ 47) 172.16.0.1 -> 172.17.0.1 በ CMAP ክሪፕቶፕ ካርታ ውስጥ ባለው የLIST ምስጠራ ደንብ ስር እንደመጣ አይቻለሁ። በመቀጠልም ፓኬጁ ተዘዋውሯል (ተላልፏል). በ klogview ውፅዓት ውስጥ ምንም የምላሽ ትራፊክ የለም።

የመዳረሻ ዝርዝሮችን በ Gate1 መሣሪያ ላይ እያጣራሁ ነው። አንድ የመዳረሻ ዝርዝር አይቻለሁ፣ እሱም የኢላማ ትራፊክን ምስጠራ የሚገልጽ፣ ይህ ማለት የፋየርዎል ህጎች አልተዋቀሩም ማለት ነው፡

Gate1#show access-lists
Extended IP access list LIST
    10 permit gre host 172.16.0.1 host 172.17.0.1

ማጠቃለያ፡ ችግሩ በ Gate1 መሳሪያ ላይ አይደለም።

ስለ klogview ተጨማሪ

የቪፒኤን ሹፌር ሁሉንም የኔትወርክ ትራፊክ ያስተናግዳል፣ መመስጠር ያለበትን ትራፊክ ብቻ አይደለም። የቪፒኤን ሹፌሩ የኔትወርኩን ትራፊክ ከሰራ እና ሳይመሰጠር ቢያስተላልፍ በክሎግቪው ውስጥ የሚታዩት መልእክቶች ናቸው።

root@R1:~# ping 172.17.0.1 -c 4

root@Gate1:~# klogview -f 0xffffffff

filtration result for out packet 172.16.0.1->172.17.0.1, proto 1, len 84, if eth0: chain 4 "IPsecPolicy:CMAP": no match
passed out packet 172.16.0.1->172.17.0.1, proto 1, len 84, if eth0: filtered

በCMAP ክሪፕቶ ካርድ ምስጠራ ሕጎች ውስጥ የICMP ትራፊክ (ፕሮቶ 1) 172.16.0.1->172.17.0.1 እንዳልተካተተ አይቻለሁ። ፓኬቱ ተላልፏል (ተላልፏል) ግልጽ በሆነ ጽሑፍ.

ደረጃ 3. Gate2 ከጌት1 የሚቀበለው

አነፍናፊውን በ WAN (eth0) Gate2 በይነገጽ አስጀምረዋለሁ፡

root@Gate2:~# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:05:45.104195 IP 10.10.10.251 > 10.10.10.252: ESP(spi=0x30088112,seq=0x1), length 140
16:05:46.093918 IP 10.10.10.251 > 10.10.10.252: ESP(spi=0x30088112,seq=0x2), length 140
16:05:47.117078 IP 10.10.10.251 > 10.10.10.252: ESP(spi=0x30088112,seq=0x3), length 140
16:05:48.141785 IP 10.10.10.251 > 10.10.10.252: ESP(spi=0x30088112,seq=0x4), length 140

Gate2 የESP ፓኬቶችን ከጌት1 እንደሚቀበል አይቻለሁ።

ደረጃ 4. Gate2 በESP ፓኬጆች ምን ያደርጋል

የklogview መገልገያውን በ Gate2 ላይ አስጀምረዋለሁ፡-

root@Gate2:~# klogview -f 0xffffffff
filtration result for in packet 10.10.10.251->10.10.10.252, proto 50, len 160, if eth0: chain 17 "FilterChain:L3VPN", filter 21, status DROP
dropped in packet 10.10.10.251->10.10.10.252, proto 50, len 160, if eth0: firewall

የESP ፓኬቶች (ፕሮቶ 50) በፋየርዎል ደንብ (L3VPN) እንደተጣሉ አይቻለሁ። Gi0/0 በእውነቱ ከሱ ጋር የተያያዘው የL3VPN መዳረሻ ዝርዝር እንዳለው አረጋግጣለሁ።

Gate2#show ip interface gi0/0
GigabitEthernet0/0 is up, line protocol is up
  Internet address is 10.10.10.252/24
  MTU is 1500 bytes
  Outgoing access list is not set
  Inbound  access list is L3VPN

ችግሩን አገኘሁት።

ደረጃ 5. በመዳረሻ ዝርዝሩ ላይ ምን ችግር አለበት

የL3VPN መዳረሻ ዝርዝር ምን እንደሆነ እመለከታለሁ፡-

Gate2#show access-list L3VPN
Extended IP access list L3VPN
    10 permit udp host 10.10.10.251 any eq isakmp
    20 permit udp host 10.10.10.251 any eq non500-isakmp
    30 permit icmp host 10.10.10.251 any

የISAKMP ፓኬቶች ተፈቅዶላቸው አይቻለሁ፣ ስለዚህ የአይፒሴክ ዋሻ ተመስርቷል። ግን ለESP ምንም የሚያስችለው ህግ የለም። በግልጽ ለማየት እንደሚቻለው, ተማሪው icmp እና esp ግራ ተጋብቷል.

የመዳረሻ ዝርዝሩን ማረም፡

Gate2(config)#
ip access-list extended L3VPN
no 30
30 permit esp host 10.10.10.251 any

ደረጃ 6. ተግባራዊነትን ማረጋገጥ

በመጀመሪያ የL3VPN መዳረሻ ዝርዝር ትክክል መሆኑን አረጋግጣለሁ፡-

Gate2#show access-list L3VPN
Extended IP access list L3VPN
    10 permit udp host 10.10.10.251 any eq isakmp
    20 permit udp host 10.10.10.251 any eq non500-isakmp
    30 permit esp host 10.10.10.251 any

አሁን ኢላማ ትራፊክን ከመሳሪያ R1 አስጀምራለሁ፡-

root@R1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=35.3 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=3.01 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=2.65 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=2.87 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 2.650/10.970/35.338/14.069 ms

ድል። የGRE ዋሻ ተመስርቷል። በIPsec ስታቲስቲክስ ውስጥ ያለው ገቢ የትራፊክ ቆጣሪ ዜሮ አይደለም፡

root@Gate1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 3 (10.10.10.251,500)-(10.10.10.252,500) active 1474 1350

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 4 (172.16.0.1,*)-(172.17.0.1,*) 47 ESP tunn 1920 480

በ Gate2 ጌትዌይ፣ በክሎግቪው ውፅዓት፣ ኢላማው ትራፊክ 172.16.0.1->172.17.0.1 በተሳካ ሁኔታ ዲክሪፕት የተደረገ (PASS) በ CMAP crypto ካርታ ውስጥ ባለው የ LIST ህግ መሆኑን የሚያሳዩ መልዕክቶች ታዩ።

root@Gate2:~# klogview -f 0xffffffff
filtration result for in packet 172.16.0.1->172.17.0.1, proto 47, len 112, if eth0: chain 18 "IPsecPolicy:CMAP", filter 25, event id IPsec:Protect:CMAP:1:LIST, status PASS
passed in packet 172.16.0.1->172.17.0.1, proto 47, len 112, if eth0: decapsulated

ውጤቶች

ተማሪ ቀኑን አበላሽቶታል።
በ ME ደንቦች ይጠንቀቁ.

ማንነቱ ያልታወቀ መሐንዲስ
t.me/የማይታወቅ_ኢንጂነር


ምንጭ: hab.com

አስተያየት ያክሉ