উবুন্টু 12.04 এ আইপটিবলের রুলসেটগুলি কোথায় সঞ্চয় করা হয়?


8

উবুন্টু 12.04 এলটিএস - iptables v1.4.12

TLDR:

যখন প্রার্থনা করা হয় তখন আইপটিবলের রুলসেটগুলি কোথায় সংরক্ষণ করা হয় iptables-save <ruleset-name>?

ব্যাখ্যা :

এই উত্তর অনুসারে iptables এর নিয়ম সংরক্ষণের মৌলিক উপায়টি চাওয়া হয়

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

এবং তারপরে এই নিয়মগুলি লোড / পুনঃস্থাপনের /etc/network/interfacesমতো:

iface eth0 inet static
        ....
        pre-up iptables-restore < /etc/iptables/rules.v4
        pre-up ip6tables-restore < /etc/iptables/rules.v6

... বা এগুলি একটি শেল স্ক্রিপ্টে রেখে /etc/network/if-pre-up.d।


এটি iptables-persistentপ্যাকেজ ইনস্টল করে সহজ করা যেতে পারে ।

sudo apt-get install iptables-persistent
inovoke-rc.d iptables-persistent save
update-rc.d iptables-persistent defaults

কিছু টিউটোরিয়াল অনুসরণ করার পরে আমি অনুরোধ করার চেষ্টা করেছি service iptables status( iptables12.04-র সাথে পূর্ব- ইনস্টলিত সংস্করণ / প্যাকেজের জন্য একটি অ অস্তিত্বহীন / অজানা কমান্ড ) এবং এই আকর্ষণীয় আউটপুটটি পেয়েছি:

Aborting iptables initd: unknown command(s): "status".                                                               
  ...                                                                                  
  save <ruleset>                                                                                                    
     save the current ruleset                                                                                       
  load <ruleset>                                                                                                    
     load a ruleset                                                                                                 
   ...                                                                                                   
Saved rulesets:                                                                                                     
  active, inactive                                                                                 
...     

আমি দুটি ( activeএবং inactive) লোড করতে পারি এমন দুটি রুলসেট মনে হচ্ছে ...

.. তবে এগুলো কোথায় রাখা আছে ?

আমি তাদের অবস্থানটি সক্রিয় / নিষ্ক্রিয় হিসাবে খুব খারাপ অনুসন্ধানের শব্দ হিসাবে খুঁজে পাচ্ছি না এবং কোনওরকম সাহায্যও করি dpkg-query -L iptablesনা।

যেহেতু আমি আমার সার্ভারগুলির সাথে সংস্থান করছি puppet/ chefএটি জানা অন্যথায় ভাল লাগবে যে এমন কোনও জায়গা আছে যা আমি আমার রুলসেটগুলি রাখতে পারি এবং /etc/networking/if-pre-upএগুলি লোড করার জন্য একটি সাধারণ শেল স্ক্রিপ্ট যুক্ত করতে পারি ।

তারপরে আমি সেই iptables-persistentপ্যাকেজটি বাদ দিতে পারি যা এমন নমনীয় নয় কারণ এটি বিভিন্ন নিয়মকোষ লোড করতে দেয় না।

আপনার সাহায্যের জন্য ধন্যবাদ.

উত্তর:


4

iptables মেমোরিতে নিয়মগুলি সঞ্চয় করে তবে তৈরি করা রুলসেটটিiptables-save ruleset-name ফাইলটিতে পাওয়া যায়

/ Var / lib / iptables- র / ruleset-নাম

এগুলি চাওয়ার মাধ্যমে পুনরুদ্ধার করা যেতে পারে iptables-restore <ruleset-name>।

আমি কেবল উবুন্টু 12.04.03 এলটিএস-এর জন্য এটি নিশ্চিত করতে পারি - সম্ভবত এই অবস্থানটি iptables-প্যাকেজের পরবর্তী সংস্করণগুলিতে পরিবর্তিত হয়েছে।

আমার মনে হয় /etc/iptables/rulesets.dএগুলি সংরক্ষণ করার মতো আরও কিছু যুক্তিসঙ্গত জায়গা হত।

Save-পাথ কনফিগার করা /etc/init.d/iptablesলাইনে 27 এবং পরে দ্বারা ব্যবহৃত initd_save()হয় যা পূজা initd_counters()।

libdir=/var/lib/iptables   

# ...

initd_counters () {                                                                                         
 if test "${enable_save_counters:-false}" = true; then                                                     
    echo -n " with counters"                                                                                
    $iptables_save -c > "$ruleset"                                                                          
  else                                                                                                      
    $iptables_save | sed '/^:/s@\[[0-9]\{1,\}:[0-9]\{1,\}\]@[0:0]@g' > "$ruleset"                           
  fi                                                                                                        
}        

initd_save () {                                                                                             
  rm -f $autosave                                                                                           
  ruleset="${libdir}/$@"                                                                                    
  echo -n "Saving iptables ruleset: save \"$@\""                                                            
  initd_counters                                                                                           
  echo "."                                                                                                  
}          

# ক্যাট / ইত্যাদি / ওস রিলিজ NAME = "উবুন্টু" VERSION = "12.04.4 এলটিএস, যথাযথ প্যাঙ্গোলিন" আইডি = উবুন্টু আইডি_লিকে = ডিবিয়ান PRETTY_NAME = "উবুন্টু সুনির্দিষ্ট (12.04.4 এলটিএস)" VERSION_ID = "12.04" # iptables- কমান্ডলাইনে অজ্ঞাত যুক্তি খুঁজে পাওয়া যায় এটি কাজ করে না
— রোন্ডো

এখানে একই ইস্যু
— 1703
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.