কেন ডিএইচসিএলেন্ট বলা হচ্ছে: "এসআইওসিএসএফডিডিআর: অনুমতি অস্বীকার করা হয়েছে"?


9

উবুন্টু-সার্ভারে আমি খুব অদ্ভুত ত্রুটির মুখোমুখি হয়েছি (8.04), আমার কী ধারণা নেই যে কেন ডিএচসিলেটকে নেটওয়ার্ক সেটিংস সেট করার অনুমতি দেওয়া হচ্ছে না! আমি প্রথমে সার্ভারটি ইনস্টল করা নই, তাই সেটআপ সম্পর্কে আমি বেশি কিছু জানি না। সার্ভারটি কেবল ফায়ারওয়াল / গেটওয়ে (কাস্টম iptables স্ক্রিপ্ট) হিসাবে ব্যবহৃত হয় এটি ইন্টারনেটের জন্য তিনটি নিকের একটি পেয়েছে, ল্যানের জন্য একটি এবং ডিএমজেডের জন্য একটি। এখন আইএসপি স্ট্যাটিক আইপি থেকে ডিএইচসিপি এর মাধ্যমে নির্ধারিত "স্ট্যাটিক" আইপিতে সেটিংস পরিবর্তন করেছে এবং আমি সত্যিই এটি ব্যবহার করতে পারি না।

দুঃখের সাথে আমি ঠিক স্থিরভাবে আইপি সেট করতে পারি না কারণ যখন ডিএইচসিপি ইজারা শেষ হয় তখন আইএসপি আমার সংযোগটি বন্ধ করে দেয়: ও

এটি আমি পেয়েছি ত্রুটি: (এবং তারপরে এটি কেবল স্তব্ধ হয়ে যায় ..)

root@fw:~# dhclient eth2
Internet Systems Consortium DHCP Client V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFFLAGS: Permission denied
Listening on LPF/eth2/00:50:52:c1:a1:32
Sending on   LPF/eth2/00:50:52:c1:a1:32
Sending on   Socket/fallback
DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 8
DHCPOFFER of 2.10.56.19 from 93.87.36.42
DHCPREQUEST of 2.10.56.19 on eth2 to 255.255.255.255 port 67
DHCPACK of 2.10.56.19 from 93.87.36.42
SIOCSIFADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCSIFNETMASK: Permission denied
SIOCSIFBRDADDR: Permission denied
SIOCSIFFLAGS: Permission denied
SIOCADDRT: Operation not permitted

এই মুহূর্তে আমি killall dhclient; dhclient eth2প্রতি ঘন্টা চালিয়ে এবং তারপরে ইন্টারফেসের জন্য স্থির আইপি সেটিংস সেট করে এটি ঠিক করেছি , সংযোগটি লাইভ রাখতে এটি যথেষ্ট! তবে এটি আমার মতে একটি কুরুচিপূর্ণ হ্যাক ..


1
strace -o /tmp/dhc$$ dhclient -d eth2কী কলগুলি ব্যর্থ হচ্ছে সে সম্পর্কে মূল্যবান তথ্য পাওয়া উচিত। হ্যাঁ, আমি তাদের সকলকেই জানি, তবে তর্কগুলি দেখে সহায়তা করতে পারে। আমি ইথ 2 ড্রাইভারের সাথে কিছুটা বিশৃঙ্খলা নিয়ে সন্দেহ করব, সম্ভবত মডিউলটি কার্নেলের সাথে সিঙ্কের বাইরে চলে গেছে।
এমএসডাব্লু


বিটিডব্লিউ: নিকটি হল "ভিটি 6102 [রাইন-II]" মাধ্যমে_আরহাইন কার্নেল মডিউলটি ব্যবহার করে।
লাসেপলসন

আপনার অংশটি ভাল অংশে পৌঁছানোর আগেই বাধা পেয়েছিল। এটি সিটিআরএল-সি মারার আগে আরও কিছুক্ষণ চলুন, অথবা -1বিকল্পটি যুক্ত করুন এবং এটি নিজের থেকে বেরিয়ে আসার জন্য অপেক্ষা করুন।
কার্ল বিলেফেল্ট

1
আমি অ্যাপারমোর বা সেলিনাক্স ব্যবহার করি না .. -fবিকল্পটি চালু করার সাথে এখানে একটি স্ট্রেস দেওয়া আছে
পিআই

উত্তর:


5

Http://silenzio.dk/pi/dhc.strace এ স্ট্যাক ট্রেসের ভিত্তিতে প্রথম SIOCSIFADDR: Permission deniedত্রুটিটি 26092: প্রক্রিয়া সম্পাদনের সময় 735 নং লাইনে ঘটে ifconfig eth2 inet 0 up। এখন কেবল কিছু আপ rootকরতে ifconfigপারে, সুতরাং আসুন fork()/ এর চেইনটি exec()সন্ধান করি এবং ইউআইডি পরিবর্তনগুলি সন্ধান করি। এটা দেখা যাচ্ছে যে:

  1. প্রক্রিয়া 26092 26090 (লাইন 689) এর একটি শিশু
  2. প্রক্রিয়া 26090 ইউআইডি 101 এবং জিআইডি 102 (লাইন 355--358) এর সাথে চলে
  3. প্রক্রিয়া 26090 তার ইউআইডি / জিআইডি 0 তে ফিরে সেট করার চেষ্টা করে, তবে ব্যর্থ হয় (লাইন 310)
  4. প্রক্রিয়া 26090 26089 (লাইন 286) এর একটি শিশু
  5. প্রক্রিয়া 26089 তার ইউআইডি পরিবর্তন করেছে: জিআইডি 101: 102 এ (লাইন 282--283)

সুতরাং, ত্রুটিগুলি দেখা দেয় কারণ নির্বাহী শিশু প্রক্রিয়াটিতে প্রয়োজনীয় মূল সুযোগগুলি নেই। কেন এমন হয়? debian/changelogফাইল dhcp3-3.0.6.dfsgউৎস বলেছেন:

dhcp3 (3.0.1-2ubuntu4) breezy; urgency=low

  Derooted the DHCP client:
  * Added debian/patches/deroot-client.patch:
    - client/dhclient.c: After initialization, dro privileges to dhcp:dhcp and
      only keep CAP_NET_RAW and CAP_NET_BIND_SERVICE.
    - Add a setuid wrapper call-dhclient-script to call
      /etc/dhcp3/dhclient-script as root.
    - Install call-dhclient-script into /lib/dhcp3-client/.

আমার অনুমান যে call-dhclient-scriptএটির সেট-ইউআইডি বিটটি হারিয়েছে এবং এর ফলে এটি রুট সুবিধাগুলি দিয়ে কার্যকর করা হচ্ছে না uting ( debian/dhcp3-client.postinstসূত্রের ফাইল অনুসারে , এটির মালিকানা root:dhcpএবং মোডের মালিক হওয়া উচিত 4754)


এ জাতীয় জটিল ত্রুটি এবং এত সহজ সমাধান! chmod u+s /lib/dhcp3-client/call-dhclient-scriptকৌতুকটি করেছে!
লাসেপলসন

2

আপনি যখন dhclient চালান তখন আপনার "dmesg" আউটপুটটি কী দেখায়?

আপনি যদি হার্ডি চালাচ্ছেন তবে অ্যাপঅর্মারটি ডিফল্ট ইনস্টলের অংশ। এটি সম্ভবত সম্ভব যে dhclient প্রোফাইলটি বেঁচে গেছে। সেখানে কী ঘটছে তা দেখতে "sudo aa-status" দেখুন।

অতিরিক্তভাবে আপনার / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস ফাইলটি কীভাবে পড়ে? সম্ভবত আপনার দ্বন্দ্বপূর্ণ ঠিকানা, রুট, ইত্যাদি রয়েছে যা hাক্লিয়েন্ট খেলতে চায় না?


মেশিনে কোনও অ্যাপ-আর্মার ইনস্টল নেই। এবং এন.আই.সি. / etc / নেটওয়ার্ক / ইন্টারফেস ফাইলটিতে স্থির আইপি সেটআপ করা হয়। Dhclient ডাকা হলে এটি ওভাররাইট করার জন্য কোনও সমস্যা হওয়া উচিত নয়। তবে এটি কোনও বিষয় নয় কারণ আমি যদি এটিকে / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস ফাইলটিতে ডিএইচসিপি হিসাবে সেট করি তবে কোনও পার্থক্য নেই। আমি যদি ইন্টারফেসটি করে থাকি তবে কেবল "কনফিগার্ড করা" থাকবে না।
লাসেপলসন

যদি আপনি পারেন তবে "সুডো এএ-স্ট্যাটাস" এবং "বিড়াল / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস" এর পেস্টবিনগুলিতে লিঙ্কগুলি প্রেরণ করুন
কিস কুক

1

আমি যদি প্যাকেজটি অনুপস্থিত থাকে তবে এনএসসিডি ইনস্টল করার চেষ্টা করব এবং যদি এটি এর সাথে কাজ করে না, তবে ইনস্টল করুন libnss-db।

নিশ্চিত না যে এটি আপনার সমস্যার সমাধান করবে কিনা, তবে, এইগুলি হ'ল আপনার ট্রেস অনুসন্ধান করার চেষ্টা করছে এবং এটি ব্যর্থ হয়।


nscd এবং libnss-db ইনস্টল করা সাহায্য করে না।
লাসেপলসন


1

এটি আসলে উবুন্টু 8.04 এ একটি বাগ। বেশ কয়েকটি ব্যবহারের ক্ষেত্রে আপনাকে এনএসসিডি ইনস্টল করতে হবে (যেমন ওপেনভিএনপি ব্যবহার করার সময়) বা ডিএইচসিলেট কাজ করবে না। এটি নতুন উবুন্টু প্রকাশে ঘটে না।


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