मैं एक ग्राहक से प्राप्त मार्गों के लिए RTBH फ़िल्टर को लागू करने का सबसे सुंदर तरीका खोजने की कोशिश कर रहा हूं ।
फ़िल्टर चाहिए:
- केवल उपसर्ग-सूची से ही ग्राहकों को उपसर्ग स्वीकार करते हैं
- केवल / 32 उपसर्ग स्वीकार करते हैं
- केवल ब्लैकहोल समुदाय के साथ उपसर्ग करता है
- RTBH के अगले-हॉप को अगले-हॉप (192.0.2.1) पर सेट करें
शुरू करने के लिए मैंने जुनिपर से " रूटिंग पॉलिसी की शर्तों में मैचिंग शर्तों को कॉन्फ़िगर करना " दस्तावेज़ देखा।
पहले मैंने prefix-list-filterग्राहकों से उपसर्ग-सूची में केवल मैच मार्गों के संयोजन के बारे में सोचा और एक route-filterस्वीकृत उपसर्गों को / 32 तक सीमित करने के लिए, जैसे:
from {
as-path customer;
community blackhole;
prefix-list-filter customer-prefixes orlonger;
route-filter 0.0.0.0/0 prefix-length-range /32-/32;
}
लेकिन फिर मैं इस जानकारी के बारे में दस्तावेज में ठोकर खाई:
यदि आप किसी ऐसी नीति को कॉन्फ़िगर करते हैं जिसमें रूट फ़िल्टर, प्रीफ़िक्स सूची और स्रोत पते फ़िल्टर के कुछ संयोजन शामिल हैं, तो उनका मूल्यांकन तार्किक या ऑपरेशन या सबसे लंबे समय तक रूट मैच लुकअप के अनुसार किया जाता है।
जैसा कि मैं इसे समझता हूं (और मुझे यह थोड़ा अस्पष्ट लगता है), अगर मैं उपयोग करता हूं prefix-list-filter, route-filterऔर / या source-address-filterएक ही शब्द में इसका मूल्यांकन सबसे लंबे समय तक मिलान या उन सभी के बीच किया जाएगा, जो इस दृष्टिकोण को अनुपयोगी बनाता है ।
क्या मैं के साथ आया है यह निम्नलिखित फिल्टर है। यह hostroutes-onlyशब्द सभी उपसर्गों को अगली नीति से / 32 से कम बताता है। उसके बाद prefixesयदि शब्द / 32 ग्राहक की श्रेणी में है, तो उसका ऐश-पथ से मेल खाता है और ब्लैकहोल समुदाय सेट है:
term hostroutes-only {
from {
route-filter 0.0.0.0/0 prefix-length-range /0-/31;
}
then next policy;
}
term prefixes {
from {
as-path customer;
community blackhole;
prefix-list-filter customer-prefixes orlonger;
}
then {
next-hop 192.0.2.1;
accept;
}
}
तो, क्या इसे संभालने का सबसे सुरुचिपूर्ण तरीका है? कोई और उपाय?