আমি iptables নিয়মের একটি নির্দিষ্ট সেট স্থায়ীভাবে কীভাবে করব?


42

কয়েকটি iptables নিয়ম স্থায়ী করার জন্য কি কোনও "সেরা অনুশীলন" বা মানক রয়েছে? মানে: একটি সিস্টেম পুনরায় বুট করার পরে স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয়েছে?

আমি উবুন্টু সার্ভার 10.04 এলটিএস (লুসিড লিংক) সহ একটি ভিপিএস ব্যবহার করছি।

ধন্যবাদ.

বড় সম্পাদনা: আমি চাই না যে কোনও নিয়ম স্থির থাকে (যেমন iptables-persistentপ্যাকেজের মতো হয়)। আমি চাই যে কেবলমাত্র আমার নিজস্ব নির্দিষ্ট সেটটি পুনরায় লোড করা হবে ... যদি অন্য নিয়মগুলি শেষ পর্যন্ত iptables চালিয়ে যুক্ত করা হয় তবে এগুলি বাতিল করা উচিত ...

উত্তর:


51

সর্বাধিক সহজ পদ্ধতিটি হ'ল ফাইলগুলিতে সংজ্ঞায়িত iptables নিয়মগুলি সংরক্ষণ করতে iptables-save এবং iptables- بحال ব্যবহার করা এবং (পুনরায় বুট করার পরে) সেগুলি লোড করুন (যেমন, পুনরায় বুট করার পরে)।

সুতরাং, উদাহরণস্বরূপ, আপনি চালানো হবে

sudo iptables-save | sudo tee /etc/iptables.conf

আপনার বর্তমান iptables নিয়মগুলি সংরক্ষণ করুন /etc/iptables.confএবং তারপরে এই লাইনগুলি সন্নিবেশ করান /etc/rc.local:

# Load iptables rules from this file
iptables-restore < /etc/iptables.conf

2
+1 আপনার উত্তর আমার মূল প্রশ্নের সাথে নিখুঁত। এটি আমাকে সত্যিকার অর্থেই বুঝতে চাইছে, তাই আমাকে "আইপিটেবল নিয়ম কীভাবে স্থায়ী করতে পারি?" থেকে প্রশ্নটি পরিবর্তন করতে হয়েছিল? "আমি iptables নিয়মের একটি নির্দিষ্ট সেট স্থায়ীভাবে কীভাবে করব?"
জে ব্রুনি

আপনি যদি পারেন তবে দয়া করে, প্রশ্নের উত্তরটি প্রতিফলিত করতে আপনার উত্তরে কিছুটা সম্পাদনা করুন ... আমি এটি গ্রহণ করে খুশি হব! আমাকে iptables-saveএকবার ব্যবহার করতে হবে এবং সর্বদা পুনরায় লোড করতে হবে (iptables-بحال at /etc/rc.local ভাল লাগে)।
জে ব্রুনি

1
আপনি permission deniedযখন ব্যবহার করার চেষ্টা করছেন আপনি যদি তা পেয়ে থাকেন >তবে এই স্ট্যাক ওভারফ্লো উত্তরটি কার্যকর হবে।
ডেভিড টুয়েট

2
sudo sh -c "iptables-save > /etc/iptables.conf"পরিবর্তে ব্যবহার করুনsudo iptables-save > /etc/iptables.conf
রজত গুপ্ত

31

আপনি এখন 12.04 ব্যবহার করছেন এবং বিষয়গুলি আরও ভাল হতে পারে এটির একটি দ্রুত আপডেট।

iptables-persistentপ্যাকেজ এখন এই সমস্যা solves। স্থাপন করা,

sudo apt-get install iptables-persistent

প্যাকেজ ইনস্টল হওয়ার পরে সংজ্ঞায়িত নিয়মগুলি প্রতিটি পরবর্তী বুটগুলিতে সংরক্ষণ করা হয় এবং ব্যবহৃত হয়। লোড হওয়া নতুন নিয়মগুলি পুনরায় বুট করার সময় বাতিল করা হয়।

কনফিগার ফাইলটি যদি আপনার সেগুলি পরিবর্তন করতে হয় (একবার iptables-persistentইনস্টল করা হয়) হয় /etc/iptables/rules.v4বা /etc/iptables/rules.v6যথাক্রমে ipv4 এবং ipv6 iptables এর জন্য।


আপনি যদি /etc/iptables/rules.v4এটিকে সম্পাদনা করেন তবে কীভাবে আপনি এটি প্রয়োগ করবেন [সরকারিভাবে]? বর্তমানে আমি করছিsudo iptables-restore < /etc/iptables/rules.v4
ব্রুনো ব্রোনোস্কি

24

Iptable এর নিয়মগুলি সংরক্ষণ করার পরে /etc/rc.localএকটি লাইন যুক্ত করা আরও ভাল/etc/network/interfaces

post-up iptables-restore < /etc/iptables.up.rules

অথবা এটি ফাইল ভিতরে লাগাতে একই /etc/network/if-down.d/বা /etc/network/if-post-down.d/বা /etc/network/if-pre-up.d/বা /etc/network/if-up.d/


1
@ ক্রেকার: দয়া করে স্পষ্ট করে বলুন, পুনরুদ্ধার স্ক্রিপ্টটি কার্যকর করার চেয়ে আপনার পদ্ধতিটি কীভাবে ভাল rc.local? অন্য পদ্ধতি কিছু ক্ষেত্রে কাজ করে না?
রজত গুপ্ত

2
নেটওয়ার্ক কনফিগারেশনে এটি যুক্ত করা আপনার "পরিষেবা নেটওয়ার্কিং পুনরায় চালু" কমান্ডটি চালানোর পরে এটি পুনরায় লোড হওয়ার কারণ করে। এটি সিস্টেম শুরুর মধ্যে সীমাবদ্ধ নয়।
কে ড্যারিন ফ্রিহার্ট

4
একটি ইন্টারফেস নীচে নেমে যাওয়ার পরে কেন একটি পোস্ট-আপ iptables- পুনরুদ্ধার করবে?
আলফাডোগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.