Netplan başlangıçta geçerli değil


13

Ubuntu 17.10'u bir güncelleştirme vmware sanal makinesine yükledim. Netplan 2 ethernet'imi yapılandırmıyor.

İşte /etc/netplan/01-netcfg.yaml'im

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 gibi öngörülebilir aygıtlara geri döndüm ve önyüklemeden sonra tüm aygıtlar doğru şekilde adlandırıldı, ancak yapılandırılmadı.

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

Oturum açtıktan ve yangından sonra systemctl yeniden başlat systemd-networkd aygıtları yapılandırılır. netplan başvurusu da işi yapıyor.

Systemd-networkd.service ve systemd-networkd.timer ile çok oynadım ama hiçbir şey yardımcı olmadı.

Her yeniden başlatmanın ardından ağı manuel olarak kurmak oldukça sinir bozucudur. Bunu çözmeyi bilen var mı?


2
Önyükleme sırasında / run / systemd / network ve / run / systemd / netif içeriği nedir?
slangasek

Bu şimdi Bionic'de netplan 0.36.3 ile düzeltilmelidir. Test edip bize bildirir misiniz?
dja

2
18.04 kullanıyorum ve aynı sorunla karşı karşıyayım. Herhangi bir çözümün var mı?
gtzinos

Yanıtlar:


3

Bence LP'yi vurdunuz: # 1770082 - "systemd-networkd önyükleme sırasında cihazları yeniden adlandırmıyor".

Temel olarak, sisteminiz önyüklenirken, ağ cihazı eth0/ eth1vb. Olarak gelecektir . Sipariş öngörülebilir değildir, bu nedenle udev, cihazları önyüklemenin başlangıç ​​aşamasında ens3veya enp2s0bu gibi şeylerle yeniden adlandırır . (Bunu çıktısını açarak görebilmelisiniz dmesg.)

set-nameNetplan YAML'nizde bir stanza var . Daha sonra önyüklemede, udev tarafından okunan set-namebir systemd bağlantı dosyasında yeniden adlandırma kuralı oluşturur . Ancak, bir bağlantı dosyası, daha önce yeniden adlandırılmışsa bir cihazın yeniden adlandırılmasına neden olmaz. Sizin durumunuzda, cihaz yeniden adlandırılmayacaktır çünkü muhtemelen initrd içinde daha önce yeniden adlandırılmıştır.

Bu konuda systemd'e karşı bir hata açtım ( sayı # 9006 - "udev: bağlantı dosyasındaki arayüz adı uygulanmadı"). Ben de Netplan bir değişiklik (önerilen PR # 31 bir systemd neden olacaktır - "Udev aygıtları yeniden adlandırmak için dosyaları kuralları üret") kuralları bir kurallar dosya cihaz olsa bile onur gibi, dosya sıra bir bağlantı dosyası olarak oluşturulacak zaten yeniden adlandırıldı.

Çözüm net.ifnames=0olarak, çekirdek komut satırında önyüklemeyi deneyin . Uzun vadeli bir çözüm için, netplan değişikliğimin Bionic'e desteklenmesini ve önümüzdeki ay içinde serbest bırakılmasını bekle.


Bu artık Netplan 0.36.3 ile sabittir
DJA

Bu, 2018-09-17'de önerilen backport güncellemeleri ve güvenlik dahil olmak üzere güncel Ubuntu 18.04.1'de benim için çözdü. set-nameŞimdilik yönergeleri devre dışı bıraktım , net.ifnames=0çekirdek cmdline'ını denemedim . İle set-name, cihazlar yeniden adlandırıldı, ancak yetiştirilmedi.
TheJJ

2

Ubuntu 18.04'te tam olarak aynı sorunu yaşıyorum, ancak R. Pietsch'in çözümü bunu çözmüyor :(

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

Ayrıca kök kullanıcıyı etkinleştirmeye çalıştım, Ubuntu'da varsayılan olarak devre dışı bırakıldı, ancak şans yok.

Bağlantı kazanmak için tek yolu:

  1. kendi klavyesini kullanarak makineye giriş yapın;
  2. "sudo netplan uygula" yazın;
  3. Sonunda SSH'yi makineye sokabiliyorum.

Eğer "sudo netplan uygulansam", makinede hiçbir bağlantım yok. Böyle bir kırık yazılım parçasını bir LTS sürümüne koymak nasıl mümkün olabilir?

Senaryom hakkında daha fazla ayrıntı eklemek, bahsettiğimiz fenomeni tanımak için diğer insanlara faydalı olmak istiyorum. Benim durumumda olan buydu:

  • Netinstall'u kullanarak Ubuntu 18.04'ü Intel NUC'uma kurdum;
  • Kablosuz bağlandığında netplan YAML dosyasını statik bir ip adresi alacak şekilde yapılandırdım;
  • Ben "sudo netplan uygulamak" ile uyguladım;
  • NUC'umu yeniden başlattım;
  • Windows makinemden bir "ping -t" başlattım;
  • Yeniden başlatıldıktan sonra NUC, LXDE oturum açma istemini gösterdi;
  • Bu noktada, NUC ping'e göre ulaşılamazdı;
  • Giriş yaptım, "sudo netplan uygulamak" yazdım ve birkaç saniye sonra ulaşılabilir oldu.

Bence netplan / etc / network / interfaces ile karşılaştırıldığında iyi bir gelişme, ancak bu davranış en kısa zamanda düzeltilmelidir :)

GÜNCELLEME:

Aşağıdaki komutları kullanarak sorunu ayıkladım:

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

Görünüşe göre LXDE'deki Network Manager paneli buna müdahale ediyor. Bağlantılar "yönetilmeyen" olarak görüntülense bile, "Ağı Etkinleştir" in işaretini kaldırdım ve sorun giderildi.

Bunu kapatabiliriz :)


2

Şimdi Ubuntu 18.04 ile denedim ve bu hatanın giderildiğini düşünüyorum.
Şimdi benim için çalışıyor.


Bu Netplan 0.36.3 ile sabit olmalıdır
DJA

1
Hayır, bugün anladım
Dario Fumagalli

ve ... bugün itibariyle, yeni ve güncellenmiş bir Ubuntu 18.04 sunucum var ve bu hala oluyor!
Dario Fumagalli

0

Ekleyerek bu sorunu çözdüm

@reboot /usr/sbin/netplan apply

kök crontab içine. Sorunun gerçek çözümü değil, sorunu çözen bir çözüm.


0

Ubuntu 18.04 ile netplan da benim için oldukça yeniydi, dosyayı oluşturmak ve çalıştırmak için bir rehber izledim ve sizin gibi, yeniden başlatıldığında bağlantı kesildi./etc/netplan/01-netcfg.yamlsudo netplan apply

Manuel olarak çalıştırılması sudo netplan applytekrar çalışmasını sağladı. Ama bu sinir bozucuydu.

Benim durumumda çözüm /etc/network/interfacestüm enp0 ** stanzalarını düzenlemek ve yorumlamaktı (sisteminizde nasıl çağrıldıklarını kontrol edin).

Sonra yeniden başlatın.

Temel olarak / etc / nwtwork / arabirimlerindeki eski yapılandırma netplan ile çakışıyordu.


1
Bu, sorulan soruya cevap vermiyor.
Thomas Ward

0

Olayları geri almam gereken bir sorunum vardı. Aslında netplan tüm yapılandırmayı doğru yaptı ancak networkd bunu görmezden geldi. Cihazların "netplan uygula" olarak yeniden takılması sorunu çözecektir.

Bu yüzden bazıları için çözüm,

$ 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)

Belki bu, bazılarının bu sorunu aramasına yardımcı olur.

Bu aslında açılan bir hata olduğunu düşünüyorum bu yana bu hatayı bu konuda.


0

Tamam daha iyi cevap Ben netplan düzeltilene kadar ifupdown geri gitmek sabit. sudo apt install ifupdown sonra sudo nano / etc / network / interfaces arabirimini yapılandırın

otomatik enp3s0 iface enp3s0 inet statik adresi 192.168.1.100 netmask 255.255.255.0 ağ 192.168.1.0 yayın 192.168.1.255 ağ geçidi 192.168.1.1 dns-ad sunucuları 192.168.1.0.8.8.8.8

ve bunu bir LTS sunucu sürümüne kim uyguladıysa test etmedi


0

Bu süregelen bir konu olduğundan, bu sorunu çözmek için başka bir yaklaşımım daha var:

Bir systemd zamanlayıcısı oluşturun ve önyüklemeden sonra ağ işaretlerini uygulayın.

İşte betiği: check_network. Ens32 arabirimini kendinizle değiştirmeniz gerekir.

#!/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

Bu check_network.service servis birimidir

[Unit]
Description=check if netplan configured network

[Service]
ExecStart=/root/jobs/check_network

[Install]
WantedBy=multi-user.target

Ve bu önyüklemeden sonra 30 saniye sonra her saat denilen systemd zamanlayıcısı check_network.timer

[Unit]
Description=check_network timer

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

[Install]
WantedBy=timers.target

Check_network öğesini / root / jobs dizinine kopyalayın

Check_network.service dosyasını / etc / systemd / system dizinine kopyalayın

Check_network.timer dosyasını / etc / systemd / system dizinine kopyalayın

Ardından hizmeti ve zamanlayıcıyı etkinleştirin

systemctl enable check_network.service
systemctl enable check_network.timer

0

netplan kullanıcısı 18.04.1'de netplan yapılandırmasının networkd yeniden başlatıldığında okunduğu varsayımı - systemctl'in bildiği 10 farklı ağ hizmeti olduğu için bu kendi başına bir problemdi. Hiçbiri istenen sonucu vermedi, bu yüzden tüm makineyi yeniden başlatmaya başvurdum. Boşuna. Sonunda 'netplan uygula' nın sadece uygulamada değil, aynı zamanda sözdizimi hatalarını göstermede de yardımcı olduğunu öğrendim. Yani değişiklikten sonra netplan uygulamak zorundasınız ve sonra bitmiş gibi görünüyor. Bu, benim gibi diğer kötü küçük solucanlar için buraya dahil etmediğim için bu el kitabında tarif edilmez.


0

/ Etc / netplan dosyasındaki her şey cloud-init şeyler tarafından oluşturulur (teknik terim biliyorum)

/Etc/cloud/cloud.cfg/50-curtin-networking.cfg dosyasını /etc/netplan/*.yaml dosyasını düzenlerken kullandığınız gibi düzenleyin.

Sonra bulut init çalıştır temiz bulut init init sudo netplan uygulayın

Netplan ile wifi şeyler vazgeçtim ve sadece ifupdown için geri döndü. Ubuntu'nun ifupdown'u tamamen çöpe atmadığı ve bulut init'i tam olarak desteklemediği zaman 18.04'te gerçekten berbat olduğunu okuduğum için netplan ile bunu yapmaya çalışan herkese iyi şanslar. :( Belki de 19.04'te işler daha iyi olacaktır. Umarım yukarıda verdiğim bilgiler birine yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.