আমি মনে করি এই নিবন্ধটির মাধ্যমে আমি একটি সমাধান পেয়েছি এবং আইপিসেট এর উত্তর বলে মনে হচ্ছে
যোগফল:
আইপি অ্যাড্রেসগুলির সেটগুলিতে যদি হাজার হাজার আইটেম থাকে তবে iptables এর কার্যকারিতা হ্রাস পায় (আসলে, নেটফিল্টারের পারফরম্যান্স, যত তাড়াতাড়ি iptables ফায়ারওয়াল পরিচালনার জন্য কেবল একটি সরঞ্জাম)। আপনার সিপিইউ লোডও বাড়তে পারে। ভাগ্যক্রমে একটি নিখুঁত সমাধান রয়েছে - আইপসেটস
আইপিসেট হ'ল নিখুঁত সরঞ্জাম:
- একাধিক আইপি অ্যাড্রেস বা পোর্ট নম্বর সংরক্ষণ করুন এবং iptables দ্বারা সংগ্রহের বিরুদ্ধে মিলিয়ে এক চলাফেরায়;
- পারফরম্যান্স জরিমানা ছাড়াই আইপি অ্যাড্রেস বা পোর্টগুলির বিরুদ্ধে আইপিটিবেলের নিয়মগুলি গতিশীলভাবে আপডেট করুন;
- একটি একক iptables নিয়ম সহ জটিল আইপি অ্যাড্রেস এবং পোর্ট ভিত্তিক রোলসেটগুলি প্রকাশ করুন এবং আইপি সেটগুলির গতি থেকে উপকার পাবেন
আইপসেট ইনস্টল করা সোজা এগিয়ে sudo apt-get install ipset
তারপরে নিচেরটি চালান
ipset -N autoban iphash ––hashsize 4096 ––probes 2 ––resize 50
এটি আপনার iptables চেইনে যুক্ত করুন Add আপনার ফায়ারওয়াল সেটিংসের উপর নির্ভর করে এটি পৃথক হতে পারে। এখানে আমরা ইথিন চেইন ব্যবহার করি।
iptables -I ethin 2 -p tcp -m multiport ––dport 80,443 -m set ––match-set autoban src -j DROP
এখন আপনি আপনার আইপসেটে সমস্ত খারাপ আইপি যুক্ত করতে পারেন। উদাহরণস্বরূপ, আপনার কাছে প্রতি লাইনে একটি আইপি সহ bots.txt নামক পাঠ্য ফাইল রয়েছে। সুতরাং আপনি এগুলিকে সাধারণ ব্যাশ স্ক্রিপ্ট ব্যবহার করে আইপসেটে যুক্ত করতে পারেন:
for i in $( cat /tmp/bots.txt ) ; do ipset -A autoban $i ; done
রান পরীক্ষা করতে:
ipset -L autoban