BGP: الـ Regular Expressions و AS Path Filter

جارٍ التحميل…

BGP: الـ Regular Expressions و AS Path Filter

الفلترة بالـ AS path أذكى من الـ prefix list: تقول مثلاً أعلن بس اللي بدأ عندي، أو ارفض أي مسار يمر على AS معيّنة. نتعلم رموز الـ regex في BGP، ونجرّبها بـ show ip bgp regexp قبل ما نطبّق، وبعدها ip as-path access-list و neighbor filter-list.

ضمن مسار ENARSI 300-410 — التوجيه المتقدم وخدمات الشبكات

شرح الدرس مكتوبًا

نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.

R1
enable
configure terminal
hostname R1
no ip domain-lookup
interface g0/0/0
ip address 10.0.12.1 255.255.255.0
no shutdown
interface g0/0/1
ip address 10.0.14.1 255.255.255.0
no shutdown
interface lo0
ip address 1.1.1.1 255.255.255.255
interface lo1
ip address 172.16.1.1 255.255.255.0
ip ospf network point-to-point
end
enable
configure terminal
router ospf 1
router-id 1.1.1.1
network 10.0.12.0 0.0.0.255 area 0
network 1.1.1.1 0.0.0.0 area 0
end
enable
configure terminal
router bgp 65001
bgp router-id 1.1.1.1
neighbor 10.0.14.4 remote-as 65003
neighbor 2.2.2.2 remote-as 65001
neighbor 2.2.2.2 update-source lo0
neighbor 2.2.2.2 next-hop-self
network 172.16.1.0 mask 255.255.255.0
end
R2
enable
configure terminal
hostname R2
no ip domain-lookup
interface g0/0/0
ip address 10.0.12.2 255.255.255.0
no shutdown
interface g0/0/1
ip address 10.0.23.2 255.255.255.0
no shutdown
interface lo0
ip address 2.2.2.2 255.255.255.255
interface lo1
ip address 172.16.2.1 255.255.255.0
ip ospf network point-to-point
end
enable
configure terminal
router ospf 1
router-id 2.2.2.2
network 10.0.12.0 0.0.0.255 area 0
network 2.2.2.2 0.0.0.0 area 0
end
enable
configure terminal
router bgp 65001
bgp router-id 2.2.2.2
neighbor 10.0.23.3 remote-as 65002
neighbor 1.1.1.1 remote-as 65001
neighbor 1.1.1.1 update-source lo0
neighbor 1.1.1.1 next-hop-self
network 172.16.2.0 mask 255.255.255.0
end
R3
enable
configure terminal
hostname R3
no ip domain-lookup
interface g0/0/0
ip address 10.0.23.3 255.255.255.0
no shutdown
interface g0/0/1
ip address 10.0.34.3 255.255.255.0
no shutdown
interface lo0
ip address 3.3.3.3 255.255.255.255
interface lo1
ip address 203.0.113.1 255.255.255.0
end
enable
configure terminal
router bgp 65002
bgp router-id 3.3.3.3
neighbor 10.0.23.2 remote-as 65001
neighbor 10.0.34.4 remote-as 65003
network 203.0.113.0 mask 255.255.255.0
end
R4
enable
configure terminal
hostname R4
no ip domain-lookup
interface g0/0/0
ip address 10.0.34.4 255.255.255.0
no shutdown
interface g0/0/1
ip address 10.0.14.4 255.255.255.0
no shutdown
interface lo0
ip address 4.4.4.4 255.255.255.255
interface lo1
ip address 198.51.100.1 255.255.255.0
end
enable
configure terminal
router bgp 65003
bgp router-id 4.4.4.4
neighbor 10.0.14.1 remote-as 65001
neighbor 10.0.34.3 remote-as 65002
network 198.51.100.0 mask 255.255.255.0
end

حيّاك الله. الدرس اللي فات منعنا الـ transit بـ prefix list فيها شبكاتنا. والمشكلة: كل شبكة جديدة لازم تضيفها للقائمة، ولو نسيت، ما تنعلن. الحل الأذكى: نفلتر حسب الـ AS path. المسار اللي بدأ عندنا، الـ AS path حقه فاضي داخل شركتنا. فنقول: أعلن بس المسارات اللي الـ AS path حقها فاضي.

والـ AS path نكتبه بـ regular expression. والرموز المهمة: caret: بداية الـ path. dollar: نهايته. underscore: أي فاصل، مسافة أو بداية أو نهاية. dot: أي حرف واحد. star: صفر أو أكثر من اللي قبله. والأقواس المربعة: حرف من مجموعة. قبل ما تطبّق أي regex، جرّبه. الأمر show ip bgp regexp يعرض المسارات اللي تطابقه. نجرّب على R1: المسارات اللي بدأت في AS six five zero zero two.

R1
show ip bgp regexp _65002$

طلعت two oh three dot zero dot one thirteen dot zero بطريقيها: من R4 بـ six five zero zero three ثم six five zero zero two، ومن R2 بـ six five zero zero two. والاثنين ينتهون بـ six five zero zero two. والحين الـ AS path الفاضي، يعني شبكاتنا.

R1
show ip bgp regexp ^$

شبكاتنا الاثنتين بس. نطبّق على R1: ip as-path access-list رقم واحد، permit caret dollar. وبعدها على الجار R4: filter-list واحد out. وانتبه: الـ as-path access-list في آخرها deny مخفي، زي كل القوائم.

R1
configure terminal
ip as-path access-list 1 permit ^$
router bgp 65001
neighbor 10.0.14.4 filter-list 1 out
end
clear ip bgp 10.0.14.4 soft out
show ip bgp neighbors 10.0.14.4 advertised-routes

R1 يعلن شبكاتنا بس، بدون prefix list. ولو أضفنا شبكة جديدة بكرة، بتنعلن تلقائياً، لأن الـ AS path حقها فاضي. وفي الاختبار، فخ مشهور: الـ regex caret dollar يشتغل بس باتجاه out. لو حطيته in من جار eBGP، يرفض كل شي، لأن أي مسار جاي من جار eBGP فيه رقم الجار على الأقل. الحين دورك. R1 ما يبغى يستقبل من ISP-B أي مسار يمر على AS six five zero zero two، لأن ISP-A متصل فيه أصلاً عن طريق R2. سوّ as-path access-list رقم اثنين ترفض underscore six five zero zero two underscore وتقبل الباقي، وطبّقها in على R4. وقّف الفيديو، وجرّب.

تمرين: على R1: ip as-path access-list 2 deny _65002_، و ip as-path access-list 2 permit .*، و neighbor 10.0.14.4 filter-list 2 in، و clear ip bgp 10.0.14.4 soft in. بعدها show ip bgp 203.0.113.0.

الحل.

R1
configure terminal
ip as-path access-list 2 deny _65002_
ip as-path access-list 2 permit .*
router bgp 65001
neighbor 10.0.14.4 filter-list 2 in
end
clear ip bgp 10.0.14.4 soft in
show ip bgp 203.0.113.0

two oh three dot zero dot one thirteen dot zero بقى لها طريق واحد، من R2. والطريق عن طريق R4 اللي يمر على six five zero zero two انرفض. ولاحظ سطر permit dot star: بدونه، الـ deny المخفي كان بيرفض كل شي من R4، حتى one ninety eight dot fifty one dot one hundred dot zero. الخلاصة: الـ regex يوصف الـ AS path، وجرّبه بـ show ip bgp regexp، وطبّقه بـ as-path access-list و filter-list. والدرس الجاي: الـ communities.

دروس المسار (74)
  1. حيّاكم الله: من ENCOR إلى ENARSI
  2. كيف يختار الراوتر المسار: Longest Match و Administrative Distance
  3. الـ Prefix List: فلترة بالشبكة وبطول الـ prefix
  4. الـ Route Map: لغة السياسات في التوجيه
  5. الـ Distribute List: الفلترة في EIGRP وفي OSPF
  6. الـ Redistribution: ربط EIGRP مع OSPF
  7. مشاكل الـ Redistribution في أكثر من نقطة: Tags تمنع الـ Loop
  8. الـ Summarization: مسار واحد بدل أربعة، و Null0
  9. منع الـ Loops: Split Horizon و Route Poisoning
  10. الـ Policy Based Routing: توجيه حسب المصدر
  11. الـ VRF-Lite: أكثر من Routing Table في راوتر واحد
  12. الـ BFD: اكتشاف العطل في جزء من الثانية
  13. تشخيص أعطال التوجيه: طريقة منظمة على شبكة خربانة
  14. EIGRP: شروط الجيرة وتشخيص الجار اللي ما يطلع
  15. EIGRP: الـ Metric بالأرقام، وكيف تتحكم في المسار
  16. EIGRP: الـ DUAL و الـ Feasible Successor
  17. EIGRP Named Mode: كل الإعدادات في مكان واحد
  18. EIGRP: الـ Variance و Unequal-Cost Load Balancing
  19. EIGRP Stub: حماية الشبكة من الـ Queries
  20. EIGRP: الـ Leak-Map والـ Offset-List
  21. EIGRP: الـ Authentication بـ MD5 و SHA-256
  22. EIGRP for IPv6: الـ Classic والـ Named
  23. تشخيص EIGRP: ثلاث مشاكل في طريق واحد
  24. OSPF: حالات الجيرة، و Hello، و MTU
  25. OSPF: أنواع الشبكات و الـ DR و الـ BDR
  26. OSPF: أنواع الـ LSAs وقراءة الـ Database
  27. OSPF: ترتيب تفضيل المسارات وقاعدة الـ Backbone
  28. OSPF: الـ Stub و Totally Stubby Areas
  29. OSPF: الـ NSSA و LSA النوع سبعة
  30. OSPF: التلخيص في الـ ABR والـ ASBR
  31. OSPF: الفلترة الصحيحة بين الـ Areas
  32. OSPF: الـ Virtual Link لـ Area مفصولة
  33. OSPF: الـ Cost والـ Reference Bandwidth
  34. OSPF: الـ Authentication بـ MD5 و SHA
  35. OSPFv3: الـ OSPF حق IPv6
  36. تشخيص OSPF: جيران ما يطلعون
  37. BGP: الجلسات وحالاتها
  38. BGP: الـ iBGP بين الـ Loopbacks
  39. BGP: الـ Next Hop في الـ iBGP و next-hop-self
  40. BGP: الـ Route Reflector بدل الـ Full Mesh
  41. BGP: خوارزمية اختيار أفضل مسار
  42. BGP: التحكم في الترافيك الطالع بالـ Weight والـ Local Preference
  43. BGP: التحكم في الترافيك الداخل بالـ AS Path Prepend والـ MED
  44. BGP: الفلترة بالـ Prefix List وخطر الـ Transit
  45. BGP: الـ Regular Expressions و AS Path Filter
  46. BGP: الـ Communities و no-export
  47. BGP: حماية الجلسات بالـ Password و TTL Security
  48. MP-BGP: BGP لـ IPv6 بالـ Address Families
  49. تشخيص BGP: جلسات واقعة ومسار مو valid
  50. MPLS و LDP: Core بدون BGP
  51. MPLS Layer 3 VPN: الـ VRF و RD و RT و VPNv4
  52. تشخيص MPLS VPN: من الـ Core لفوق
  53. DMVPN: الـ mGRE و NHRP
  54. DMVPN: التوجيه فوق النفق و Phase 2
  55. DMVPN: الـ Phase 3 والحماية بـ IPsec
  56. AAA: TACACS+ و RADIUS وتشخيص الدخول
  57. الـ ACLs: الترتيب، والـ Sequence Numbers، والمكان الصح
  58. الـ Time-Based ACL: صلاحيات حسب الوقت
  59. الـ ACLs في IPv6 وفخ الـ Neighbor Discovery
  60. الـ uRPF: الحماية من العناوين المزوّرة
  61. الـ CoPP: حماية الـ Control Plane
  62. حماية الـ Management Plane: SSH و Access-Class
  63. IPv6 First-Hop Security: RA Guard و DHCPv6 Guard و Source Guard
  64. الدخول على الأجهزة والـ Backup بـ TFTP
  65. SNMP: من v2c المكشوف إلى SNMPv3
  66. الـ Syslog: مستويات الخطورة ووين تروح الرسائل
  67. الـ Debug بشرط: بدون ما تغرق الراوتر
  68. DHCP و الـ Relay: تشخيص أجهزة ما تاخذ عنوان
  69. DHCPv6: Stateful و Stateless والـ Relay
  70. الـ IP SLA و Object Tracking: Failover ذكي بين مزوّدين
  71. الـ Flexible NetFlow: مين يتكلم مع مين
  72. Catalyst Center Assurance: التشخيص من لوحة وحدة
  73. مشروع التشخيص الكامل: الشركة طاحت من الإنترنت
  74. الخاتمة: الاستعداد لاختبار ENARSI و وش بعده