Netplan dan cara menyediakannya dengan betul

Ubuntu ialah sistem pengendalian yang menakjubkan, saya sudah lama tidak bekerja dengan pelayan Ubuntu dan tiada gunanya menaik taraf Desktop saya daripada versi yang stabil. Dan tidak lama dahulu saya terpaksa berurusan dengan keluaran terbaru pelayan Ubuntu 18.04, kejutan saya tidak mengenal batas apabila saya menyedari bahawa saya ketinggalan zaman dan tidak dapat menyediakan rangkaian kerana sistem lama yang baik untuk menyediakan antara muka rangkaian oleh menyunting fail /etc/network /interfaces telah hilang. Dan apa yang datang untuk menggantikannya? sesuatu yang mengerikan dan pada pandangan pertama benar-benar tidak dapat difahami, temui "Netplan".

Sejujurnya, pada mulanya saya tidak dapat memahami apa yang berlaku dan "mengapa ini diperlukan, kerana semuanya sangat mudah," tetapi selepas sedikit latihan saya menyedari bahawa ia mempunyai daya tarikan tersendiri. Dan cukuplah liriknya, mari kita teruskan dengan apa itu Netplan, ini adalah utiliti baharu untuk tetapan rangkaian dalam Ubuntu, sekurang-kurangnya "Saya tidak melihat apa-apa seperti ini dalam pengedaran lain." Perbezaan ketara antara Netplan ialah konfigurasi ditulis dalam bahasa YAML, ya, anda dengar betul YAML, pembangun memutuskan untuk mengikuti perkembangan zaman (dan tidak kira berapa banyak mereka memujinya, saya masih fikir ia adalah bahasa yang mengerikan). Kelemahan utama bahasa ini ialah ia sangat sensitif terhadap ruang, mari kita lihat konfigurasi menggunakan contoh.

Fail konfigurasi terletak di sepanjang laluan /etc/netplan/filename.yaml, antara setiap blok harus ada + 2 ruang.

1) Pengepala standard kelihatan seperti ini:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4:no

Mari lihat apa yang telah kami lakukan sekarang:

  • rangkaian: - ini adalah permulaan blok konfigurasi.
  • renderer: networkd - di sini kami menunjukkan pengurus rangkaian yang akan kami gunakan, ini sama ada networkd atau NetworkManager
  • versi: 2 - di sini, seperti yang saya faham, ialah versi YAML.
  • ethernets: - blok ini menunjukkan bahawa kami akan mengkonfigurasi protokol ethernet.
  • enps0f0: β€” tunjukkan penyesuai rangkaian mana yang akan kami konfigurasikan.
  • dhcp4:no - lumpuhkan DHCP v4, masing-masing untuk 6 v6 dhcp6

2) Mari cuba berikan alamat IP:

    enp3s0f0:
      dhcp4:no
      macaddress: bb:11:13:ab:ff:32
      addresses: [10.10.10.2/24, 10.10.10.3/24]
      gateway4: 10.10.10.1
      nameservers:
        addresses: 8.8.8.8

Di sini kami menetapkan popi, ipv4, gerbang dan pelayan dns. Ambil perhatian bahawa jika kami memerlukan lebih daripada satu alamat IP, maka kami menulisnya dipisahkan dengan koma dengan ruang wajib selepasnya.

3) Bagaimana jika kita memerlukan ikatan?

  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1

  • bon: - blok yang menjelaskan bahawa kami akan mengkonfigurasi ikatan.
  • bond0: - nama antara muka sewenang-wenangnya.
  • antara muka: - satu set antara muka yang dikumpulkan dalam bon-ding, "seperti yang dinyatakan sebelum ini, jika terdapat beberapa parameter, kami menerangkannya dalam kurungan segi empat sama."
  • parameter: β€” terangkan blok tetapan parameter
  • mod: β€” tentukan mod yang mana ikatan akan berfungsi.
  • mii-monitor-interval: β€” tetapkan selang pemantauan kepada 1 saat.

Di dalam blok bernama bon, anda juga boleh mengkonfigurasi parameter seperti alamat, gerbang4, laluan, dll.

Kami telah menambah lebihan untuk rangkaian kami, kini yang tinggal hanyalah memasang vlan dan persediaan boleh dianggap selesai.

vlans: 
    vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      gateway: 10.10.10.1
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true

  • vlans: β€” mengisytiharkan blok konfigurasi vlan.
  • vlan10: β€” nama arbitrari antara muka vlan.
  • id: β€” tag vlan kami.
  • pautan: β€” antara muka yang melaluinya vlan boleh diakses.
  • laluan: β€” mengisytiharkan blok penerangan laluan.
  • β€” kepada: β€” tetapkan alamat/subnet yang laluannya diperlukan.
  • melalui: β€” nyatakan gerbang yang melaluinya subnet kami boleh diakses.
  • on-link: β€” kami menunjukkan bahawa laluan hendaklah sentiasa didaftarkan apabila pautan dinaikkan.

Beri perhatian kepada cara saya meletakkan ruang; ini sangat penting dalam YAML.

Jadi kami menerangkan antara muka rangkaian, mencipta ikatan, dan juga menambah vlan. Mari gunakan konfigurasi kami, arahan netplan apply akan menyemak konfigurasi kami untuk ralat dan gunakannya jika berjaya. Seterusnya, konfigurasi akan dinaikkan sendiri apabila sistem dibut semula.

Setelah mengumpulkan semua blok kod sebelumnya, inilah yang kami dapat:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4: no
    ensp3s0f1:
      dhcp4: no
  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1
  vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true
  vlan20:
    id: 20
    link: bond0
    dhcp4: no
    addresses: [10.10.11.2/24]
    gateway: 10.10.11.1
    nameserver:
      addresses: [8.8.8.8]
    

Sekarang rangkaian kami sedia untuk beroperasi, semuanya ternyata tidak seram seperti yang kelihatan pada mulanya dan kod itu ternyata sangat cantik dan boleh dibaca. PC terima kasih untuk netplan terdapat manual yang sangat baik pada pautan https://netplan.io/.

Sumber: www.habr.com

Tambah komen