नेटप्लान स्टार्टअप पर लागू नहीं होता है


13

मैंने vmware वर्चुअल मशीन पर नवीनतम अपडेट के साथ Ubuntu 17.10 स्थापित किया। नेटप्लान मेरे 2 इटरनेट को कॉन्फ़िगर नहीं करता है।

यहाँ मेरा /etc/netplan/01-netcfg.yaml है

network:
  version: 2
  renderer: networkd
  ethernets:
    lan:
      match:
        macaddress: 00:12:34:a8:29:e8
      set-name: lan
      dhcp4: false
      dhcp6: false
      accept-ra: false
      addresses:
        - 10.10.0.48/24
        - 1701:5740:5000:3301::48/64

    failover:
      match:
        macaddress: 00:45:57:89:27:e8
      set-name: failover
      dhcp4: false
      dhcp6: false
      accept-ra: false
      addresses:
        - 17.25.111.30/27
        - 1701:5740:5000:3300::30/64
      gateway4: 17.25.111.1
      gateway6: 1701:5740:5000:3300::1

      nameservers:
        search:
          - example.at
          - intern.example.at
        addresses:
          - 10.10.0.1
          - 1701:5740::66

मैंने eth0 जैसे पूर्वानुमानित उपकरणों पर वापस स्विच किया, और बूट के बाद सभी उपकरणों को ठीक से नाम दिया गया, लेकिन कॉन्फ़िगर नहीं किया गया।

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: lan: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:12:34:a8:29:e8 brd ff:ff:ff:ff:ff:ff
3: failover: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:45:57:89:27:e8 brd ff:ff:ff:ff:ff:ff

लॉगिन और फायरिंग के बाद systemctl पुनरारंभ सिस्टमड-नेटवर्कड डिवाइस कॉन्फ़िगर किए गए हैं। netplan लागू भी काम करता है।

मैं systemd-networkd.service और systemd-networkd.timer के साथ बहुत खेलता रहा लेकिन कुछ भी मदद नहीं की।

यह प्रत्येक रिबूट के बाद मैन्युअल रूप से नेटवर्क सेट करने में काफी निराशाजनक है। क्या किसी को पता है यह कैसे हल करना है?


2
बूट समय पर, / रन / सिस्टमड / नेटवर्क और / रन / सिस्टमड / नेटिफ की क्या सामग्री हैं?
slangasek

इसे अब बायोपिक में नेटप्लान 0.36.3 के साथ तय किया जाना चाहिए। क्या आप इसका परीक्षण कर सकते हैं और हमें बता सकते हैं?
dja

2
मैं 18.04 का उपयोग करता हूं और मैं उसी समस्या का सामना कर रहा हूं। क्या आपके पास कोई उपाय है?
gtzinos

जवाबों:


3

मुझे लगता है कि आपने एलपी को मारा है : # 1770082 - "सिस्टमड-नेटवर्कड बूट पर उपकरणों का नाम नहीं बदल रहा है"।

असल में, जब आपके सिस्टम द्वारा बूटिंग है, नेटवर्क डिवाइस ऊपर आ जाएगा के रूप में eth0/ eth1, आदि के क्रम पूर्वानुमान नहीं है तो udev तरह बातें करने के लिए उपकरणों का नाम बदलता है ens3या enp2s0बूट की initrd चरण में। (आप के उत्पादन grepping द्वारा यह देखने में सक्षम होना चाहिए dmesg।)

set-nameआपके नेटप्लेन YAML में एक श्लोक है। बाद में बूट में, जो set-nameएक सिस्टम लिंक फ़ाइल में एक नया नाम बनाता है , जिसे udv द्वारा पढ़ा जाता है। हालांकि, एक लिंक फ़ाइल का नाम बदलने का कारण नहीं होगा यदि यह पहले से ही नाम बदल दिया गया है। आपके मामले में तब, डिवाइस का नाम नहीं बदला जाएगा क्योंकि यह शायद पहले initrd में बदला गया है।

मैंने इस बारे में systemd ( समस्या # 9006 - "udev: इंटरफ़ेस नाम लिंक फ़ाइल में लागू नहीं") के खिलाफ एक बग खोला । मैंने नेटप्लान ( PR # 31 - "डिवाइस का नाम बदलने के लिए udev नियम फ़ाइलों को जनरेट करें") में एक बदलाव का प्रस्ताव रखा, जिससे एक systemd नियम फ़ाइल के साथ-साथ एक लिंक फ़ाइल भी बनेगी , क्योंकि एक नियम फ़ाइल को भी सम्मानित किया जाता है चाहे डिवाइस पहले ही नाम बदल दिया गया है।

वर्कअराउंड के रूप में, net.ifnames=0कर्नेल कमांड लाइन पर बूट करने का प्रयास करें । एक दीर्घकालिक समाधान के लिए, नेटप्लान में मेरे परिवर्तन को बायोनिक में वापस लाने और अगले महीने या उसके बाद जारी करने की अपेक्षा करें।


यह अब नेटप्लान 0.36.3 के साथ तय किया गया है
dja

इसने मेरे लिए इसे अप-टू-डेट उबंटू 18.04.1 पर हल किया, जिसमें 2018-09-17 के प्रस्तावित अपडेट और सुरक्षा शामिल हैं। मैंने set-nameअभी के लिए निर्देशों को अक्षम कर दिया है , net.ifnames=0कर्नेल cmdline की कोशिश नहीं की । इसके साथ set-name, उपकरणों का नाम बदल दिया गया, लेकिन ऊपर नहीं लाया गया।
TheJJ

2

मेरे पास उबंटू 18.04 पर वास्तव में एक ही मुद्दा है, लेकिन आर। पीट्सच का समाधान इसे हल नहीं करता है :(

sudo crontab -e
@reboot /usr/sbin/netplan apply

मैंने रूट उपयोगकर्ता को सक्षम करने का भी प्रयास किया, कि यह Ubuntu पर डिफ़ॉल्ट रूप से अक्षम है, लेकिन कोई भाग्य नहीं।

कनेक्टिविटी हासिल करने का एकमात्र तरीका यह है:

  1. अपने स्वयं के कीबोर्ड का उपयोग करके मशीन में प्रवेश करें;
  2. "sudo netplan apply" टाइप करें;
  3. तो मैं अंततः मशीन में SSH करने में सक्षम हूँ।

अगर मैं "sudo netplan लागू नहीं करता", तो मेरा मशीन पर कोई संबंध नहीं है। सॉफ्टवेयर के टूटे हुए टुकड़े को एलटीएस रिलीज में डालना कैसे संभव है?

मैं अपने परिदृश्य के बारे में अधिक जानकारी जोड़ना चाहूंगा, अन्य लोगों के लिए उपयोगी हो सकता है कि हम जिस घटना के बारे में बात कर रहे हैं उसे पहचान सकें। यह वही है जो मेरे मामले में हो रहा था:

  • मैंने अपने Intel NUC पर Ubuntu १install.०४ को netinstall का उपयोग करके स्थापित किया;
  • जब मैंने वायरलेस कनेक्ट किया, तो स्टैटिक आईपी एड्रेस प्राप्त करने के लिए मैंने नेटप्लेन YAML फाइल को कॉन्फ़िगर किया;
  • मैंने इसे "sudo netplan apply" के साथ लागू किया;
  • मैंने अपना NUC रिबूट किया;
  • मैंने अपनी विंडोज मशीन से एक "पिंग-टी" लॉन्च किया;
  • एक बार फिर से शुरू करने के बाद, NUC ने LXDE लॉगिन प्रॉम्प्ट दिखाया;
  • उस समय, NUC पिंग के अनुसार पहुंच से बाहर था;
  • मैंने लॉग इन किया, "sudo netplan apply" टाइप किया और कुछ सेकंड के बाद यह उपलब्ध हो गया।

मुझे लगता है कि नेटप्लान / etc / नेटवर्क / इंटरफेस की तुलना में एक अच्छा सुधार है, लेकिन यह व्यवहार जल्द से जल्द तय किया जाना चाहिए :)

अपडेट करें:

मैंने निम्नलिखित आदेशों का उपयोग करके इस समस्या को डीबग किया:

$ journalctl --no-pager -lu systemd-networkd
$ networkctl

ऐसा लगता है कि यह LXDE में नेटवर्क प्रबंधक पैनल के साथ हस्तक्षेप कर रहा था। यहां तक ​​कि अगर कनेक्शन "अप्रबंधित" के रूप में प्रदर्शित किए गए थे, तो मैंने "सक्षम नेटवर्किंग" को अन-चेक किया और ऐसा लगता है कि इसने समस्या को ठीक कर दिया है।

हम इसे बंद कर सकते हैं :)


2

मैंने अब इसे Ubuntu 18.04 के साथ आज़माया है और मुझे लगता है कि यह बग ठीक कर लिया गया है।
यह अब मेरे लिए काम करता है।


इसे नेटप्लान 0.36.3 के साथ तय किया जाना चाहिए
dja

1
नहीं, मुझे यह आज ठीक है
डारियो फुमगल्ली

और ... आज के रूप में, मेरे पास एक नया और नवीनीकृत उबंटू 18.04 सर्वर है और यह अभी भी होता है!
दारियो फुमगल्ली

0

मैंने सम्मिलित करके इस समस्या को ठीक किया

@reboot /usr/sbin/netplan apply

जड़ के crontab में। समस्या का वास्तविक समाधान नहीं है, लेकिन इसे हल करने वाला एक समाधान है।


0

Ubuntu 18.04 के साथ, मेरे लिए नेटप्लान भी काफी नया था, मैंने फ़ाइल बनाने और चलाने के लिए एक गाइड का पालन ​​किया और आप की तरह, कभी भी रिबूट से कनेक्टिविटी चली गई थी।/etc/netplan/01-netcfg.yamlsudo netplan apply

मैन्युअल रूप से चलने sudo netplan applyसे यह फिर से काम करने लगा। लेकिन यह कष्टप्रद था।

मेरे मामले में /etc/network/interfacesसभी enp0 ** श्लोक को संपादित करने और टिप्पणी करने के लिए समाधान था (यह देखें कि वे आपके सिस्टम में कैसे कहे जाते हैं)।

फिर रिबूट करें।

मूल रूप से / etc / nwtwork / इंटरफेस में पुराने कॉन्फ़िगरेशन नेटप्लान के साथ विरोध कर रहे थे।


1
यह पूछे जाने वाले प्रश्न का उत्तर नहीं देता है।
थॉमस वार्ड

0

मेरे पास एक मुद्दा था जहां मुझे घटनाओं को फिर से संगठित करने की आवश्यकता थी। अनिवार्य रूप से नेटप्लान ने सभी विन्यास सही किए लेकिन नेटवर्कड ने इसे अनदेखा कर दिया। उपकरणों को "नेटप्लान लागू करें" के रूप में प्रतिस्थापित करना इसे ठीक करेगा।

तो कुछ समाधान के लिए की तरह हो सकता है

$ echo virtio0 | sudo tee /sys/bus/virtio/drivers/virtio_net/virtio0/driver/unbind
$ echo virtio0 | sudo tee /sys/bus/virtio/drivers/virtio_net/bind
(or other devices / drivers in your case)

शायद यह कुछ इस मुद्दे की तलाश में मदद करता है।

चूंकि मुझे लगता है कि यह वास्तव में एक बग है जिसके बारे में मैंने यह बग दर्ज किया है।


0

ठीक है बेहतर जवाब मैंने यह तय किया कि जब तक नेटप्लान तय नहीं हो जाता है तब तक वह तब तक चलेगा। sudo apt install ifupdown तो इंटरफ़ेस sudo नैनो / etc / नेटवर्क / इंटरफेस को कॉन्फ़िगर करें

ऑटो enp3s0 iface enp3s0 इनसेट स्थिर पता 192.168.1.100 नेटमास्क 255.255.255.0 नेटवर्क 192.168.1.0 192.168.1.255 गेटवे 192.168.1.1 प्रसारणों के नाम-पत्र 192.168.1.0,8.8.8.8 प्रसारण

और जिसने भी इसे LTS सर्वर रिलीज़ में लागू किया है, उसने स्पष्ट रूप से इसका परीक्षण नहीं किया है


0

चूंकि यह एक जारी समस्या है इसलिए मेरे पास इस मुद्दे को हल करने के लिए एक और दृष्टिकोण है:

एक सिस्टम टाइमर बनाएं और बूट के बाद नेटवर्क स्टैटिंग लागू करें।

यहाँ स्क्रिप्ट है: check_network। आपको अपने साथ इंटरफ़ेस सुनिश्चित करने की आवश्यकता है 32।

#!/bin/bash
#
CMD="$(ip address | egrep -c "^[\s\t]*inet .* ens32$")"
if [ ${CMD} -eq "0" ]
then
   echo "check network not configured, configuring now..." | systemd-cat -p info
   netplan apply
else
   echo "check network ok" | systemd-cat -p info
fi

यह सेवा इकाई check_network.service है

[Unit]
Description=check if netplan configured network

[Service]
ExecStart=/root/jobs/check_network

[Install]
WantedBy=multi-user.target

और यह systemd टाइमर check_network.timer है जिसे बूट के बाद 30 सेकंड और फिर हर घंटे कहा जाता है

[Unit]
Description=check_network timer

[Timer]
OnBootSec=30s
OnUnitActiveSec=3600s
Persistent=true
Unit=check_network.service

[Install]
WantedBy=timers.target

Check_network को / root / जॉब्स पर कॉपी करें

Check_network.service को / etc / systemd / system पर कॉपी करें

Check_network.timer को / etc / systemd / system पर कॉपी करें

और फिर सेवा और टाइमर सक्षम करें

systemctl enable check_network.service
systemctl enable check_network.timer

0

18.04.1 को नेटप्लान उपयोगकर्ता यह मानता है कि नेटप्लान कॉन्फिगर को नेटवर्कड रिस्टार्ट पर पढ़ा जाता है - यह अपने आप में एक समस्या थी क्योंकि 10 अलग-अलग नेटवर्क सेवाएं हैं, जिन्हें सिस्टमक्टेल जानता है। उनमें से कोई भी वांछित परिणाम नहीं लाया, इसलिए मैंने पूरी मशीन को रिबूट करने का सहारा लिया। कोई फायदा नहीं। आखिरकार मुझे पता चला कि 'नेटप्लान लागू' यहां न केवल आवेदन करने में मदद करता है बल्कि वाक्यविन्यास दोष भी दर्शाता है। इसलिए बदलाव के बाद ऐसा लगता है कि आपको नेटप्लान आवेदन करना है और फिर आप कर रहे हैं। यह मैनुअल में वर्णित नहीं है जब तक कि मैं इसे याद नहीं करता, इसलिए मैं इसे यहां मेरे जैसे अन्य छोटे कीड़े के लिए शामिल करता हूं।


0

/ Etc / netplan फ़ाइल में सब कुछ क्लाउड-इनिट सामान (तकनीकी शब्द मुझे पता है) द्वारा उत्पन्न होता है

संपादित करें /etc/cloud/cloud.cfg/50-curtin-networking.cfg उसी तरह जैसे आप /etc/netplan/*.yaml फ़ाइल को संपादित कर रहे थे।

फिर क्लाउड-इनिट क्लीन क्लाउड-इनिट इनिट सुडो नेटप्लान लागू करें

मैं netplan के साथ वाईफाई सामान पर छोड़ दिया है, और बस ifupdown में वापस चला गया। नेटप्लान के साथ ऐसा करने की कोशिश करने वाले किसी को भी शुभकामनाएं, जैसा कि मैंने पढ़ा है कि उबंटू वास्तव में 18.04 को खराब हो गया था जब वे पूरी तरह से ifupdown को कचरा नहीं करते थे और क्लाउड-इनिट का पूरा समर्थन नहीं करते थे। :( शायद 19.04 में चीजें बेहतर होंगी। आशा है कि ऊपर दी गई जानकारी से किसी को मदद मिलेगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.