কীভাবে সফলভাবে এসএসএইচ পুনরায় বুট না করে একটি নেটওয়ার্ক পুনরায় চালু করবেন?


98

উবুন্টু 14.04 এ না হয় sudo service networking restartআর sudo /etc/init.d/networking restartকিছুই করে না । তারা উভয়ই কোড 1 দিয়ে প্রস্থান করুন কিছু স্পষ্টতই পরিবর্তিত হয়েছে (বা অর্ধেক পরিবর্তন হয়েছে) তবে আমি কী খুঁজে পাচ্ছি না। এটি স্পষ্টতই দূরবর্তী নেটওয়ার্কের কনফিগারেশন এবং জবাবযুক্ত সরঞ্জামের সাথে সমস্যার সৃষ্টি করে।

$ sudo bash -x /usr/sbin/service networking restart
[sudo] password for wirehive:
++ basename /usr/sbin/service
+ VERSION='service ver. 0.91-ubuntu1'
++ basename /usr/sbin/service
+ USAGE='Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]'
+ SERVICE=
+ ACTION=
+ SERVICEDIR=/etc/init.d
+ OPTIONS=
+ '[' 2 -eq 0 ']'
+ cd /
+ '[' 2 -gt 0 ']'
+ case "${1}" in
+ '[' -z '' -a 2 -eq 1 -a networking = --status-all ']'
+ '[' 2 -eq 2 -a restart = --full-restart ']'
+ '[' -z '' ']'
+ SERVICE=networking
+ shift
+ '[' 1 -gt 0 ']'
+ case "${1}" in
+ '[' -z networking -a 1 -eq 1 -a restart = --status-all ']'
+ '[' 1 -eq 2 -a '' = --full-restart ']'
+ '[' -z networking ']'
+ '[' -z '' ']'
+ ACTION=restart
+ shift
+ '[' 0 -gt 0 ']'
+ '[' -r /etc/init/networking.conf ']'
+ which initctl
+ grep -q upstart
+ initctl version
+ case "${ACTION}" in
+ stop networking
stop: Job failed while stopping
+ :
+ exec start networking
start: Job is already running: networking

দূরবর্তীভাবে উবুন্টু 14.04 সার্ভারে নেটওয়ার্কিং পুনরায় চালু করার সঠিক উপায় কী?


আপনি কি সত্যিই নেটওয়ার্কিং পুনরায় চালু করতে চান বা কেবল এথ0 এর মতো একটি ইন্টারফেস পুনরায় চালু করতে চান? যাইহোক, এটি সম্ভবত ssh সংযোগটি ভেঙে দেবে।
চিলি 555

1
যেহেতু উভয় শেল স্ক্রিপ্ট হয়, সাথে তথ্য লাভ sudo bash -x /usr/sbin/service networking restartএবংsudo bash -x /etc/init.d/networking restart
waltinator

@ অ্যারডন তখন 14.04 এর কাছাকাছি একটি ট্যাগ রাখার জন্য বিট বোকা, বিশেষত বর্ণনায় বলা হয়েছে এটি "বর্তমান" মুক্তি যা এটি নয়। বলেছিল যে, এই সমস্যাটি 13.10-এ সম্পূর্ণ পুনরুত্পাদনযোগ্য।
সিমোনজেগ্রিন 21 '10

@ chili555 আমি যা করতে চাই তা হ'ল / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসগুলি কার্যকর হওয়ার জন্য। এই স্ক্রিপ্টগুলির আগে এসএসএইচ সংযোগগুলি বন্ধ করা এই পুনঃসূচনাটি থেকে যায়।
সায়মনজেগ্রিন 21 '11

@ ওয়ালটিনেটর অতিরিক্ত তথ্য প্রশ্নে যুক্ত হয়েছে, পরামর্শের জন্য ধন্যবাদ
সাইমন জেগ্রিন

উত্তর:


121

দেখা যাচ্ছে এটি একটি "বৈশিষ্ট্য"। শুধুমাত্র একটি ইন্টারফেস পুনরায় চালু করার উবুন্টু সার্ভার এর সমর্থিত উপায়sudo ifdown eth0 && sudo ifup eth0

https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1301015


8
আপনি যদি এই কমান্ডটি রুট হিসাবে চালাচ্ছেন না তবে নিশ্চিত হয়ে নিন যে আপনি 'sudo ifdown eth0 && sudo ifup eth0' চালাচ্ছেন (দ্বিতীয় sudo নোট করুন)
এমটিপেটটিপ

3
Ssh এর মাধ্যমে সংযুক্ত থাকলে এটি করা কি ঠিক? অর্থাৎ, উভয় কমান্ড সংযোগ বিচ্ছিন্ন হওয়ার আগেই চলবে?
meawoppl

2
আমার ক্ষেত্রে, দৌড়াদৌড়ি sudo service networking restartদেখে মনে হয়েছে যে গোলযোগ হয়েছে। তাই আমাকে sudo ifdown eth0 && sudo ifup eth0দু'বার দৌড়াতে হয়েছিল। হ্যাঁ, দু'বার।
17:40

@ এক্সসেপশনস্লেয়ার: না, তারা আমার পক্ষে কাজ করেনি। আমাকে শারীরিকভাবে সার্ভারটি পাওয়ার ছিল এবং এটি আবার চালু করতে হবে (উবুন্টু 14.04)।
এক্সডিজি

4
নিরাপদ বিকল্পের ;পরিবর্তে কোনও ব্যবহার করছেন না &&?
আইজাক

72

ifdown, ifup আমার পক্ষে কাজ করেনি (সম্ভবত দ্বিতীয় কমান্ডের আগে এসএসএইচ সংযোগের সময়সীমা)। কাজটি কী ছিল:

sudo service network-manager restart

এটি একটি 14.04 উবুন্টু-ডেস্কটপ সিস্টেমে ছিল।


4
গৃহীত উত্তর আমার পক্ষে কার্যকর হয়নি; এই এক করেছে। (14.04.1 এর নতুন ইনস্টল)
u2n

2
এটি নিশ্চিত করতে পারে যে এটি আমার জন্য বিশ্বাসযোগ্য (উবুন্টু 14.04) এ কাজ করে।
জের্লোস

3
"Ifdown / ifup" উত্তর আমার পক্ষে উবুন্টু 14.04 তে কার্যকর হয়নি, তবে এটি করেছে did
ডাইউইউ

4
স্বীকৃত উত্তরটি উবুন্টু 12.04 এবং নিম্নের জন্য প্রযোজ্য। এই উত্তরটি 14.04-র জন্য গ্রহণযোগ্য।
সুইস 23

4
আমার 14.04.2 এ এই পরিষেবাটি বিদ্যমান নেই - সুডো সার্ভিস নেটওয়ার্ক-ম্যানেজার পুনঃসূচনা।
এক্সডিজি

6

যা পরিবর্তন হয়েছে তা হ'ল তারা আপনাকে আর নেটওয়ার্ক "বাউন্স" করতে চান না। থামানো, এবং শুরু করা, এখনও কাজ। পুনরায় আরম্ভ করা আর কাজ করে না। আমি এই "সমস্যার" সবেমাত্র "সমাধান" করেছি, তার মানে আমি পুরানো আচরণটি ফিরে পেয়েছি। পূর্বের আচরণে ফিরে যেতে: একটি 13.10 /etc/init/netering.conf ফাইল নিন এবং এর সাথে 14.04 ফাইলটি প্রতিস্থাপন করুন। (সম্পাদনা করুন: কোনটি প্রতিস্থাপন করে তা স্পষ্ট করে)

প্রক্রিয়াটি এমন দেখাচ্ছে:

(Just before this, I configured my /etc/network/interfaces for eth1 on a 192.168.117.x address)

"/etc/network/interfaces" 16L, 413C written  
root@1404-Anode:~# service networking restart  
stop: Job failed while stopping  
start: Job is already running: networking  
root@1404-Anode:~# echo "hmm, wth?"
hmm, wth?
root@1404-Anode:~# ifconfig  
eth0      Link encap:Ethernet  HWaddr 00:0c:29:d6:a8:19  
          inet addr:192.168.115.105  Bcast:192.168.115.255  Mask:255.255.255.0  
          inet6 addr: 2002:4077:9050:1234:a08c:29c1:ce9b:a57b/64 Scope:Global  
          inet6 addr: fe80::20c:29ff:fed6:a819/64 Scope:Link  
          inet6 addr: 2002:4077:9050:1234:20c:29ff:fed6:a819/64 Scope:Global  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:646 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:531 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:58748 (58.7 KB)  TX bytes:75465 (75.4 KB)  
(lo removed here)  
root@1404-Anode:~# cd /etc/init
root@1404-Anode:/etc/init# diff networking.conf.1310 networking.conf.1404  
13c13  
<       and (stopped udevtrigger or container)) or runlevel [2345]  
---  
>     and (stopped udevtrigger or container)) or runlevel [2345] or stopped  networking   >RESULT=failed PROCESS=post-stop EXIT_STATUS=100  
16a17,20  
>     if [ "$UPSTART_EVENTS" = "stopped" ] && [ "$UPSTART_JOB" = "networking" ] && [ "$EXIT_STATUS" = "100" ]; then  
>         exit 0  
>     fi  
>  
21a26,31  
>     if [ -z "$UPSTART_STOP_EVENTS" ]; then  
>        echo "Stopping or restarting the networking job is not supported."  
>         echo "Use ifdown & ifup to reconfigure desired interface."  
>         exit 100  
>     fi  
root@1404-Anode:/etc/init#  

/Etc/init.d/ নেটওয়ার্কিং স্ক্রিপ্টের জন্য একই করুন, যা /etc/init/networking.conf ফাইলের রেফারেন্স / কল বলে।

root@1404-Anode:/etc/init# cp networking.conf.1310 networking.conf  
root@1404-Anode:/etc/init# cd ../init.d  
root@1404-Anode:/etc/init.d# diff networking.1404 networking.1310  
15d14  
< STATEDIR="$RUN_DIR/state"
21a21,27
> # Make sure that it's clear to the user that they shouldn't use this
> # script under upstart
> if init_is_upstart; then
>       echo "ERROR: Calling a sysvinit script on a system using upstart isn't supported. Please use the 'service' command instead."  
>       exit 1
> fi
>
52,54d57
<       if ! chown root:netdev "$RUN_DIR" ; then
<           log_warning_msg "can't chown $RUN_DIR"
<       fi
160,162d162
<       if init_is_upstart; then
<               exit 1
<       fi
166c166
<       state=$(ifquery --state)
---
>       state=$(cat /run/network/ifstate)
root@1404-Anode:/etc/init.d# cp networking.1310 networking
root@1404-Anode:/etc/init.d# service networking restart
networking stop/waiting
networking start/running
root@1404-Anode:/etc/init.d# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:d6:a8:19
          inet addr:192.168.115.105  Bcast:192.168.115.255  Mask:255.255.255.0
          inet6 addr: 2002:4077:9050:1234:a08c:29c1:ce9b:a57b/64 Scope:Global
          inet6 addr: fe80::20c:29ff:fed6:a819/64 Scope:Link
          inet6 addr: 2002:4077:9050:1234:20c:29ff:fed6:a819/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3398 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2545 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:318654 (318.6 KB)  TX bytes:418804 (418.8 KB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:d6:a8:23
          inet addr:192.168.117.105  Bcast:192.168.117.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fed6:a823/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:98 errors:0 dropped:58 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20055 (20.0 KB)  TX bytes:1226 (1.2 KB)
(lo removed)
root@1404-Anode:/etc/init.d# echo "hah, it works! *8^)"
Hah, it works! *8^)
root@1404-Anode:/etc/init.d#

(note: the steps where I scp'd the 1310 versions into the 1404 system are omitted for brevity). 

স্পষ্টতই একটি কারণ আছে যে তারা সেখানে একটি প্রতিরক্ষামূলক প্রস্থান রেখেছিল, তবে তারা কী ঘটছে তা খুব আউটপুট করতে সত্যিই বিরক্ত করে না।

আপনি যখন চেষ্টা করবেন তখন একটি প্রবেশ /var/log/upstart/networking.log এ প্রবেশ করবে

Stopping or restarting the networking job is not supported.  
Use ifdown & ifup to reconfigure desired interface.  

আপনি যখন সার্ভিস নেটওয়ার্কিং পুনরায় চালু করার চেষ্টা করবেন তখন তাদের ডায়ালগ বার্তা হিসাবে আউটপুট থাকতে পারে / করা উচিত। আহ ভালো. এটি খুঁজে বের করা এবং চারপাশে একটি পুরানো উপায় কাজ।

সম্পাদনা: আমি এটি সনাক্ত করেছি /etc/init/failsafe.conf দ্বারা নিয়ন্ত্রিত স্ক্রিপ্টটির একটি অনিচ্ছাকৃত ট্রিগার কারণ যা অবাঞ্ছিত কারণ এটি প্রতিটি বুট আপের জন্য 120 সেকেন্ড সময়সীমা বিলম্ব ঘটায় ... পাশাপাশি সম্ভবত প্রকৃত ভুল কনফিগারেশন / নেটওয়ার্ককে মাস্কিং করছে এই বিলম্বের উপস্থিতিগুলি ইঙ্গিত দিবে তবে এটি ইতিমধ্যে সমস্ত সময় প্রদর্শিত হচ্ছে। (উদাহরণস্বরূপ একটি আনপ্লাগড কেবল, যা / ইত্যাদি / fstab এ ম্যাপযুক্ত কোনও নেটওয়ার্ক ফাইল ভাগ অ্যাক্সেসের অনুমতি দিয়েছিল)

যাই হোক না কেন, আমি এটি কী কারণে সর্বদা সময়সীমাকে হানা দিচ্ছে তা নির্ধারণ করব এবং আমি যখন এটি খুঁজে পাব তখন একটি ঠিক পোস্ট করব।


5
একটি মূল ওএস আচরণ পরিবর্তন করার প্রজ্ঞাটি বিতর্কযোগ্য।
0xF2

কেন তারা পুনরায় চালু করার ক্ষমতা সরিয়ে ফেলল? এটি পুনরুদ্ধার করার আগে আমি তা জানতে চাই।
ফ্লিকফার্লি

@ 0xF2 - আপনার মানে questionable
ডেল অ্যান্ডারসন

@ ড্যালএন্ডারসন এটিও ;-)
0xF2

3

কেভিএম-ব্যবহারকারী ৪২০ এর প্রতিক্রিয়া হিসাবে, আমি উবুন্টু ১৩.০১ এর সাথে উবুন্টু ১৪.০৪ এর নেটওয়ার্কিং স্ক্রিপ্টগুলি প্রতিস্থাপনের জন্য একটি স্ক্রিপ্ট সেটআপ করেছি এবং

আপনি এটি এখানে পেতে পারেন: https://github.com/metral/restore_netking

উপভোগ করুন!


এটি আমার পক্ষে কাজ করেছে। আশা করি, একদিন আপস্টার্ট কেবল চলে যাবে ;-)
অ্যান্ড্রু

0

আমি এই স্ক্রিপ্টটির সাথে সমস্যার সমাধান করেছি: দয়া করে এই স্ক্রিপ্টটি "/etc/network/if-down.d" এ যুক্ত করুন

cd /etc/network/if-down.d
vim ifdown

বিষয়বস্তু:

#!/bin/bash 

for I in /sys/class/net/* 
do
        ifname=$(basename $I) 
        if [ $ifname != "lo" ] ; then 
                ip addr flush $ifname
        fi
done

এবং পরিশেষে :

chmod +x ifdown

এখন আপনি আইপি অ্যাড্রেস পরিবর্তন করতে পারেন এবং সিস্টেমটেক্ট বা সার্ভিস কমান্ডের সাহায্যে নেটওয়ার্কিং পরিষেবা পুনরায় চালু করতে পারেন।
দ্রষ্টব্য : এই স্ক্রিপ্টটি খুব সহজ এবং ভিএম, ট্যাপ, সেতু, ... ইন্টারফেসগুলি হ্যান্ডেল করবেন না । আসলে সমস্ত ইন্টারফেস ফ্লাশ লো (লুপব্যাক) বাদ।

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