گھریلو 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

گیٹ 1 پر آئی پی سی سی سرنگ کے اعدادوشمار میں میں دیکھ رہا ہوں کہ واقعی میں ایک سرنگ ہے، لیکن 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 یا Debian OS نوٹیشن میں 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 کو R1 سے GRE پیکٹ ملتے ہیں۔ میں آگے بڑھ رہا ہوں۔

مرحلہ 2۔ GRE پیکٹ کے ساتھ Gate1 کیا کرتا ہے۔

کلوگ ویو یوٹیلیٹی کا استعمال کرتے ہوئے میں دیکھ سکتا ہوں کہ S-Terra VPN ڈرائیور کے اندر 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 انکرپشن رول کے تحت آیا تھا اور اسے encapsulated کیا گیا تھا۔ اس کے بعد، پیکٹ کو روٹ کیا گیا (پاس آؤٹ)۔ کلوگ ویو آؤٹ پٹ میں کوئی جوابی ٹریفک نہیں ہے۔

میں گیٹ 1 ڈیوائس پر رسائی کی فہرستوں کو چیک کر رہا ہوں۔ میں ایک رسائی لسٹ لسٹ دیکھ رہا ہوں، جو انکرپشن کے لیے ٹارگٹ ٹریفک کی وضاحت کرتا ہے، جس کا مطلب ہے کہ فائر وال رولز کنفیگر نہیں ہیں:

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

نتیجہ: مسئلہ Gate1 ڈیوائس کے ساتھ نہیں ہے۔

کلوگ ویو کے بارے میں مزید

VPN ڈرائیور تمام نیٹ ورک ٹریفک کو ہینڈل کرتا ہے، نہ صرف وہ ٹریفک جس کو خفیہ کرنے کی ضرورت ہے۔ یہ وہ پیغامات ہیں جو کلوگ ویو میں نظر آتے ہیں اگر VPN ڈرائیور نے نیٹ ورک ٹریفک پر کارروائی کی اور اسے غیر خفیہ کردہ منتقل کیا:

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 کرپٹو کارڈ کے انکرپشن قوانین میں شامل نہیں کیا گیا (کوئی میچ نہیں)۔ پیکٹ کو واضح متن میں روٹ (پاس آؤٹ) کیا گیا تھا۔

مرحلہ 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 Gate1 سے ESP پیکٹ وصول کرتا ہے۔

مرحلہ 4۔ Gate2 ESP پیکجز کے ساتھ کیا کرتا ہے۔

میں گیٹ 2 پر کلوگ ویو یوٹیلیٹی لانچ کرتا ہوں:

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) کے ذریعے گرا دیا گیا (DROP)۔ میں اس بات کو یقینی بناتا ہوں کہ 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

فتح. جی آر ای سرنگ قائم کر دی گئی ہے۔ 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 کو CMAP کرپٹو میپ میں لسٹ رول کے ذریعے کامیابی سے ڈکرپٹ (PASS) کیا گیا تھا:

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

نیا تبصرہ شامل کریں