Junos এক্সপোর্ট পলিসি: নামই মিলের শর্ত নয়
EXPORT-STATIC নামের একটি পলিসি নাম দিয়ে কিছুই নির্বাচন করে না। সংযুক্তি, ক্রমবদ্ধ টার্ম ও অ্যাকশন পড়ুন, তারপর ঘোষিত ভিউ মিলিয়ে দেখুন।
কেউ একটি পলিসির নাম EXPORT-STATIC রেখেছে, সেটি সংযুক্ত করেছে, আর এখন ভাবছে কেন VPN রাউটিং ইনস্ট্যান্সের একটি প্রিফিক্স কখনোই দূর প্রান্তে পৌঁছায় না। নামের নির্বাচনে কোনো প্রভাব নেই। একটি পলিসি হলো একটি সংজ্ঞা এবং একটি সংযুক্তি, আর এটি কী এক্সপোর্ট করে তা নির্ধারণ করে এর মিলের শর্ত, এর ক্রমবদ্ধ টার্ম ও এটি ব্যবহারকারী প্রসঙ্গ। এই তিনটি সেই ক্রমে পড়ুন, আর রহস্যটি সাধারণত এমন একটি টার্মে গিয়ে ঠেকে যা কখনো মেলেনি।
নাম একটি লেবেল, শর্ত নয়
Junos পলিসির নাম ব্যাখ্যা করে না। যে পলিসিকে স্ট্যাটিক এক্সপোর্ট বলা যুক্তিযুক্ত, সেটি static প্রোটোকলের সঙ্গে মিলতে পারে, অথবা একটি অ্যাড্রেস প্রিফিক্সের সঙ্গে মিলতে পারে, অথবা কিছুই না মিলিয়ে পথে যা আসে সব গ্রহণ করতে পারে। লেবেলটি হলো যে এটি তৈরি করেছে তার লেখা ডকুমেন্টেশন, আর তা সেই ব্যক্তির উদ্দেশ্য সম্পর্কিত স্মৃতির মতোই নির্ভরযোগ্য।
অপ্রত্যাশিত এক্সপোর্ট ফলাফলকে সংজ্ঞা পড়ার অনুরোধ হিসেবে নিন, সংযুক্তি ভাঙা হয়েছে তার প্রমাণ হিসেবে নয়। সংজ্ঞাটি পড়ুন এবং লেবেলের সঙ্গে তার বিরোধ ঘটতে দিন।
টার্মের আগে সংযুক্তি খুঁজুন
সঠিক সংজ্ঞা ভুল জায়গায় সংযুক্ত হলে অন্য একটি বিনিময় বদলে যায়। কোন রাউটিং ইনস্ট্যান্স, প্রোটোকল এবং নেইবার বা গ্রুপ সত্যিই পলিসিটির প্রতি রেফার করে তা নির্ণয় করুন, কারণ একটি BGP গ্রুপের অধীনে সংযুক্ত পলিসি অন্যটিকে প্রভাবিত করে না, আর ইনস্ট্যান্সে সংযুক্ত পলিসি তার ভেতরের প্রতিটি প্রোটোকলে অপরিহার্যভাবে প্রযোজ্য হয় না। Junos এই স্তরগুলিকে পৃথক করে, আর যখন উদ্দেশ্য ইনস্ট্যান্স স্তরে প্রকাশ করা হয় তখন গ্রুপ স্তরে এক্সপোর্ট অনুপস্থিত থাকা সাধারণ ব্যাপার।
একটি টার্ম পড়ার আগেই সংযুক্তির পথ লিখে নিন। এই তদন্তগুলির অর্ধেক সেখানেই শেষ হয়, সংজ্ঞা অপরিবর্তিত থাকে আর এক্সপোর্ট স্টেটমেন্ট সরে যায়। পরিবর্তন লগে পার্থক্যটি লিখুন যাতে কেউ এটি ভুল ভেবে ফিরিয়ে না দেয়।
টার্ম ক্রমে মূল্যায়িত হয়, আর প্রথম সিদ্ধান্তই জেতে
টার্ম প্রথম থেকে শেষ পর্যন্ত চলে, আর যে টার্ম গ্রহণ বা প্রত্যাখ্যান করে তা একটি সমাপ্তকারী সিদ্ধান্ত। উদ্দিষ্ট ব্যতিক্রমের মতো দেখতে পরের টার্ম কখনো চলে না যদি আগের কোনো টার্ম ইতিমধ্যে রুটের ভাগ্য নির্ধারণ করে থাকে, তাই একটি পলিসি উপর থেকে নিচ পর্যন্ত সঠিকভাবে পড়া যেতে পারে এবং তবুও উদ্দেশ্যের বিপরীতে আচরণ করতে পারে। আপনার আগ্রহের রুটের বিপরীতে ক্রমটি যাচাই করুন, টার্মগুলি যে ক্রমে লেখা হয়েছিল তার বিপরীতে নয়।
যে টার্ম নিজের অ্যাকশন বাদ দেয় তা সমাপ্ত করে না; মূল্যায়ন পরের টার্মে চলতে থাকে, আর চূড়ান্ত ফলাফল নির্ভর করে এর পরে কী আছে এবং প্রযোজ্য ডিফল্টের উপর। এটি সত্যিই উপযোগী একটি গঠন এবং অনিচ্ছাকৃত হলে আশ্চর্যের একটি নির্ভরযোগ্য উৎস।
একটি উদাহরণ যা কেবল স্ট্যাটিক রুট এক্সপোর্ট করে, সংযুক্তি গ্রুপে:
policy-options {
policy-statement EXPORT-STATIC {
term statics { from protocol static; then accept; }
}
}
protocols bgp group TO-PEER { export EXPORT-STATIC; }OSPF দ্বারা শেখা এবং স্ট্যাটিক রুট হিসেবে কনফিগার না করা একটি প্রিফিক্স মিলে ব্যর্থ হয় ও পড়ে যায়, পলিসির নাম যা-ই হোক।
অ্যাকশন কপি বদলায়, মূল রুট নয়
পলিসি অ্যাকশন সেই রুটের উপর কাজ করে যেভাবে সেটি ওই ঘোষণার জন্য মূল্যায়িত হয়, যা রাউটিং টেবিলের এন্ট্রি নয় বরং একটি কপি। তাই স্থানীয় show route একটি অ্যাট্রিবিউট সেটসহ রুট দেখাতে পারে, অথচ এক্সপোর্ট করা সংস্করণ ভিন্ন অ্যাট্রিবিউট বহন করে, আর মূলটি এক্সপোর্ট দ্বারা পুনর্লিখিত হয় না। এই পার্থক্যই কার আউটপুট সঠিক, এ নিয়ে কয়েকটি বিতর্ক ব্যাখ্যা করে: দুটিই সঠিক, এবং তারা ভিন্ন বস্তু বর্ণনা করে। দুই প্রকৌশলী যখন রুট অ্যাট্রিবিউট নিয়ে দ্বিমত পোষণ করেন তখন বলুন আপনি কোন ভিউ উদ্ধৃত করছেন।
গ্রহণ ও প্রত্যাখ্যান সমাপ্তকারী সিদ্ধান্ত; অ্যাট্রিবিউট পরিবর্তন অপরিহার্যভাবে তা নয়। ধরে নেবেন না যে কমিউনিটি সেট করলেই পলিসি শেষ হয়, কারণ মূল্যায়ন আপনার বিবেচনার বাইরের টার্মেও চলতে পারে।
ঘোষিত ভিউয়ের সঙ্গে প্রত্যাশা মিলিয়ে দেখুন
প্রকৃত পিয়ারে প্রোটোকল-নির্দিষ্ট ভিউ ব্যবহার করুন, যেমন show route advertising-protocol bgp 192.0.2.1, এবং সেটি সঠিক রাউটিং-ইনস্ট্যান্স প্রসঙ্গে পড়ুন। VRF-তে থাকা রুট অপরিহার্যভাবে এক্সপোর্ট পলিসি পার হয়নি, আর ঘোষিত আউটপুটে দেখা যাওয়া রুট অপরিহার্যভাবে দূর প্রান্ত কর্তৃক গৃহীত হয়নি। এগুলি তিনটি পৃথক অবস্থা এবং ভিন্নভাবে ব্যর্থ হয়।
এমন নকশা গ্রহণ করুন যেখানে একটি প্রিফিক্স অবশ্যই ঘোষিত হবে আর একটি স্থানীয় থাকবে। এতে পলিসি একটি চুক্তি পায় যা আপনি পরীক্ষা করতে পারেন, আর একটি নির্দিষ্ট নামের রুট শেষ পর্যন্ত না আসা পর্যন্ত এক্সপোর্ট প্রশস্ত করার বিকল্প সমাধান এড়ানো যায়।