Netplan tidak berlaku saat startup

13

Saya menginstal Ubuntu 17.10 dengan pembaruan terbaru pada mesin virtual vmware. Netplan tidak mengkonfigurasi 2 ethernet saya.

Inilah /etc/netplan/01-netcfg.yaml saya

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

Saya beralih kembali ke perangkat yang dapat diprediksi seperti eth0, dan setelah boot semua perangkat dinamai dengan benar, tetapi tidak dikonfigurasi.

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

Setelah login dan jalankan systemctl restart perangkat systemd-networkd dikonfigurasi. Netplan berlaku juga melakukan pekerjaan.

Saya bermain sangat banyak dengan systemd-networkd.service dan systemd-networkd.timer tetapi tidak ada yang membantu.

Cukup frustasi mengatur jaringan secara manual setelah setiap reboot. Apakah ada yang tahu bagaimana mengatasi ini?

Thomas Aichinger
sumber
2
Pada saat boot, apa isi / run / systemd / network dan / run / systemd / netif?
slangasek
Ini sekarang harus diperbaiki dalam Bionic dengan netplan 0.36.3. Bisakah Anda mengujinya dan memberi tahu kami?
dja
2
Saya menggunakan 18,04 dan saya menghadapi masalah yang sama. Apakah Anda punya solusi?
gtzinos

Jawaban:

3

Saya pikir Anda telah menekan LP: # 1770082 - "systemd-networkd tidak mengganti nama perangkat saat boot".

Pada dasarnya, ketika sistem Anda boot, perangkat jaringan akan muncul sebagai eth0/ eth1dll. Urutannya tidak dapat diprediksi, jadi udev mengubah nama perangkat menjadi hal-hal seperti ens3atau enp2s0dalam fase boot awal. (Anda harus dapat melihat ini dengan menangkap output dari dmesg.)

Anda memiliki set-namebait di netplan Anda YAML. Kemudian di boot, yang set-namemenghasilkan aturan penggantian nama dalam file tautan systemd , yang dibaca oleh udev. Namun, file tautan tidak akan menyebabkan perangkat diganti namanya jika sudah diubah namanya. Dalam kasus Anda, perangkat tidak akan diganti nama karena mungkin sudah diganti nama sebelumnya di initrd.

Saya membuka bug terhadap systemd ( masalah # 9006 - "udev: nama antarmuka dalam file tautan tidak diterapkan") tentang hal ini. Saya juga mengusulkan perubahan ke netplan ( PR # 31 - "Hasilkan file aturan udev untuk mengganti nama perangkat") yang akan menyebabkan file aturan systemd dibuat serta file tautan, karena file aturan dihargai bahkan jika perangkat memiliki sudah diganti nama.

Sebagai solusinya, coba boot dengan net.ifnames=0pada baris perintah kernel. Untuk solusi jangka panjang, perkirakan perubahan saya ke netplan akan di-backport ke Bionic dan dirilis pada sekitar bulan depan.

dja
sumber
Ini sekarang diperbaiki dengan netplan 0.36.3
dja
Ini menyelesaikannya untuk saya di Ubuntu 18.04.1 yang terbaru termasuk pembaruan backports yang diajukan dan keamanan pada 2018-09-17. Saya menonaktifkan set-namearahan untuk saat ini, tidak mencoba net.ifnames=0cmdline kernel. Dengan set-name, perangkat diganti nama, tetapi tidak dibesarkan.
TheJJ
2

Saya memiliki masalah yang sama persis di Ubuntu 18.04, tetapi solusi R. Pietsch tidak menyelesaikannya :(

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

Saya juga mencoba mengaktifkan pengguna root, yang dinonaktifkan secara default di Ubuntu, tetapi tidak berhasil.

Satu-satunya cara saya harus mendapatkan konektivitas adalah dengan:

  1. login ke mesin menggunakan keyboard sendiri;
  2. ketik "sudo netplan apply";
  3. kemudian saya akhirnya bisa SSH ke dalam mesin.

Jika saya tidak "sudo netplan apply", saya tidak memiliki koneksi pada mesin. Bagaimana mungkin untuk membuat rilis LTS perangkat lunak yang rusak?

Saya ingin menambahkan rincian lebih lanjut tentang skenario saya, agar bermanfaat bagi orang lain untuk mengenali fenomena yang sedang kita bicarakan. Inilah yang terjadi dalam kasus saya:

  • Saya menginstal Ubuntu 18,04 pada Intel NUC saya menggunakan netinstall;
  • Saya mengkonfigurasi file YAML netplan untuk mendapatkan alamat ip statis ketika nirkabel terhubung;
  • Saya menerapkannya dengan "sudo netplan apply";
  • Saya reboot NUC saya;
  • Saya meluncurkan "ping -t" dari mesin Windows saya;
  • Setelah dimulai kembali, NUC menunjukkan prompt masuk LXDE;
  • Pada saat itu, NUC tidak dapat dijangkau sesuai dengan ping;
  • Saya login, ketikkan "sudo netplan apply" dan setelah beberapa detik menjadi terjangkau.

Saya pikir netplan adalah peningkatan yang baik dibandingkan dengan / etc / network / interfaces, tetapi perilaku ini harus diperbaiki secepatnya :)

MEMPERBARUI:

Saya mendebug masalah dengan menggunakan perintah berikut:

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

Tampaknya itu adalah panel Network Manager di LXDE yang mengganggu itu. Bahkan jika koneksi ditampilkan sebagai "tidak dikelola", saya menghapus centang "Aktifkan Jaringan" dan sepertinya itu memperbaiki masalah.

Kita bisa menutup yang ini :)

mati rasa
sumber
2

Saya sekarang sudah mencobanya dengan Ubuntu 18.04 dan saya pikir bug ini telah diperbaiki.
Ini bekerja untuk saya sekarang.

Thomas Aichinger
sumber
Itu harus diperbaiki dengan netplan 0.36.3
dja
1
Tidak, saya sudah benar hari ini
Dario Fumagalli
dan ... pada hari ini, saya memiliki server Ubuntu 18.04 yang baru dan diperbarui dan ini masih terjadi!
Dario Fumagalli
0

Saya memperbaiki masalah ini dengan memasukkan

@reboot /usr/sbin/netplan apply

ke dalam crontab root. Bukan solusi nyata untuk masalah itu, tetapi solusi yang memperbaikinya.

R. Pietsch
sumber
0

Dengan ubuntu 18.04, netplan juga cukup baru bagi saya, saya mengikuti panduan untuk membuat /etc/netplan/01-netcfg.yamlfile dan menjalankan sudo netplan applydan seperti Anda, pada saat reboot reboot konektivitasnya hilang.

Menjalankan secara manual sudo netplan applymembuatnya bekerja lagi. Tapi itu menyebalkan.

Dalam kasus saya solusinya adalah mengedit /etc/network/interfacesdan mengomentari semua bait enp0 ** (periksa bagaimana mereka dipanggil dalam sistem Anda).

Kemudian reboot.

Pada dasarnya konfigurasi lama di / etc / nwtwork / interface bertentangan dengan netplan.

firepol
sumber
Ini tidak menjawab pertanyaan yang diajukan.
Thomas Ward
0

Saya memiliki masalah di mana saya perlu retrigger acara. Netplan pada dasarnya melakukan semua konfigurasi dengan benar tetapi networkd mengabaikannya. Mengganti perangkat sebagai "netplan apply" akan memperbaikinya.

Jadi bagi sebagian orang solusinya mungkin seperti

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

Mungkin ini membantu beberapa orang mencari masalah ini.

Karena saya pikir ini sebenarnya bug, saya mengajukan bug ini tentang itu.

Christian Ehrhardt
sumber
0

Ok jawaban yang lebih baik saya perbaiki kembali ke ifupdown sampai netplan diperbaiki. sudo apt install ifupdown kemudian konfigurasikan antarmuka sudo nano / etc / network / interfaces

auto enp3s0 iface enp3s0 inet static address 192.168.1.100 netmask 255.255.255.0 jaringan 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.0.8.8.8.8

dan siapa pun yang menerapkan ini dalam rilis server LTS jelas tidak mengujinya

pengendara steve
sumber
0

Karena ini adalah masalah yang sedang berlangsung, saya memiliki pendekatan lain untuk menyelesaikan masalah ini:

Buat pengatur waktu systemd dan terapkan stettings jaringan setelah booting.

Ini skripnya: check_network. Anda perlu mengganti antarmuka EN32 dengan milik Anda.

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

Ini adalah unit layanan check_network.service

[Unit]
Description=check if netplan configured network

[Service]
ExecStart=/root/jobs/check_network

[Install]
WantedBy=multi-user.target

Dan ini adalah systemd timer check_network.timer yang disebut 30 detik setelah boot dan kemudian setiap jam

[Unit]
Description=check_network timer

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

[Install]
WantedBy=timers.target

Salin check_network ke / root / jobs

Salin check_network.service ke / etc / systemd / system

Salin check_network.timer ke / etc / systemd / system

Dan kemudian aktifkan service dan timer

systemctl enable check_network.service
systemctl enable check_network.timer
Thomas Aichinger
sumber
0

pengguna netplan pada 18.04.1 Asumsi bahwa konfigurasi netplan dibaca di networkd restart - ini sendiri merupakan sedikit masalah karena ada seperti 10 layanan jaringan berbeda yang diketahui oleh systemctl. Tidak ada dari mereka yang memberikan hasil yang diinginkan jadi saya terpaksa me-reboot seluruh mesin. Tidak berhasil. Akhirnya saya menemukan bahwa 'netplan apply' tidak membantu di sini tidak hanya dalam menerapkan tetapi juga menunjukkan kesalahan sintaksis. Jadi setelah perubahan tampaknya Anda harus melakukan netplan, dan kemudian Anda selesai. Ini tidak dijelaskan dalam manual kecuali saya melewatkannya jadi saya memasukkan ini di sini untuk cacing kecil miskin lainnya seperti saya.

Hans Kloss ke-23
sumber