المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

طوبولوجيا

الرسم التخطيطي للشبكة

تكوين موجهات CSR1000v

التكوين المستقل للسحابة

التكوين الخاص ب AWS

تكوين Azure المحدد

تكوين GCP المحدد

التحقق من الصحة

استكشاف الأخطاء وإصلاحها

معلومات ذات صلة

المقدمة

يصف هذا المستند خطوات تكوين موجهات CSR1000V للإصدار 3 (HAv3) عالي التوافر على خدمات ويب (AWS) على Amazon و Microsoft Azure و Google Cloud Platform (GCP).

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- سحب AWS أو Azure أو GCP.

- الموجهات CSR1000v.

- برنامج Cisco IOS®-XE.

يفترض هذا المقال أنه قد تم بالفعل إكمال تكوين الشبكة الأساسية ويركز على تكوين HAv3.

يتم العثور على تفاصيل التكوين الكامل في دليل تكوين البرنامج Cisco CSR 1000v و Cisco ISRv Software.

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- حساب AWS أو Azure أو GCP.

- موجهات CSR1000v.

- حد أدنى من Cisco IOS®-XE Polaris 16.11.1s

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

معلومات أساسية

cisco يوصي أن يتلقى أنت معرفة من مختلف HA صيغة يتوفر:

- HAv1: يتم إجراء تكوين HA كأوامر IOS ويعتمد على BFD كآلية لاكتشاف الفشل.

- HAv2/HAv3: تم نقل التنفيذ إلى حاوية Guestshell كنصوص بيثون. يعد برنامج الإرسال فائق الأداء (BFD) إختياريا، كما يمكن كتابة برامج نصية مخصصة لاكتشاف الأعطال وتجاوز الأعطال في المشغل. يشبه تكوين Azure HAv2 إلى حد كبير HAv3 مع إختلافات طفيفة في حزم تثبيت PIP وتكوين تكرار IOS.

- HAv3: تم نقل تنفيذ HA إلى حد كبير من رمز Cisco IOS®-XE ويتم تشغيله في حاوية Guestshell.

يتوفر HAv3 من Cisco IOS®-XE Polaris 16.11.1s ويضيف العديد من الميزات الجديدة:

- لا توافق السحابة: يعمل هذا الإصدار من التوفر العالي على موجهات CSR 1000V على أي موفر خدمة السحابة. بينما هناك بعض الاختلافات في مصطلحات السحابة والمعلمات، فإن مجموعة الوظائف والبرامج النصية المستخدمة لتكوين ميزات التوفر العالي والتحكم فيها وإظهارها شائعة عبر موفري خدمة السحابة المختلفين. يتم دعم الإصدار 3 من التوفر العالي (HAv3) في موجهات CSR 1000V على AWS و Azure و GCP. تمت إضافة دعم لموفر GCP في 16.11.1. راجع Cisco للحصول على الدعم الحالي للتوافر العالي في سحب الموفر الفردي.

- العملية النشطة/النشطة: يمكنك تكوين كل من موجهات Cisco CSR 1000v لتكون نشطة في الوقت نفسه، مما يسمح بمشاركة الحمل. في وضع التشغيل هذا، يحتوي كل مسار في جدول مسار على أحد الموجهين الذي يعمل كموجه أساسي والموجه الآخر كموجه ثانوي. لتمكين مشاركة الحمل، خذ جميع المسارات وقسمهما بين الموجهين Cisco CSR 1000V. لاحظ أن هذه الوظيفة جديدة للسحابة المستندة إلى AWS.

- النسخ إلى CSR أساسي بعد إسترداد الخطأ: يمكنك تعيين Cisco CSR 1000v كموجه أساسي لموجه معين. بينما يكون Cisco CSR 1000v قيد التشغيل. هو الخطوة التالية للمسار. إذا فشل Cisco CSR 1000V هذا، يتولى النظير Cisco CSR 1000V الأمر كالخطوة التالية للمسار، مع الحفاظ على اتصال الشبكة. عند إسترداد الموجه الأصلي من الفشل، فإنه يستعيد ملكية المسار وهو موجه الخطوة التالية. هذه الوظيفة جديدة أيضا للسحابة المستندة إلى AWS.

- النصوص التفاعلية التي يوفرها المستخدم: Guestshell عبارة عن حاوية يمكنك من خلالها نشر النصوص التفاعلية الخاصة بك. يعرض HAv3 واجهة برمجة للنصوص النصية التي يوفرها المستخدم. وهذا يعني أنه يمكنك الآن كتابة نصوص تنفيذية يمكنها تشغيل كل من أحداث تجاوز الفشل والانسداد. يمكنك أيضا تطوير خوارزمياتك والمشغلات الخاصة بك للتحكم في أي من خدمات إعادة التوجيه من Cisco CSR 1000v لمسارات معينة. هذه الوظيفة جديدة للسحابة المستندة إلى AWS.

- آلية تكوين ونشر جديدة: تم نقل تنفيذ HA من رمز Cisco IOS®-XE. يتم الآن تشغيل كود التوفر العالي في حاوية حاوية حاوية حاوية حاوية حاوية التخزين. لمزيد من المعلومات حول Guestshell، راجع قسم "Guest Shell" في دليل تكوين قابلية البرمجة. في HAv3، يتم إجراء تكوين عقد التكرار في guestshell الذي يستخدم مجموعة من برامج Python النصية. تم تقديم هذه الميزة الآن للسحابة المستندة إلى AWS.

ملاحظة: يمكن أن تتكبد الموارد المنشورة في AWS أو Azure أو GCP من الخطوات الواردة في هذا المستند تكلفة.

طوبولوجيا

قبل بدء التكوين، من المهم فهم المخطط والتصميم بشكل كامل. يساعد ذلك على أستكشاف أخطاء أية مشكلات محتملة وإصلاحها فيما بعد.

على الرغم من أن مخطط مخطط مخطط الشبكة يستند إلى AWS، إلا أن نشر الشبكة الأساسية بين السحب مماثل نسبيا.  كما أن مخطط الشبكة مستقل عن إصدار HA المستخدم، سواء كان HAv1 أو HAv2 أو HAv3.

ل هذا طبولوجيا مثال، HA شكلت تكرار مع هذا عملية إعداد في AWS:

- 1x - المنطقة

- 1x - VPC

- 3x - مناطق التوفر

- 4X - واجهات الشبكة/الشبكات الفرعية (2X Public Face/2x Private Face)

- 2X - جداول المسارات (العامة والخاصة)

- موجهات 2x - CSR1000v (Cisco IOS®-XE 17.01.01)

هناك موجهات CSR1000v في زوج HA، في منطقتين مختلفتين للتوفر. المنطقة الثالثة هي مثيل خاص، يحاكي جهاز في مركز بيانات خاص. بشكل عام، يجب أن تتدفق جميع حركة المرور العادية عبر جدول المسار الخاص (أو الداخلي).

الرسم التخطيطي للشبكة

الرسم التخطيطي للشبكة

تكوين موجهات CSR1000v

التكوين المستقل للسحابة

الخطوة 1. تكوين إستضافة تطبيقات IOx و Guestshell، يوفر ذلك إمكانية الوصول إلى IP في طبقة الأمان.  يمكن تكوين هذه الخطوة تلقائيا بشكل افتراضي عند تعطيل CSR1000v.

vrf definition GS

!

iox

app-hosting appid guestshell

app-vnic gateway1 virtualportgroup 0 guest-interface 0

guest-ipaddress 192.168.35.102 netmask 255.255.255.0

app-default-gateway 192.168.35.101 guest-interface 0

name-server0 8.8.8.8

!

interface VirtualPortGroup0

vrf forwarding GS

ip address 192.168.35.101 255.255.255.0

ip nat inside

!

interface GigabitEthernet1

ip nat outside

!

ip access-list standard GS_NAT_ACL

permit 192.168.35.0 0.0.0.255

!

ip nat inside source list GS_NAT_ACL interface GigabitEthernet1 vrf GS overload

!

! The static route points to the G1 ip address's gateway

ip route vrf GS 0.0.0.0 0.0.0.0 GigabitEthernet1 10.1.0.1 global

الخطوة 2. تمكين الدخول إلى Guestshell.

Device#guestshell enable

Interface will be selected if configured in app-hosting

Please wait for completion

guestshell installed successfully

Current state is: DEPLOYED

guestshell activated successfully

Current state is: ACTIVATED

guestshell started successfully

Current state is: RUNNING

Guestshell enabled successfully

Device#guestshell

[guestshell@guestshell ~]$

ملاحظة: للحصول على مزيد من المعلومات حول Guestshell راجع - دليل تكوين قابلية البرمجة

الخطوة 3. تأكيد قدرة Guestshell على الاتصال بالإنترنت.

[guestshell@guestshell ~]$ ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

64 bytes from 8.8.8.8: icmp_seq=1 ttl=109 time=1.74 ms

64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=2.19 ms

64 bytes from 8.8.8.8: icmp_seq=3 ttl=109 time=2.49 ms

64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=1.41 ms

64 bytes from 8.8.8.8: icmp_seq=5 ttl=109 time=3.04 ms

الخطوة 4. (إختياري) قم بتمكين اكتشاف إعادة التوجيه ثنائي الإتجاه (BFD) وبروتوكول توجيه كبروتوكول توجيه البوابة الداخلية المحسنة (EIGRP) أو بروتوكول العبارة الحدودية (BGP) إلى النفق لاكتشاف فشل النظير. قم بتكوين نفق VxLAN أو IPsec بين موجهات Cisco CSR 1000V.

- نفق IPsec بين الموجهات Cisco CSR 1000v.

crypto isakmp policy 1

encr aes 256 authentication pre-share

crypto isakmp key cisco address

crypto ipsec transform-set uni-perf esp-aes 256 esp-sha-hmac mode tunnel

crypto ipsec profile vti-1

set security-association lifetime kilobytes disable set security-association lifetime seconds 86400  set transform-set uni-perf

set pfs group2

interface Tunnel1

ip address 192.168.1.1 255.255.255.0

bfd interval 500 min_rx 500 multiplier 3

tunnel source GigabitEthernet1

tunnel destination

redundancy

cloud-ha bfd peer

Example -

#CSR1

!

interface Tunnel1

ip address 192.168.1.1 255.255.255.0

bfd interval 500 min_rx 500 multiplier 3

tunnel source GigabitEthernet1

tunnel destination 10.1.0.11

!

redundancy

cloud-ha bfd peer 192.168.1.2

#CSR2

!

interface Tunnel1

ip address 192.168.1.2 255.255.255.0

bfd interval 500 min_rx 500 multiplier 3

tunnel source GigabitEthernet1

tunnel destination 10.1.0.10

!

redundancy

cloud-ha bfd peer 192.168.1.1

- نفق VxLAN بين الموجهات Cisco CSR 1000V.

Example:

interface Tunnel100

ip address 192.168.1.1 255.255.255.0

bfd interval 500 min_rx 500 multiplier 3

tunnel source GigabitEthernet1

tunnel mode vxlan-gpe ipv4

tunnel destination

tunnel vxlan vni 10000

redundancy

cloud-ha bfd peer

الخطوة 4.1.  (إختياري) قم بتكوين EIGRP عبر واجهات النفق.

router eigrp 1

bfd interface Tunnel1

network 192.168.1.0 0.0.0.255

- يمكن إستخدام البرامج النصية المخصصة لتشغيل تجاوز الفشل، على سبيل المثال:

event manager applet Interface_GigabitEthernet2

event syslog pattern “Interface GigabitEthernet2, changed state to administratively down”

action 1 cli command “enable”

action 2 cli command “guestshell run node_event.py -i 10 -e peerFail” exit

exit

التكوين الخاص ب AWS

- معلمات AWS HA

الخطوة 1. تكوين المصادقة باستخدام IAM.

من أجل أن يقوم الموجه CSR1000V بتحديث جدول توجيه في شبكة AWS، يلزم مصادقة الموجه. في AWS، يجب عليك إنشاء سياسة تسمح للموجه CSR 1000V بالوصول إلى جدول المسار. ثم يتم إنشاء دور IAM يستخدم هذا النهج ويطبق على مورد EC2.

بعد إنشاء مثيلات CSR 1000V EC2، يلزم إرفاق دور IAM الذي تم إنشاؤه بكل موجه

السياسة المستخدمة في دور IAM الجديد هي:

{

"Version": "2012-10-17",

"Statement": [

{

"Sid": "VisualEditor0",

"Effect": "Allow",

"Action": [

"logs:CreateLogStream",

"cloudwatch:",

"s3:",

"ec2:AssociateRouteTable",

"ec2:CreateRoute",

"ec2:CreateRouteTable",

"ec2:DeleteRoute",

"ec2:DeleteRouteTable",

"ec2:DescribeRouteTables",

"ec2:DescribeVpcs",

"ec2:ReplaceRoute",

"ec2:DescribeRegions",

"ec2:DescribeNetworkInterfaces",

"ec2:DisassociateRouteTable",

"ec2:ReplaceRouteTableAssociation",

"logs:CreateLogGroup",

"logs:PutLogEvents"

],

"Resource": "*"

}

]

}

ملاحظة: ارجع إلى دور IAM مع سياسة وإقرانه بمعرف فئة المورد (VPC) للحصول على خطوات تفصيلية.

الخطوة 2. ركبت HA بايثون حزمة.

[guestshell@guestshell ~]$ pip install csr_aws_ha --user

[guestshell@guestshell ~]$ source ~/.bashrc

الخطوة 3. قم بتكوين معلمات HA على الموجه الأساسي.

[guestshell@guestshell ~]$ create_node.py -i 10 -t rtb-01c5b0633a3422575 -rg ca-central-1 -n eni-0bc1912748614df2a -r 0.0.0.0/0 -m primary

الخطوة 4. قم بتكوين معلمات HA على الموجه الثانوي.

[guestshell@guestshell ~]$ create_node.py -i 10 -t rtb-01c5b0633a3422575 -rg ca-central-1 -n eni-0e351ab1b8f416728 -r 0.0.0.0/0 -m secondary

- تنسيق العقدة هو:

create_node.py -i n -t rtb-private-route-table-id -rg region-id -n eni-CSR-id -r route(x.x.x.x/x) -m

تكوين Azure المحدد

- معلمات Azure HA

ملاحظة: يجب تكوين الواجهة الأمامية الخارجية على GigabitEthernet1.  هذه هي الواجهة المستخدمة للوصول إلى واجهات برمجة تطبيقات Azure. لا يمكن أن يعمل HA بشكل صحيح خلاف ذلك. ضمن Guestshell، تأكد من أن الأمر curl يمكن أن يجلب بيانات التعريف من Azure.

[guestshell@guestshell ~]$ curl -H "Metadata:true"  http://169.254.169.254/metadata/instance?api-version=2020-06-01

الخطوة 1. يجب تمكين مصادقة إستدعاءات CSR1000V API باستخدام Azure Active Directory (AAD) أو معرف الخدمة المدار (MSI).  ارجع إلى تكوين المصادقة لاستدعاءات CSR1000V API للحصول على خطوات تفصيلية.  بدون هذه الخطوة، لا يمكن تفويض الموجه CSR1000V لتحديث جدول المسار.

محددات AAD

الخطوة 2. ركبت HA بايثون حزمة.

[guestshell@guestshell ~]$ pip install csr_azure_ha --user

[guestshell@guestshell ~]$ source ~/.bashrc

الخطوة 3. قم بتكوين معلمات HA على الموجه الأساسي (يمكن إستخدام MSI أو AAD لهذه الخطوة).

- مع مصادقة MSI.

[guestshell@guestshell ~]$ create_node -i 10 -p azure -s xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx -g ResourceGroup -t Private-RouteTable -r 0.0.0.0/0 -n 10.1.0.10 -m primary

- باستخدام مصادقة AAD (علامات إضافية -a و -d و -k مطلوبة).

[guestshell@guestshell ~]$ create_node -i 10 -p azure -s xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx -g ResourceGroup -t Private-RouteTable -r 0.0.0.0/0 -n 10.1.0.10 -m primary -a 1e0f69c3-b6aa-46cf-b5f9-xxxxxxxxx -d ae49849c-2622-4d45-b95e-xxxxxxxxx -k bDEN1k8batJqpeqjAuUvaUCZn5Md6rWEi=

الخطوة 4. قم بتكوين معلمات HA على الموجه الثانوي.

- باستخدام مصادقة MSI

[guestshell@guestshell ~]$ create_node -i 10 -p azure -s xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx -g ResourceGroup -t Private-RouteTable -r 0.0.0.0/0 -n 10.1.0.11 -m secondary

- باستخدام مصادقة AAD (علامات إضافية -a و -d و -k)

[guestshell@guestshell ~]$ create_node -i 10 -p azure -s xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx --g ResourceGroup -t Private-RouteTable -r 0.0.0.0/0 -n 10.0.0.11 -m secondary -a 1e0f69c3-b6aa-46cf-b5f9-xxxxxxxxx -d ae49849c-2622-4d45-b95e-xxxxxxxxx -k bDEN1k8batJqpeqjAuUvaUCZn5Md6rWEi=

تكوين GCP المحدد

- معلمات GCP HA

ملاحظة: تأكد من أن حساب الخدمة المرتبط بموجهات CSR 1000v لديه على الأقل إذن مسؤول شبكة الكمبيوتر.

الخطوة 1. ركبت HA بايثون حزمة.

[guestshell@guestshell ~]$ pip install csr_gcp_ha --user

[guestshell@guestshell ~]$ source ~/.bashrc

الخطوة 2. قم بتكوين معلمات HA على الموجه الأساسي.

[guestshell@guestshell ~]$ create_node -i 1 -g  -r dest_network -o 200 -n nexthop_ip_addr -a route-vpc2-csr1 -b route-vpc2-csr2 -p gcp -v vpc_name

الخطوة 3. قم بتكوين معلمات HA على الموجه الثانوي.

[guestshell@guestshell ~]$ create_node -i 1 -g  -r dest_network -o 200 -n nexthop_ip_addr -a route-vpc2-csr2 -b route-vpc2-csr1 -p gcp -v vpc_name

التحقق من الصحة

استخدم هذا القسم لتأكيد عمل التكوين بشكل صحيح.

الخطوة 1. قم بتشغيل تجاوز الفشل باستخدام علامة node_event.py peerFail.

[guestshell@guestshell ~]$ node_event.py -i 10 -e peerFail

200: Node_event processed successfully

الخطوة 2. انتقل إلى جدول المسار الخاص لموفر السحابة، تحقق من أن المسار قد قام بتحديث الخطوة التالية إلى عنوان IP الجديد.

استكشاف الأخطاء وإصلاحها

لا تتوفر حاليًا معلومات محددة لاستكشاف الأخطاء وإصلاحها لهذا التكوين.

معلومات ذات صلة

- تم العثور على خطوات تكوين HAv3 التفصيلية في دليل تكوين البرنامج Cisco CSR 1000v و Cisco ISRv Software

- يشبه تكوين Azure HAv2 إلى حد كبير HAv3 مع إختلافات طفيفة في حزم تثبيت PIP وتكوين تكرار IOS.  تتوفر الوثائق في دليل تكوين CSR1000V HA الإصدار 2 على Microsoft Azure

- يوجد تكوين Azure HAv1 مع CLI في دليل نشر التكرار CSR1000v HA على Microsoft Azure مع AzureCLI 2.0

- يوجد تكوين AWS HAv1 في دليل نشر التكرار CSR1000v HA على Amazon AWS

- الدعم التقني والمستندات - Cisco Systems