কার্নেলের iptables সম্পূর্ণ খালি ( iptables -F) সহ, এটি আপনার জিজ্ঞাসাটি করবে:
# iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -s 127.0.0.0/8 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j DROP
এটি বলছে যে সমস্ত ল্যান ঠিকানা টিসিপি পোর্ট ২২ এর সাথে কথা বলার অনুমতি দেওয়া হয়েছে, লোকালহোস্ট একই বিবেচনা পায় (হ্যাঁ, 127. * শুধু 127.0.0.1 নয়), এবং প্রথম দুটি নিয়মের সাথে মেলে না এমন প্রতিটি অন্য ঠিকানা থেকে প্যাকেটগুলি বিন্যাসে ফেলে দেওয়া হবে বিট বালতি । আপনি যদি প্যাকেটের জন্য টিসিপি পোর্ট 22 ব্ল্যাকহোল তৈরির পরিবর্তে একটি সক্রিয় প্রত্যাখ্যান (টিসিপি আরএসটি) চান তার REJECTপরিবর্তে আপনি ব্যবহার করতে পারেন DROP।
যদি আপনার ল্যানটি 192.168.0 ব্যবহার করে না * * ব্লক, আপনার ল্যানের আইপি স্কিমটি মিলানোর জন্য আপনাকে স্বাভাবিকভাবেই প্রথম লাইনে আইপি পরিবর্তন করতে হবে এবং মাস্কটি লাগাতে হবে।
আপনার ফায়ারওয়ালটিতে ইতিমধ্যে কিছু নিয়ম কনফিগার করা থাকলে এই কমান্ডগুলি আপনি যা করতে চান তা করতে পারে না। ( iptables -Lএটি জানতে মূল হিসাবে বলুন )) প্রায়শই যা ঘটে তা হ'ল বিদ্যমান বিধিগুলির একটির মধ্যে আপনি যে প্যাকেটগুলি ফিল্টার করার চেষ্টা করছেন তা ধরে ফেলে, যাতে নতুন বিধিগুলি যুক্ত করার কোনও প্রভাব থাকে না। আপনি ব্যবহার করতে পারেন যদিও -Iপরিবর্তে -Aসঙ্গে iptablesকমান্ড পরিবর্তে তাদের সংযোজন একটা চেন মধ্যম মধ্যে নতুন নিয়ম সংযুক্ত করান, এটা সাধারণত ভাল কিভাবে চেইন সিস্টেম বুট জনবহুল পেতে জানতে এবং যে প্রক্রিয়া সংশোধন, তাই আপনার নতুন নিয়ম সবসময় ইনস্টল করতে হয় তা সঠিক ক্রম।
RHEL 7+
সাম্প্রতিক আরএইচইএল টাইপ সিস্টেমে এটি করার সর্বোত্তম উপায় হ'ল ব্যবহার করা firewall-cmdবা এর জিইউআই সমতুল্য। এই OS এর বলে firewalldডেমন কি আপনি চান, যা আসলে মান এবং নিপূণভাবে ব্যবহার করেন কি মাধ্যমে দেখতে iptables -L।
RHEL 6 এবং এর আগের
পুরানো আরএইচইএল টাইপ সিস্টেমে, বিষয়গুলি অর্ডার করার সময় ফায়ারওয়াল চেইনগুলি সংশোধন করার সবচেয়ে সহজ উপায় হ'ল সম্পাদনা করা /etc/sysconfig/iptables। ওএসের জিইউআই এবং টিইউআই ফায়ারওয়াল সরঞ্জামগুলি বরং সরলসাধ্য, সুতরাং আপনি যখন আরও জটিল নিয়মগুলি যুক্ত করা শুরু করেন তবে ভাল পুরানো কনফিগারেশন ফাইলে ফিরে যাওয়া ভাল। সাবধান, একবার আপনি এটি করা শুরু করার পরে, আপনি যদি কনফিগারেশনটি সংশোধন করতে ওএস এর ফায়ারওয়াল সরঞ্জামগুলি ব্যবহার করেন তবে আপনার পরিবর্তনগুলি হারাতে ঝুঁকিপূর্ণ হবে, যেহেতু এই জাতীয় হস্তশিল্পের নিয়মগুলি কীভাবে মোকাবেলা করতে হবে তা এটি জানেন না।
এই ফাইলটিতে এই জাতীয় কিছু যুক্ত করুন:
-A RH-Firewall-1-INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --dport 22 -s 127.0.0.0/8 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --dport 22 -j DROP
আপনি যেখানে এটি যুক্ত করেন তা কিছুটা জটিল। যদি আপনি সেই ফাইলটির সাথে কথা বলার একটি লাইন খুঁজে পান তবে --dport 22কেবল উপরের তিনটি লাইন দিয়ে এটি প্রতিস্থাপন করুন। অন্যথায়, এটি সম্ভবত প্রথম বিদ্যমান লাইনটি শেষ হওয়ার আগে চলে যাওয়া উচিত -j ACCEPT। সাধারণত, আপনাকে iptables কীভাবে কাজ করে তার সাথে কিছুটা পরিচিতি অর্জন করতে হবে , যেখানে সঠিক সন্নিবেশ পয়েন্টটি সুস্পষ্ট হবে।
সেই ফাইলটি সংরক্ষণ করুন, তারপরে service iptables restartফায়ারওয়াল বিধিগুলি পুনরায় লোড করতে বলুন । কনসোলে লগ ইন করার সময় এটি করতে ভুলবেন না, যদি আপনি সম্পাদনাগুলিকে ফ্যাট-ফিঙ্গার করেন! আপনি এসএসএইচ-এ লগ ইন করার সময় নিজেকে নিজের মেশিন থেকে লক করতে চান না।
উপরের কমান্ডগুলির সাথে সাদৃশ্য কোনও কাকতালীয় নয়। এই ফাইলটির বেশিরভাগটিতে iptablesকমান্ডের সাথে যুক্তি রয়েছে । উপরের তুলনায় পার্থক্যগুলি iptablesহ'ল কমান্ডটি বাদ পড়ে এবং INPUTচেইনের নামটি বিশেষ RHEL- নির্দিষ্ট RH-Firewall-1-INPUTচেইনে পরিণত হয়। (আপনি যদি আরও বিশদে ফাইলটি পরীক্ষা করার বিষয়ে চিন্তা করেন তবে আপনি আগে ফাইলটি দেখতে পাবেন যেখানে তারা মূলত INPUTশৃঙ্খলাটির নাম পরিবর্তন করে দিয়েছে Why কেন? বলা যায়নি))