گهريلو IPsec VPN کي ڪيئن حل ڪجي. حصو 1

گهريلو IPsec VPN کي ڪيئن حل ڪجي. حصو 1

صورتحال

موڪل جو ڏينهن. مان ڪافي پيئندو آهيان. شاگرد ٻن پوائنٽن جي وچ ۾ وي پي اين ڪنيڪشن قائم ڪيو ۽ غائب ٿي ويو. مان چيڪ ڪريان ٿو: اتي واقعي هڪ سرنگ آهي، پر سرنگ ۾ ڪا ٽريفڪ ناهي. شاگرد ڪالن جو جواب نٿو ڏئي.

مون ڪيٽل تي رکيا ۽ S-Terra Gateway جي مشڪلاتن جي حل ۾ ڊيو ڪيو. مان پنهنجو تجربو ۽ طريقو شيئر ڪريان ٿو.

شروعاتي ڊيٽا

ٻه جغرافيائي طور تي الڳ ٿيل سائيٽون هڪ 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 تي لاگز کي ڏسان ٿو. لاگ خوشيء سان رپورٽ ڪري ٿو ته IPsec سرنگ ڪاميابي سان شروع ڪئي وئي، ڪو مسئلو ناهي:

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

Gate1 تي IPsec سرنگ جي انگن اکرن ۾ مون کي ڏسڻ ۾ اچي ٿو ته واقعي هڪ سرنگ آهي، پر Rсvd انسداد صفر تي ري سيٽ ڪيو ويو آهي:

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. ڪهڙو گيٽ 1 حاصل ڪري ٿو R1 کان

مان استعمال ڪريان ٿو بلٽ ان پيڪٽ سنيفر - tcpdump. مان انٽرفيس تي سنيفر لانچ ڪيو (Gi0/1 Cisco-like notation ۾ يا eth1 Debian OS notation ۾) انٽرفيس:

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

مان ڏسان ٿو ته Gate1 R1 کان GRE پيڪٽس وصول ڪري ٿو. مان اڳتي وڌي رهيو آهيان.

قدم 2. ڇا گيٽ 1 GRE پيڪٽس سان ڪندو آهي

ڪلوگ وييو يوٽيلٽي کي استعمال ڪندي مان ڏسي سگهان ٿو ته ڇا ٿي رهيو آهي GRE پيڪٽس اندر اندر S-Terra VPN ڊرائيور:

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 crypto نقشي ۾ LIST انڪرپشن قاعدي تحت آيو ۽ ان کي ڍڪيو ويو. اڳيون، پيڪٽ روٽ ڪيو ويو (پاس آئوٽ). ڪلوگ وييو آئوٽ ۾ ڪو به جوابي ٽرئفڪ نه آهي.

مان چيڪ ڪري رهيو آهيان رسائي لسٽن کي Gate1 ڊوائيس تي. مان ڏسان ٿو هڪ رسائي لسٽ LIST، جيڪا وضاحت ڪري ٿي ٽارگيٽ ٽريفڪ انڪرپشن لاءِ، جنهن جو مطلب آهي ته فائر وال ضابطا ترتيب نه آهن:

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

مان ڏسان ٿو ته ICMP ٽريفڪ (proto 1) 172.16.0.1->172.17.0.1 CMAP crypto ڪارڊ جي انڪرپشن ضابطن ۾ شامل نه ڪيو ويو (ڪو به ميچ ناهي). پيڪٽ صاف متن ۾ رويو (پاس آئوٽ) ڪيو ويو.

قدم 3. گيٽ 2 مان ڪهڙو گيٽ 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 Gate1 کان ESP پيڪٽس وصول ڪري ٿو.

قدم 4. ڇا گيٽ 2 ESP پيڪيجز سان ڪندو آهي

مان 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

مان ڏسان ٿو ته اي ايس پي پيڪٽس (پروٽو 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 پيڪٽس جي اجازت آهي، تنهنڪري هڪ IPsec سرنگ قائم ڪئي وئي آهي. پر 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

گيٽ 2 گيٽ وي تي، ڪلوگ وييو آئوٽ ۾، پيغام ظاهر ٿيا ته ٽارگيٽ ٽريفڪ 172.16.0.1->172.17.0.1 ڪاميابيءَ سان ڊيڪرپٹ (PASS) ڪئي وئي LIST قاعدي طرفان CMAP crypto map:

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/anonymous_engineer


جو ذريعو: www.habr.com

تبصرو شامل ڪريو