ইথডাউন ইথ0 (মূল ইন্টারফেস) করতে পারবেন না


51

আমি ifdownডেবিয়ান 6.0.5 এ কোনও ইন্টারফেস করতে পারি না :

user@box:/etc/network$ sudo ifdown eth0 && sudo ifup eth0
ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.

user@box:/etc/network$ cat interfaces 
auto lo
iface lo inet loopback

allow-hotplug eth0 
allow-hotplug eth1 

auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254

auto eth1
iface eth1 inet manual

মার্কো দ্বারা অনুরোধ হিসাবে:

user@box:/etc/network/$ cat /run/network/ifstate 
lo=lo
eth1=eth1

4
কি /run/network/ifstateথাকে?
মার্কো

আমি এই ফাইলের বিষয়বস্তু সহ আমার প্রশ্ন আপডেট করেছি, নীতি 0 সেখানে নেই। একটি তাত্ক্ষণিক "গুগল" আমাকে এই ফাইলটির অর্থ
জানাচ্ছে

@Marco; এটি সত্যিই আমার সমস্যার সমাধান করেছে, আপনি যদি উত্তর হিসাবে পোস্ট করেন তবে আমি এটি সঠিক হিসাবে চিহ্নিত করতে পারি :)
jwbensley

উত্তর:


55

ফাইলের বিষয়বস্তু পরীক্ষা করে দেখুন /run/network/ifstateifupএবং ifdownকোন নেটওয়ার্ক ইন্টারফেসগুলি উপরে এবং নীচে আনা যায় তা নোট করতে এই ফাইলটি ব্যবহার করুন। সুতরাং, ifupযখন অন্য নেটওয়ার্কিং সরঞ্জামগুলি একটি ইন্টারফেস (উদাহরণস্বরূপ ifconfig) আনতে ব্যবহৃত হয় তখন সহজেই বিভ্রান্ত হতে পারে ।

মানুষ থেকে ifup

নেটওয়ার্ক ইন্টারফেসগুলি উপরে বা নীচে রয়েছে কিনা তা রেকর্ড করে প্রোগ্রামটি। ব্যতিক্রমী পরিস্থিতিতে এই রেকর্ডগুলি ইন্টারফেসের আসল রাজ্যের সাথে অসঙ্গতিপূর্ণ হতে পারে। উদাহরণস্বরূপ, একটি ইন্টারফেস যা আইফআপ ব্যবহার করে এবং পরবর্তীকালে ডিকনফাইগার্ড ব্যবহার করে উত্থাপিত ifconfigহয়েছিল তা এখনও আপ হিসাবে রেকর্ড করা হবে। এটি ঠিক করার জন্য আপনি ইন্টারফেসের বর্তমান অবস্থাটিকে বিবেচনা করার পরেও --forceবাধ্যতামূলকভাবে ifup বা ifdownকনফিগারেশন বা ডিকনফিগারেশন কমান্ডগুলি চালনার বিকল্পটি ব্যবহার করতে পারেন ।


8
এই উত্তরে যুক্ত করতে, আমাকে ইন্টারফেসটি সনাক্ত করতে এবং এটি সঠিকভাবে কনফিগার করার জন্য যুক্ত eth0=eth0করতে /run/network/ifstateহয়েছিল। এই উত্তরটি আমাকে ফাইলটিতে নির্দেশিত করতে সহায়তা করেছিল, তবে সেই সংযোজনটির প্রস্তাব দেওয়া ছাড়িয়েছে যা আমার অনুরূপ সমস্যার সমাধান করেছে।
ডেভিড পার্কস

1
@ ডেভিড পার্কস আপনি কি নিশ্চিত যে ইন্টারফেসটি হিসাবে চিহ্নিত autoহয়েছে /etc/network/interfaces? /run/network/ifstateফাইলটিকে ম্যানুয়ালি সংশোধন করার প্রয়োজন ছাড়াই এটি উপস্থিত হওয়া উচিত ।
মার্কো

1
--forceআমার জন্য উত্তর ছিল; এটি প্রমাণিত ifupহয়েছে যে ব্যর্থ কমান্ডের কারণে ইন্টারফেসটি প্রথম স্থানে নিয়ে আসে নি /etc/network/if-pre-up.d; ভাগ্যবান আমার মোটেও নেটওয়ার্ক!
সনমাই

32

ifdownএকটি উচ্চ-স্তরের প্রোগ্রাম যা আপনার প্রয়োজন নাও হতে পারে এমন অনেকগুলি কাজ করে। অতিরিক্তভাবে, এটি সর্বত্র পাওয়া যায় না। আরও বহনযোগ্য উপায় আপনার জন্য কাজ করতে পারে:

$ sudo ifconfig eth0 down

আপনি যদি তা না করতে পারেন তবে ifupআপনার সম্ভবত কিছু কনফিগারেশন সমস্যা রয়েছে। ম্যানুয়ালি এটিকে সামনে আনাই ifconfig eth0 upসম্ভবত সেই ক্ষেত্রে সঠিক জিনিস নয়। ডিবিয়ানে, ifupবাইনারি কার্যকর কার্যকর, সুতরাং straceএটি কোথায় ঝুলছে তা বের করার জন্য আপনাকে সম্ভবত এটি করতে হবে:

$ sudo strace -e open ifup eth0

এটি আপনাকে বলবে যে ifupকাজ করার সময় কোন ফাইলগুলি খুলছে, যা আপনাকে সমস্যার মধ্যে আটকে থাকতে পারে।

অন্যান্য সিস্টেমে (উদাঃ আরএইচইল এবং ডেরিভেটিভস) ifupহ'ল শেল স্ক্রিপ্ট, তাই ডিবাগ করা খুব সহজ:

# sh -x `which ifup` eth0

sh -xএটির সাথে শেল স্ক্রিপ্ট চালানো প্রতিটি লাইন প্রিন্ট করে এটি চালিত করে, যাতে আপনি নির্বাহের সন্ধান করতে পারেন।


একটি ক্র্যাকিং উত্তর, তবে মার্কো সমস্যাটি খুঁজে পেয়েছে। আমি চেষ্টা করেছিলাম sudo ifconfig eth0 down && sudo ifconfig eth0 upযা ইন্টারফেসটি উপরের দিকে নীচে নেমে আসবে তবে আমি লিখছিলাম যে কোনও লিখিত-আপ স্ক্রিপ্ট ম্যানুয়ালি ট্রিগার করার চেষ্টা করছিলাম that আমার / ইত্যাদি / নেটওয়ার্ক / রান / ইফস্টেট ফাইল আপডেট করার পরে, এখন ডাউন / আপ কাজ করে। যদিও আপনার তথ্যের জন্য ধন্যবাদ! :)
jwbensley

বলতে ভুলে গেছেন, -x বিকল্পের সাথে দুর্দান্ত ধারণা! ধন্যবাদ!
jwbensley

1
ifdownএকটি উচ্চ-স্তরের প্রোগ্রাম যা আপনার প্রয়োজন হতে পারে এমন অনেক কাজ করে। ifconfig eth0 downআরও বহনযোগ্য এবং সর্বদা চালানো যায় তবে এটি ক্লিনআপ কাজগুলি সম্পাদন করে ifdownনা।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

আমি আপনাকে ifconfigএড়িয়ে চলা সব সময় ব্যবহার করার পরামর্শ দেওয়ার অর্থ চাই না ifup/down। আমি এটিকে কেবল সমস্যা সমাধানের পদক্ষেপ হিসাবে পরামর্শ দিয়েছি। যেহেতু আমি সমস্যাটি বুঝতে পারি, এটি পরিবর্তে ব্যবহারের ফলস্বরূপ পরিণত হয়েছিল , ফলে উচ্চ-স্তরের প্রক্রিয়াগুলিকে বিভ্রান্ত করে। তবে, আমি জানতাম না যে আমি কখন আমার উত্তর পোস্ট করেছি। ifconfigifup/down
ওয়ারেন ইয়াং

20

যখন আমি এথএক্স সঠিকভাবে কনফিগার করা হয়নি তখন আমি এটি দেখেছি /etc/network/interfaces। এর মতো কিছু দরকার: -

auto eth0
   iface eth0 inet dhcp

এমনকি একটি ভুলভাবে কনফিগার করা /etc/network/interfacesফাইল থাকা সত্ত্বেও, আপনি এর সাথে এথ0 কমিয়ে আনতে পারেন:

$ sudo ip link set eth0 down

আমার সাথে ঠিক এটাই হয়েছিল। আমি এটি যুক্ত করতে ভুলে গেছি auto। ধন্যবাদ।
মাইক 19

2

যে কেউ এই সমস্যাটির সাথে লড়াই করছেন:

আমি / ফাইল / নেটওয়ার্কে "ইন্টারফেস-নাম" ফাইলটি পরীক্ষা করেছি।

এটি খালি ছিল তাই আমি "ইন্টারফেস-নাম" (eth0) ইফস্টেটে অন্তর্ভুক্ত করেছি / "ইন্টারফেস-নাম" ফাইলটি / রান / নেটওয়ার্কে অন্তর্ভুক্ত।


1

যোগ eth0=eth0করুন /run/network/ifstate। এটি আমার পক্ষে কাজ করেছে


0

আমি যা পেয়েছি তা হ'ল rmলক ফাইলটি ভিতরে সরাতে কমান্ডটি কল করা/run/network/

করুন ls -laএবং আপনার .ifstateনামে কোনও লুকানো ফাইল বা কিছু দেখতে হবে।

এটি সরান এবং তারপরে চেষ্টা করুন: ifdown && ifup

আপনি যদি উদ্বিগ্ন থাকেন তবে আপনি হয়ত কিছু ভাঙ্গতে পারেন কেবলমাত্র ডিরেক্টরিটির বাইরে একটি ফাইলের অনুলিপি তৈরি করতে এবং ডিরেক্টরিটির ভিতরে থাকা একটিটিকে সরিয়ে ফেলুন।

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