Երբ աշխատում ենք BGP-ի հետ հաճախ հարկ է լինում որոշ սահմանափակումներ դնել անոնսների վրա, ինչպես մուտքային այնպես էլ դուրս եկող տրաֆիկների համար: Դրա համար կօգտվենք պրեֆիքսների ցանկ հասկացողությունից, որը հեշտ և հասկանալի կարելի է ղեկավարել մեր IP բլոկների անոնսները:
prefix-list-ը գործում է ըստ կանոնի հերթական համարի մեծության փոքրից դեպի մեծ, այսինքն առաջին հերթին ստուգվում է ամենափոքր նիշով կանոնը հետո ըստ հերթական համարի հաջորդ մեծությամբ կանոնը:
prefix-list-ը ունի հետևյալ սինտաքսիսը`
ip prefix-list պրեֆիքսի_անունը seq կանոնի_համարը permit
Ցանցը ունի հետևյալ տեսքը`
y.y.y.y/zz
որտեղ zz-ն դա ցանցի մասկն է:
Օրինակ եթե մենք պրովայդերից ցանկանում ենք ստանալ միայն 0.0.0.0/0(default route) և ոչ այլ ուրիշ մարշրուտ, ապա պետք է գրենք`
ip prefix-list պրովայդեր-in seq 5 permit 0.0.0.0/0
հետո այդ կանոնը պիտի կիրառենք BGP-ում
neighbor y.y.y.y prefix-list պրովայդեր-in in
որտեղ նշվում ա, որ y.y.y.y “հարևանից” ներս թողնել պրովայդեր-in կանոնի մեջ նշվածը, նշեմ որ վերջի in-ը նշանակում ա հենց ներս թողնել:
նմանատիպ օրինակ, երբ մենք ցանկանում ենք ստանալ միայն որոշ ցանցերի անոնսներ`
ip prefix-list պրովայդեր-in seq 5 permit 192.168.0.0/16
ip prefix-list պրովայդեր-in seq 10 permit 172.16.10.0/25
ip prefix-list պրովայդեր-in seq 15 deny 0.0.0.0/0 le 32
և BGP-ի կարգավորումներում կիրառում ենք հարևանին:
neighbor y.y.y.y prefix-list պրովայդեր-in in
Եւ վերջին օրինակը երբ մենք թույլ ենք տալիս պրեֆիքսների որոշ դիապազոններ իսկ մյուս մասը արգելում ենք:
ip prefix-list պրեֆիքսի_անուն seq 5 deny x.x.x.x/20 ge 21 le 22
այսպիսով պրեֆիքս 20-ի մեջ մենք արգելում ենք պրեֆիքս /21-ը և /22-ը
Իսկ հիմա սահմանափակում դնենք մեր անոնսները արտաքին աշխարհին հայտնելու համար
Ստեղծենք prefix-list դուրս թողարկող (մեր) IP-ների համար 1.1.0.0/20
ip prefix-list our-prefixes seq 10 permit 1.1.1.0/24
և BGP ռոութերի մեջ մեր հարևանին(10.10.10.1) թողարկենք our-prefixes կանոնի մեջի IP բլոկը:
neighbor 10.10.10.1 prefix-list our-prefixes out
Այս ամենը արվում է նրա համար, որպեսզի մեր ռոութերը չթողարկի իրեն հայտնի բոլոր ռոութները (ինչի ամբողջ ինտերնետին հայտարարել ներքին IP-ները):
prefix-list-ը գործում է ըստ կանոնի հերթական համարի մեծության փոքրից դեպի մեծ, այսինքն առաջին հերթին ստուգվում է ամենափոքր նիշով կանոնը հետո ըստ հերթական համարի հաջորդ մեծությամբ կանոնը:
prefix-list-ը ունի հետևյալ սինտաքսիսը`
ip prefix-list պրեֆիքսի_անունը seq կանոնի_համարը permit
Ցանցը ունի հետևյալ տեսքը`
y.y.y.y/zz
որտեղ zz-ն դա ցանցի մասկն է:
Օրինակ եթե մենք պրովայդերից ցանկանում ենք ստանալ միայն 0.0.0.0/0(default route) և ոչ այլ ուրիշ մարշրուտ, ապա պետք է գրենք`
ip prefix-list պրովայդեր-in seq 5 permit 0.0.0.0/0
հետո այդ կանոնը պիտի կիրառենք BGP-ում
neighbor y.y.y.y prefix-list պրովայդեր-in in
որտեղ նշվում ա, որ y.y.y.y “հարևանից” ներս թողնել պրովայդեր-in կանոնի մեջ նշվածը, նշեմ որ վերջի in-ը նշանակում ա հենց ներս թողնել:
նմանատիպ օրինակ, երբ մենք ցանկանում ենք ստանալ միայն որոշ ցանցերի անոնսներ`
ip prefix-list պրովայդեր-in seq 5 permit 192.168.0.0/16
ip prefix-list պրովայդեր-in seq 10 permit 172.16.10.0/25
ip prefix-list պրովայդեր-in seq 15 deny 0.0.0.0/0 le 32
և BGP-ի կարգավորումներում կիրառում ենք հարևանին:
neighbor y.y.y.y prefix-list պրովայդեր-in in
Եւ վերջին օրինակը երբ մենք թույլ ենք տալիս պրեֆիքսների որոշ դիապազոններ իսկ մյուս մասը արգելում ենք:
ip prefix-list պրեֆիքսի_անուն seq 5 deny x.x.x.x/20 ge 21 le 22
այսպիսով պրեֆիքս 20-ի մեջ մենք արգելում ենք պրեֆիքս /21-ը և /22-ը
Իսկ հիմա սահմանափակում դնենք մեր անոնսները արտաքին աշխարհին հայտնելու համար
Ստեղծենք prefix-list դուրս թողարկող (մեր) IP-ների համար 1.1.0.0/20
ip prefix-list our-prefixes seq 10 permit 1.1.1.0/24
և BGP ռոութերի մեջ մեր հարևանին(10.10.10.1) թողարկենք our-prefixes կանոնի մեջի IP բլոկը:
neighbor 10.10.10.1 prefix-list our-prefixes out
Այս ամենը արվում է նրա համար, որպեսզի մեր ռոութերը չթողարկի իրեն հայտնի բոլոր ռոութները (ինչի ամբողջ ինտերնետին հայտարարել ներքին IP-ները):
No comments:
Post a Comment