পিং আইসিএমপি ওপেন সকেট: ভিজারভারে অপারেশনটির অনুমতি নেই


14

আমি বেশ কয়েকটি ভার্চুয়াল মেশিনের সাহায্যে একটি ভিজার পরিবেশ চালু করছি। একটি একক ভিএম এর নিম্নলিখিত সমস্যা রয়েছে:

$ ping 8.8.8.8
ping: icmp open socket: Operation not permitted

$ ls -l $(which ping)
-rwsr-xr-x 1 root root 30736 2007-01-31 00:10 /bin/ping

$ whoami
root

$ mount
/dev/hdv1 on / type ufs (defaults)
none on /proc type proc (0)
none on /tmp type tmpfs (size=16m,mode=1777)
none on /dev/pts type devpts (gid=5,mode=620)

$ uname -a
Linux v-web1 2.6.27.55-vs2.3.0.36.9 #1 SMP Tue Apr 28 11:35:00 CEST 2015 i686 GNU/Linux

নোট করুন যে হোস্ট মেশিনের পাশাপাশি সেখানে অন্য সমস্ত ভিএম হোস্টেটে, পিং ঠিকঠাক কাজ করে।

আমাকে সাহায্য করার জন্য কারও কি কোন ধারণা আছে?


হয় /bin/pingঅন্য মেশিনে সেট uid? টিসিপি / আইপি সঠিকভাবে এই ভিএম-তে সেট আপ করা আছে? অন্যান্য জিনিস কি ডিএনএস, ট্রেস্রোলেট, এইচটিটিপি এর মতো কাজ করে?
ডেভিড শোয়ার্জ

2
আপনি কি আইপুটিলস-পিং পুনরায় ইনস্টল করার চেষ্টা করেছিলেন?
নাবিল বোরেন

অন্য একটি তথ্য দরকারী হতে পারে: এটি একটি উচ্চ উত্পাদনশীল মেশিন যা প্রতি সেকেন্ডে প্রায় 5 থেকে 7 অ্যাক্সেস সহ অ্যাপাচি চালিত হয় - সুতরাং নেটওয়ার্ক কনফিগারেশনটি পরিবর্তন করার কোনও ধারণা নেই। এটি গত রাতে একটি নতুন হার্ডওয়্যারে চলে গেছে এবং তার পর থেকে মুনিন দেখায় যে পিং কাজ করছেন না।
রেক্সকোগিটানস

উত্তর:


12

টিএল; ডিআর সংস্করণ: পুনরায় ইনস্টল করুন iputils-ping

আমি অনলাইনে দেখেছি যেখানে এটি ব্যবহার করার পরামর্শ দেওয়া হয়েছে

chmod u+s $( which ping );

তবে এটি ব্যবহারকারীর প্রিলোড এবং বন্যাকে পরিবর্তন করার অনুমতি দেবে। যার ফলশ্রুতিতে কোনও ব্যবহারকারী আপনার স্থানীয় মেশিন বা অন্য কোনও মেশিন বা আপনার নেটওয়ার্ককে পরিষেবা অস্বীকার করতে সক্ষম হতে পারে।

@ নাবিল-বুরেনের পরামর্শে আমি চেষ্টা করেছিলাম , পুনরায় ইনস্টল করে iputils-pingযা আমার জন্য সমস্যাটি সমাধান করেছে এবং এসইউডি বিট সেট নেই।

username@server:~$ ls -l $( which ping );
-rwxr-xr-x 1 root root 44104 Nov  8  2014 /bin/ping

যদি SID বিট সেট করা থাকে তবে এটির মতো দেখাবে

username@server:~$ ls -l $( which ping );
-rwsr-xr-x 1 root root 44104 Nov  8  2014 /bin/ping

আপনি যদি ইতিমধ্যে রুট হন তবে SID রুট বাইনারিগুলি খুব বেশি পরিবর্তন হবে না।
ফ্যালকন মোমোট

@ ফ্যালকনমোট, আমি সমাধানটি যুক্ত করেছি।
রেক্সকোটিটানস

ইপিটিলগুলি পুনরায় ইনস্টল করা (তার আগে / পরে একই সংস্করণ) সেন্টোস 7 এ আমার জন্য কাজ করেছিল। এর আগে, গেটক্যাপ / বিন / পিং কোনও দক্ষতা সেট দেখায় নি। পুনরায় ইনস্টল করার পরে, getcap /bin/pingফিরে /bin/ping = cap_net_admin,cap_net_raw+p। এখন প্রশ্ন হ'ল এটি কেন ক্ষমতা হারিয়েছে। rpm --verify iputilsপিং, আরপিং এবং ক্লকডিফ সমস্ত দেখায় যে ক্যাপ সেটিংস পরিবর্তন হয়েছে (পুনরায় ইনস্টলের আগে)।
জুয়ান

আমার ক্ষেত্রে এটি ডাম্প চিত্র থেকে পুনরুদ্ধারের পরে ফাইলের ক্ষমতা হারিয়ে ফেলেছে। এছাড়াও unix.com/unix- for-advanced-and-expert-users/… দেখুন । সেক্ষেত্রে তারা টার ব্যবহার করত। আমার ক্ষেত্রে, আমি সেই সমস্ত ফাইল বৈশিষ্ট্যগুলি (অ্যাটর্স, ক্ষমতা, অ্যাক্সেস ইত্যাদি) ডাম্প / পুনরুদ্ধার করার আশা করছিলাম। আমি অবাক হয়েছি এটি না, তাই আমি এটি পুনরুত্পাদন করতে পারি কিনা তা আমাকে দেখতে হবে (এবং তারপরে সম্ভবত কোনও বাগ লগ করতে পারেন)।
জুয়ান

1

সমাধানটি হল হোস্ট মেশিনে কাঁচা সকেটের অনুমতি দেওয়ার জন্য লিনাক্স সিস্টেম ক্যাপাবিলাইটগুলি সেট করা।

যেহেতু এটি খুব ভি সার্ভারের নির্দিষ্ট সমস্যা তাই সমাধানটি হল একটি সিঙ্গল-লাইনের ফাইলটি তৈরি করা /etc/vservers/VMNAME/bcapabilities:

NET_RAW

এবং ভিএম পুনরায় বুট করুন।


1
"এবং আপনি কীভাবে এটি সম্পাদন করবেন?" সম্পূর্ণ উত্তর হিসাবে দরকারী হবে।
ILMostro_7

4 বছর পরে, আমি আমার কাছে গ্রহণযোগ্য উত্তর পরিবর্তন করেছি, কারণ এটি সত্যই উত্তরটি উত্তর দেয়। এটি ভি-সার্ভার সমস্যা এবং পিং এক্সিকিউটেবলের ফাইল মোডের সাথে কিছুই করার নেই।
রেক্সকোগিটানস

1

দুঃখিত আমি মন্তব্য করতে পারি না। আমি একটি ন্যূনতম ইনস্টলেশনের মাধ্যমে একটি ওয়ার্কিং সিস্টেমের সংরক্ষণাগার সংগ্রহ করার পরে এই সমস্যাটি আমাকে আঘাত করেছে।

উপরের সমস্ত উত্তর কাজ করে। তবে @ নাবিল বুরেন এবং @ লিংক্স প্রস্তাবিত একটিটি সুরক্ষার পক্ষে অগ্রাধিকারপ্রাপ্ত। @ রেক্সকোজিটানদের মন্তব্যের জবাব দেওয়ার জন্য, আমি এখানে আইপুটিলস-পিং.পোস্টিনস্ট (/ var / lib / dpkg / তথ্য / ...) থেকে উদ্ধৃতি দিচ্ছি

if command -v setcap > /dev/null; then
    if setcap cap_net_raw+ep /bin/ping; then
        chmod u-s /bin/ping
    else
        echo "Setcap failed on /bin/ping, falling back to setuid" >&2
        chmod u+s /bin/ping
    fi
else
    echo "Setcap is not installed, falling back to setuid" >&2
    chmod u+s /bin/ping
fi

যা মূলত iputils-ping কনফিগার করার সময় বলেছে, প্রথমে সেটক্যাপ চেষ্টা করুন তারপরে যদি chmod u + s ব্যবহার করতে ব্যর্থ হয়। এজন্য iputils-ping কাজগুলি পুনরায় ইনস্টল করা।


1
তাই এই কাজ করবে: setcap cap_net_raw + + EP / বিন / পিং
rlf

এটি আমার মন্তব্য নয়, আমার নিজের প্রশ্নের উত্তর ছিল। কনটেইনার থেকে সমস্যাটি সমাধান করা যায় না, সুতরাং পোস্ট ইনস্টল করা হুক যাই হোক না কেন তা অর্থহীন।
রেক্সকোটিটানস

প্রকৃতপক্ষে, setcap cap_net_raw+p $(which ping)রুট এটি ঠিক করে দেয়। এই ব্লগ পোস্টে একটি সম্পূর্ণ ব্যাখ্যা আছে: লিনাক্স সক্ষমতা এবং পিং
mivk
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.