Netplan dan cara menyediakannya dengan betul

Ubuntu sistem pengendalian yang menakjubkan, sudah lama tidak menggunakannya Ubuntu pelayan, dan mengemas kini Desktop saya daripada versi stabil tidak masuk akal. Dan kemudian, tidak lama dahulu, saya terpaksa berurusan dengan keluaran baharu. Ubuntu Di pelayan 18.04, saya benar-benar kagum apabila menyedari bahawa saya jauh ketinggalan zaman dan tidak dapat mengkonfigurasi rangkaian saya kerana sistem lama yang baik untuk mengkonfigurasi antara muka rangkaian dengan mengedit fail /etc/network/interfaces telah lenyap. Dan apa yang menggantikannya? Sesuatu yang menakutkan dan, pada pandangan pertama, langsung tidak dapat difahami—bertemu "Netplan."

Sejujurnya, pada mulanya saya tidak faham apa itu dan "mengapa ia perlu, lagipun, semuanya begitu mudah," tetapi selepas sedikit latihan, saya menyedari ia mempunyai daya tarikannya yang tersendiri. Jadi, cukuplah perbualan lirik itu, mari kita teruskan dengan apa itu Netplan. Ini ialah utiliti baharu untuk mengkonfigurasi rangkaian dalam Ubuntu, sekurang-kurangnya "Saya tidak pernah menemui apa-apa seperti ini dalam pengedaran lain." Perbezaan ketara dengan 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

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster