Saturday, June 22, 2019

Standard ACL এবং Extended ACL কনফিগারেশন

এবার আমরা দেখব কিভাবে ACL কে কনফিগারেশন করতে হয় আমরা এর আগে ACL সম্পর্কে বিস্তারিত আলোচনা করেছি । এবার কি ভাবে তা কনফিগার করতে হয় সেই সম্পর্কে আলোচনা করব। প্রথমে আমরা Standard ACL কিভাবে করফিগার করতে হয় তা দেখব । আমরা নিচের চিত্রের মত একটি টপোলজি নিলাম ।

আপনারা উপরের চিত্রে দেখতে পাচ্ছেন এখানে কিছু কম্পিউটার, সার্ভার রয়েছে । আমরা চাচ্ছি যে এখানে যে PC-7 রয়েছে তা ‍Server2 এর সাথে যোগায়োগ করতে পারবে না । প্রথমে আমরা Standard ACL এর মাধ্যমে এই কনফিগারেশনটি দেখবে এবং তার পরে Extended ACL এর মাধ্যমে এই কনফিগার দেখব।

আমি অগেই এই টপোলজিতে সমস্থ রাউটার ও পিসি গুলিতে আইপি অ্যাড্রেস দিয়ে কনফিগার করে নিয়েছি এবং সেই সাথে এখানে আমি রাউটিং প্রোটকল হিসেবে স্টাটিক রাউটিং প্রোটকলটি রান করেছি। আপনারা চাইলে যে কোন রাউটিং প্রোটকল রান করাতে পারেন। আমরা যেহেতু এর আগেই দেখিছি কিভাবে রাউটারের ইন্টারফেসে অ্যাইপি অ্যাড্রেস দিতে হয় এবং তার ইন্টারফেস গুলিকে অন করতে হয়। তাই আমি নতুন করে তা আর দেখালাম না । আমরা ডাইরেক্ট ACL কনফিগারে চলে যাব ।
ACL BANGLA TUTORIAl

Standard ACL

আমরা PC-7 কে Server2 এর জন্য ব্লক করব । PC-7 সকল হোস্ট এর সাথে যোগাযোগ করতে পারবে কিন্তু Server2 এর সাথে যোগাযোগ করতে পারবে না । আমরা যদি ACL কে কনফিগার করার আগে PC-7 থেকে Server2 কে Ping করি তাহলে দেখতে পাব যে Ping হচ্ছে ।


আপনারা উপরের চিত্রে দেখতে পাচ্ছেন আমরা PC-7 থেকে Server2 কে ping করলে Ping হচ্ছে এবং TTL ভালু পাওয়া যাচ্ছে। আমরা যদি PC-7 এর সমস্থ প্যাকেটকে Server2 এর জন্য ব্লক করতে চাই তাহলে Standard ACL এর ক্ষেত্রে আমরা জানি যে Standard ACL কে যতটা সম্ভব হোস্ট এর নিকটে Apply করতে হয়। সুতরাং আমরা Standard ACL কে Router 4 এর FastEthernet 0/0 তে ইমপ্লিমেন্ট করতে পারি। চলুন তাহলে দেখে নিই কিভাবে এই কনফিগার করতে হয়।

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0
Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255

এখানে উপরের যে কমান্ডটি দেখতে পাচ্ছেন এর মাধ্যমে আমরা একটি access list ক্রিয়েট করলাম। এখানে access-list 1 এর 1 হচ্ছে ACL এর যে রেঞ্জ রয়েছে সেই রেঞ্জ নাম্বার । আমরা জনি যে Standard ACL এর ক্ষেত্রে এই রেঞ্জ হল 1-99 এবং 1300-1999 পর্যন্ত। এই রেঞ্জ এর যেকোন নাম্বার ব্যাবহার করলে রাউটার বুঝতে পারে যে এটা Standard ACL। #access-list 1 deny 192.168.4.2 0.0.0.0 এখানে access-list 1 মানে ত বুঝলাম এর পর deny মানে হচ্ছে এই যে access-list 1টা রয়েছে তার পারমিশন হল deny এবং কার জন্য deny করা হল তার ‍Source Address কি? সেটা হল 192.168.1.2, এবং তার Wildcard mask হল 0.0.0.0 । আমরা জানি ACL কে রাউটারের ইন্টারফেসে ইমপ্লিমেন্ট করতে হয় । আমরা Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0 এই কমান্ডটি ব্যবহার করলাম প্যাকেটকে ব্লক করার জন্য এবং যে সকল প্যাকেটকে ব্লক করতে চাইনা তাদের জন্য ত একটি পারমিট কমান্ড দিতে হবে । তার জন্য আমরা এই কমান্ডটি ইউজ করেছি Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255 এখানে access-list 1 কে আমরা পামিট করলাম কোন নেটওয়ার্ক এর জন্য? যে কোন নেটওয়ার্ক এর জন্য এবং যে কোন সাবনেট মাক্স এর জন্য শুধু মাত্র 192.168.1.2 এই Address টি ছাড়া।
  1. Router(config)#access-list 1 deny 192.168.4.2 0.0.0.0
  2. Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255
এখানে আমরা উপরের এই দুটি কমান্ড এর মাধ্যমে একটি ‍অ্যাকেসেস লিষ্ট ক্রিয়েট করলাম যার মাধ্যমে 192.168.4.2 এর সমস্থ প্যাকেটকে block করলাম এবং অন্য সকল এর জন্য allow করলাম।

আমরা এখানে একটি access-list 1 যেটা  ক্রিয়েট করলাম এবার এটাকে Router 4 এর এর FastEthernet 0/0 তে ইমপ্লিমেন্ট করব।

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip access-group 1 out

এখানে আমরা acces-list 1 কে ip access-group 1 এর মাধ্যমে Apply করলাম যার ডাইরেকশন হবে out। অর্থাৎ প্যাকেটটি যখন Route 4 এর FastEthernet 0/0 ইন্টারফেস দিয়ে বের হতে চাইবে তখন Router 4 তাকে ব্লক করে দিবে। এখন যদি আমরা PC-7 থেকে Server2 কে ping করি।

ACL BANGLA TUTORIAl

আপনারা দেখতে পাচ্ছেন যে PC-7 Server 2 কে Ping করতে পাতেছে না । আমাদের Replay আসতেছে Destination host unreachable. একই সাথে আমাদের যে PC 5 টি রয়েছে তাও কিন্তু ব্লক হয়ে গেছে। PC-5 এর ক্ষেত্রেও Replay আসতেছে Destination host unreachable. যেহেতু Standard ACL শুধুমাত্র Source Address নিয়ে কাজ করে তাই আমরা চাইলেও এর মাধ্যমে কোন Specific কোন হোস্ট কে ব্লক করতে পারি না । এটা আমরা Standard ACL এর একটি সিমাবদ্ধাও বলতে পারি।

Extended ACL

Extended ACL যেহেতেু শুধুমাত্র সোর্স অ্যাড্রেস নিয়ে কাজ করে না, সে একই সাথে Source Address, Destination Address, Port Address এবং Protocol স্পেসিফিক কাজ করতে পারে তাই আমরা যে কোন স্পেসিফিক হোস্ট এর জন্য প্যাকেটকে ফিল্টারিং করতে পারি। আর আমরা জানি যে Extended ACL কে যতটা সম্ভব Source এর নিকটে Apply করতে হয় ।

আমরা যদি আগের মতই PC-7 কে Server2 এর জন্য ব্লক করতে চাই তাহলে Extended ACL কে Router 3 এর FastEthernet ইন্টারফেস Fa0/1 এ ইমপ্লিমেন্ট করতে পারি কারণ এই হল Source PC-7 এর সবচেয়ে নিকটের ইন্টারফেস। আমরা যদি চায় তাহলে Router 4 এর FastEthernet Fa0/0 তেও ইমপ্লিমেন্ট করতে পারি তাতে নেটওয়ার্কে ট্রাফক বাড়বে এবং নেটওয়ার্ক স্লো হয়ে যাবে। আর যদি Router 3 এর FastEthernet ইন্টারফেস Fa0/1 এ ইমপ্লিমেন্ট করি তাহলে সেই প্যাকেটটিকে আর সামনে যেতে দিবে না ফলে নেটওয়ার্ক এর ট্রাফিক কমে যাবে। আমরা নিচে Router 3 তে কিভাবে Extended ACL কে ইমপ্লিমেন্ট করতে হয় তা দেখি

Extended ACL Configuration Code:

Router>
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 100 deny ip host 192.168.4.2 host 192.168.1.2
Router(config)#access-list 100 permit ip any any

এখানে আমরা একটি Extended ACL এর Access List ক্রিয়েট করলাম । আমরা যদি এখানে এই “Router(config)#access-list 100 deny ip host 192.168.4.2 host 192.168.1.2” কোডটি নিয়ে বিস্তারিত আলোচনা করি তাহল প্রথমে আসে access-list 100, এখানে এটি হল Access list এর নাম্বার য 100, কারণ যেহেতু এটি Extended ACL আর Extended ACL  এর ক্ষেত্রে আমরা জানি যে তার রেঞ্জ হল 100-199 এবং 2000-2699 পর্যন্ত যে কোন নাম্বার আমরা ব্যবহার করতে পারব। এর পর আছে deny, এখানে deny মানে হচ্ছে তার পারমিশন হচ্ছে ব্লক । এর পর আছে ip host এখানে আমরা ip any, ip source address ও ব্যবহার করতে পারি । যেহেতু আমরা একটি সিঙ্গেল হোস্ট এর জন্য কাজ ACL কে ইমপ্লিমেন্ট করতেছি তাই এখানে ip host ব্যাবহার করা হয়েছে। এরপর আছে সোর্স আড্রেস । আমাদের সোর্স হল 192.168.4.2 এবং তার পর host destination Address, আমাদের destination address  হল 192.168.1.2।

এখানে আমরা একটি Access List ক্রিয়েট করলাম এবার এটিকে আমাদের Apply করতে হবে । নিচে তার কোড দেওয়া হল । আমরা গ্লোবাল কনফিগারেশন মোডে গিয়ে যে ইন্টারফেসে ACL কে ইমপ্লিমেন্ট করতে চাই সেই ইন্টারফেসটিকে সিলেক্ট করি।
Router(config)#int fa 0/1
Router(config-if)#ip access-group 100 in
Router(config-if)#

এখানে আমরা Router 3 এর FastEthernet Fa0/1 এ ACL কে ইমপ্লিমেন্ট করব। তা এখানে আমরা Router(config)#int fa 0/1

এই কোডটি ব্যবহার করেছি । এর পরRouter(config-if)#ip access-group 100 in” এখানে ip access-group 100 এই কমান্ডটির মাধ্যমে আমরা কোন রেঞ্জ এর ACL কে ইমপ্লিমেন্ট করব তা সিলেক্ট করলাম এবং তার Direction কি হবে সেটা এখানে দেওয়া হয়েছে in। অর্থাৎ প্যাকেটগুলি এই ইন্টারফেসে প্রবেশ করবে। যদি এই ইন্টারফেস দিয়ে বের হয়ে যেত তাহলে তার direction হত out.
এবার যদি আমরা PC-7 থেকে Server 2 কে ping করি তাহলে দেখতে পাব যে ping হবে না কিন্তু PC-5 এর সাথে ping হবে। যেটা Standard ACL এর ক্ষেত্রে হত না ।


এবার আমরা যদি চাই যে এই Access list টি রাখব না, খুব সহজ রাউটারের গ্লোবাল কনফিগারেশন মোডে গিয়ে টাইপ করুন “no access-list 100” এখানে 100 এর জয়গায় আপনার ACL এর যে রেঞ্জ হবে তা দিতে হবে।

আমরা দেখলাম যে কোন হোস্টকে কিভাবে অন্য কোন হোস্ট এর জন্য ব্লক করতে হয় । এবার আমরা যদি চাই যে PC-5 Server-2 কে ping করবে, কিন্তু তার ওয়েবপেজ ওপেন করতে পারবে না। অর্থাৎ তার ওয়েব পেজ অ্যাকসেস করতে পারবে না। চলুন দেখি কিভাবে এটা করতে হয়। তার আগে অবশ্যই আমরা আগের Access list টিকে Remove করে দিব। আমরা একটু দেখে নিই PC-5 থেকে আমরা তার ওয়েব পেজটিকে ওপেন করতে পারি কিনা ।


আপনারা উপরের চিত্রে দেখতে পাচ্ছেন আমরা Server-2 ওয়েবপেজটিকে ওপেন করতে পারতেছি । এবার আমরা PC-5 এর http প্রোটকলটিকে Server-2 এর জন্য বন্ধ করে দিব। যতে করে সে আর Server 2 এর ওয়েব পেজটিকে ওপেন করতে না পারে।

Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 100 deny tcp host 192.168.4.2 host 192.168.1.2 eq 80
Router(config)#access-list 100 permit ip any any
Router(config)#int fa 0/1
Router(config-if)#ip access-group 100 in
Router(config-if)#

আমরা যদি উপরের কোড এর দিকে ভাল ভাবে খেয়াল করি তাহলে এখানে সবকিছু আগরে মত্ই, ভিন্ন দুটি জিনিস দেখতে পাচ্ছি তা হল tcp এবং eq 80। চলু আমরা একটু বিষয়টি সম্পর্কে ভালভাবে জানি। আমাদের এখনে মূল কাজ কি? http প্রোটকলকে ব্লক করা, http প্রোটকল যেহেতু TCP মোড এ থাকে তাই আমরা এখানে tcp ব্যবহার করেছি। এর পর eq 80 এখানে eq একটি অপারেটর যার মানে হচ্ছে equal. এখানে আমরা আরো কিছু অপারেটর ব্যবহার করতে পারি যেমন neq = not equal, lt = less then, gt = greater then. যেহেতু আমাদের http protocol এর port number 80 তাই এখানে আমরা 80 ব্যবহার করেছি। আমরা যে প্রোটকলকে ব্লক করতে চাই এখানে আমরা সেই প্রোটকল এর পোর্ট নাম্বার ব্যবহার করব ।

এবা চলুন দেখি যে আমরা Server-2 এর ওয়েব পেজ ওপেন করতে পারি কিনা।


দেখতে পাচ্ছেন আমরা তার ওয়েব পেজটিকে ওপেন হচ্ছেনা। কিন্তু আমরা যদি Server 2 কে ping করি তাহলে দেখব ping হবে।


এভাবে আমরা যে কোন প্রোটকলকেও ব্লক করতে পারি । আশা করি আপনারা ACL সম্পর্কে খুব ভাল একটি ধারণা পেয়েছেন।

No comments:

Post a Comment