কনফিগারেশনটি প্রথম দেখায় যুক্তিসঙ্গত মনে হয়:

acl team_a myportname 3128 src 198.51.100.0/24

কিন্তু ACL সংজ্ঞার একটিই ধরন থাকে। এখানে myportname হলো ধরন; src শব্দটি যোগ করলে দ্বিতীয় পরীক্ষা শুরু হয় না। বাকি শব্দগুলো প্রথম ধরনের মান-তালিকার অন্তর্গত। ওই লাইনটি “এই listener ও এই ক্লায়েন্ট নেটওয়ার্ক” বোঝায় না।

প্রতিটি শর্তের একটি নাম দিন

শোনা socket-এর জন্য একটি নাম এবং উৎসের জন্য আলাদা ACL ব্যবহার করুন। এই অংশে ডকুমেন্টেশনের ঠিকানা ব্যবহার করা হয়েছে, যা স্থাপনার উপযুক্ত ঠিকানা দিয়ে প্রতিস্থাপন করতে হবে:

http_port 192.0.2.10:3128 name=team_a_port
acl team_a_port myportname team_a_port
acl team_a_clients src 198.51.100.0/24

http_access allow team_a_port team_a_clients
http_access deny all

অনিরাপদ গন্তব্য পোর্ট, সীমিত CONNECT লক্ষ্য ও ব্যবস্থাপনা প্রবেশের বিদ্যমান সুরক্ষার পরে allow নিয়মটি রাখুন। অংশটি client/listener শর্তটি দেখায়; এটি সেই সুরক্ষাগুলোর বিকল্প নয়।

একটি http_access লাইনের শর্তগুলো AND দিয়ে যুক্ত হয়। দুটি আলাদা allow লাইন প্রতিটি শর্ত স্বাধীনভাবে অনুমোদন করত, যা নীতিমালা অনেক বদলে দিত। একটি ACL-এর ভিতরে একাধিক মান সাধারণত ওই একক পরীক্ষার বিকল্প দেয়।

বহির্গমন আলাদাভাবে বাছুন

মিলে যাওয়া listener tcp_outgoing_address দিয়েও স্থানীয় উৎস ঠিকানা বাছাই করতে ব্যবহার করা যায়। এটি routing নির্বাচন, প্রক্সি ব্যবহারের অনুমতি নয়। outgoing-address নিয়ম প্রত্যাখ্যাত অনুরোধকে http_access দিয়ে পার হতে দিতে পারে না।

কোনো multi-address কনফিগারেশন upgrade-এর পরে কাজ করা বন্ধ করলে প্রমাণগুলো আলাদা করুন: parse ত্রুটি configuration syntax দেখায়; access denial rule matching দেখায়; ভুল exit নিয়ে অনুমোদিত অনুরোধ outgoing selection বা পরবর্তী NAT দেখায়। তিনটিই একসঙ্গে বদলালে ছোট ACL ভুল খুঁজে পাওয়া অনেক কঠিন হয়।

সম্পর্কিত নিবন্ধ