একটি নেটওয়ার্ক নেমস্পেসের অভ্যন্তরে Iptables LOG নিয়ম


9

আমি ডকারের ধারকটির জন্য আইপটিবল বিধিগুলি সেটআপ করার চেষ্টা করছি। আমি ধারকটির নেটওয়ার্ক নেমস্পেসের অভ্যন্তরে iptables কমান্ডটি কার্যকর করতে ন্যানস্টার ব্যবহার করছি :

# log access to port 8080
PID=$(docker inspect --format "{{.State.Pid}}" $ID)
/home/ubuntu/nsenter -n -t $PID iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 8080 -j LOG

এই পদ্ধতির LOGনিয়ম বাদে পুরোপুরি কাজ করে । যারা কোথাও লগইন করে না বলে মনে হয়। নোট করুন যে হোস্ট সিস্টেমে একই নিয়ম প্রয়োগ হয়ে কাজ করে এবং লগ ইন করে /var/log/kern.log

এই লগ বিধিগুলির আউটপুট আমি কোথায় খুঁজে পাব? এটি কি নেটওয়ার্ক নামস্থানগুলির একটি জ্ঞাত সমস্যা / সীমাবদ্ধতা?


আপডেট: আমি NFLOGপরিবর্তে চেষ্টা করেছি কিন্তু এটি এখনও কাজ করবে না
ফ্যাবিয়ান জ্যাকবস

আমি সেন্টোস 7 এর উপর ভিত্তি করে একটি ডকার ধারক ব্যবহার করে একটি পরীক্ষা করেছি এবং এটি কাজ করে, হোস্টটি সেন্টোস, উবুন্টু উবুন্টু 15.04 হোস্ট এবং উবুন্টু 12.04.5 ধারকটির সাথে একই পরীক্ষাটি কাজ করে না, যাইহোক আপনাকে নিশ্চিত হওয়া দরকার, সিসলগ আপনার হোস্টে চলছে।
c4f4t0r

আমি হোস্ট হিসাবে ডেবিয়ান হুইজি এবং একটি ধারকটিতে উবুন্টু 14.04 ব্যবহার করছি। সেখানে এটি কাজ করে না। আমি ভাবছি সেখানে কী আলাদা?
ফ্যাবিয়ান জ্যাকবস

আপনি এই একটি সমাধান খুঁজে পেয়েছেন?
গুকি

@gucki আমি এটি নেমস্পেসের ভিতরে কাজ করার কোনও সমাধান খুঁজে পাইনি। আমি লগিংয়ের নিয়মগুলি ধারকটির বাইরে সরিয়ে নিয়েছি।
ফ্যাবিয়ান জ্যাকবস

উত্তর:


8

ডোনাল্ড যেমন উল্লেখ করেছেন, কনটেইনারগুলির মধ্যে iptables LOG নিয়মগুলি ডিফল্টরূপে দমন করা হয়।

কার্নেলগুলিতে <= 4.10, কার্নেলটি প্যাচ না করে এই আচরণটি সামঞ্জস্য করা যায় না। Agrrd হিসাবে উল্লেখ করা হয়েছে, একটি কাজের চারপাশ হ'ল প্রতিটি পাত্রে অলগড চালানো এবং LOG বিধিগুলির পরিবর্তে iptables NFLOG (বা ULOG) নিয়ম ব্যবহার করা।

তবে, কার্নেল ৪.১১ অনুসারে, echo 1 > /proc/sys/net/netfilter/nf_log_all_netnsহোস্টে চালিত হওয়ার পরে ( ধারকটির বাইরে) হোস্টে লগইন করার জন্য সমস্ত পাত্রে iptables LOG নিয়মের কারণ হতে পারে। (এই কর্নেল কমিট দেখুন))


3

কোনও নেটওয়ার্ক নেমস্পেসের ভিতরে থেকে iptables LOG টার্গেটের আউটপুট কন্টেনারগুলি তার হোস্টকে লস বাধা দিয়ে তার লগ বাফারগুলিকে ডোর করা থেকে বিরত রাখতে নকশার মাধ্যমে দমন করা হয়।

পরিবর্তন প্রবর্তন প্রতিশ্রুতিবদ্ধ

বর্তমান কার্নেলের প্রাসঙ্গিক উত্স কোড লাইন


1

আমি অলগড ইনস্টল করে এবং "-j এলওজি" "" জে ইউএলওজি "দিয়ে প্রতিস্থাপন করে ডকারের পাত্রে আইপটেবল নিয়মগুলি লগ করতে সক্ষম হয়েছি। মিলিত প্যাকেটগুলি / var / লগ / ইউলগ ডিরেক্টরিতে লগ হয়


আপনি কি হোস্টে অলগড ইনস্টল করেছেন (নিয়ম থেকে কোনও আউটপুট দেয় না) কনটেইনারটির ভিতরে ওডার (যা শুরু হয় না)?
ফিলিপ

0

আমি ব্যবহারের একটি উদাহরণ (কর্নেল সম্পর্কিত নয়) দেখেছি -v /dev/log:/dev/log। আমি ভাবছি যদি আপনার অনুরূপ কিছু করার দরকার হয় ..

এছাড়াও, আমি দেখতে পাচ্ছি যে আপনি তার পরিবর্তে এনসেন্টার ব্যবহার করছেন docker exec: আপনি ডকারের কোন সংস্করণটি চালাচ্ছেন?


ডকারটি মোটেও ব্যবহার না করা অবস্থায় এটি কাজ করে না, তবে কমান্ড লাইন থেকে নিজেই নেট করে তোলে।
guki

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