Netplan ve nasıl doğru şekilde hazırlanacağı

Ubuntu harika bir işletim sistemi, uzun süredir Ubuntu sunucusuyla çalışmadım ve Masaüstümü kararlı sürümden yükseltmenin bir anlamı yoktu. Ve kısa bir süre önce Ubuntu sunucusu 18.04'ün en son sürümüyle uğraşmak zorunda kaldım, zamanın çok gerisinde olduğumu ve ağ arayüzlerini kurmak için eski güzel sistem nedeniyle bir ağ kuramadığımı fark ettiğimde şaşkınlığım sınır tanımadı. /etc/network dosyasını /interfaces düzenlemek boşa gitti. Peki onun yerine ne geldi? korkunç ve ilk bakışta tamamen anlaşılmaz bir şey, "Netplan" ile tanışın.

Dürüst olmak gerekirse ilk başta sorunun ne olduğunu ve "buna neden ihtiyaç duyulduğunu, çünkü her şey çok uygundu" anlayamadım ama biraz pratik yaptıktan sonra bunun kendine has bir çekiciliği olduğunu fark ettim. Netplan'ın ne olduğuna devam edelim, bu Ubuntu'daki ağ ayarları için yeni bir yardımcı program, en azından “Diğer dağıtımlarda böyle bir şey görmedim.” Netplan arasındaki önemli bir fark, konfigürasyonun dilde yazılmış olmasıdır. YAMLevet doğru duydunuz YAML, geliştiriciler çağa ayak uydurmaya karar verdi (ve ne kadar övseler de ben hala berbat bir dil olduğunu düşünüyorum). Bu dilin en büyük dezavantajı boşluklara karşı çok hassas olmasıdır, bir örnek kullanarak yapılandırmaya bakalım.

Yapılandırma dosyaları /etc/netplan/filename.yaml yolu boyunca bulunur, her blok arasında +2 boşluk olmalıdır.

1) Standart başlık şuna benzer:

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

Şimdi ne yaptığımıza bakalım:

  • ağ: - bu, yapılandırma bloğunun başlangıcıdır.
  • oluşturucu: networkd - burada kullanacağımız ağ yöneticisini belirtiyoruz, bu ya networkd ya da NetworkManager'dır
  • sürüm: 2 - anladığım kadarıyla burada YAML sürümü var.
  • ethernets: - bu blok ethernet protokolünü yapılandıracağımızı gösterir.
  • enps0f0: — hangi ağ bağdaştırıcısını yapılandıracağımızı belirtin.
  • dhcp4:no - 4 v6 dhcp6 için sırasıyla DHCP v6'ü devre dışı bırakın

2) IP adreslerini atamayı deneyelim:

    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

Burada haşhaş, ipv4, ağ geçidi ve dns sunucusunu ayarlıyoruz. Birden fazla IP adresine ihtiyacımız varsa, bunları virgülle ayırarak ve ardından zorunlu bir boşluk bırakarak yazdığımızı unutmayın.

3) Ya ihtiyacımız olursa yapıştırma?

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

  • bonds: - bonding'i yapılandıracağımızı açıklayan bir blok.
  • bond0: - isteğe bağlı arayüz adı.
  • arayüzler: - bir bağda toplanan bir arayüz seti, "daha önce belirtildiği gibi, eğer birkaç parametre varsa, bunları köşeli parantez içinde tanımlarız."
  • parametreler: — parametre ayarları bloğunu açıklayın
  • mod: — bağlamanın çalışacağı modu belirtin.
  • mii-monitor-interval: — izleme aralığını 1 saniyeye ayarlayın.

Bond adlı bloğun içinde adresler, ağ geçidi4, yollar vb. gibi parametreleri de yapılandırabilirsiniz.

Ağımız için yedeklilik ekledik, artık geriye sadece kurulum kaldı vlan ve kurulum tamamlanmış sayılabilir.

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: — vlan yapılandırma bloğunu bildirin.
  • vlan10: — vlan arayüzünün isteğe bağlı adı.
  • id: — vlan'ımızın etiketi.
  • bağlantı: — vlan'a erişilebilecek arayüz.
  • rotalar: — bir rota açıklama bloğu bildirin.
  • — ila: — rotanın gerekli olduğu adresi/alt ağı ayarlayın.
  • aracılığıyla: — alt ağımıza erişilebilecek ağ geçidini belirtin.
  • on-link: — bağlantı yükseltildiğinde rotaların her zaman kaydedilmesi gerektiğini belirtiriz.

Boşlukları nasıl yerleştirdiğime dikkat edin, YAML'de bu çok önemli.

Böylece ağ arayüzlerini tanımladık, bağ oluşturduk ve hatta vlan'lar ekledik. Konfigürasyonumuzu uygulayalım, netplan application komutu konfigürasyonumuzu hatalara karşı kontrol edecek ve başarılı olursa uygulayacaktır.Daha sonra sistem yeniden başlatıldığında konfigürasyon kendi kendine yükseltilecektir.

Önceki tüm kod bloklarını topladıktan sonra şunu elde ettik:

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]
    

Artık ağımız çalışmaya hazır, her şeyin ilk başta göründüğü kadar korkutucu olmadığı ve kodun çok güzel ve okunabilir olduğu ortaya çıktı. PC netplan için teşekkür ederim bağlantıda mükemmel bir kılavuz var https://netplan.io/.

Kaynak: habr.com

Yorum ekle