উবুন্টু 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.