Netplan và cách chuẩn bị đúng cách

Ubuntu là một hệ điều hành tuyệt vời, tôi đã không làm việc với máy chủ Ubuntu trong một thời gian dài và việc nâng cấp Máy tính để bàn của tôi từ phiên bản ổn định chẳng ích gì. Và cách đây không lâu, tôi phải đối mặt với bản phát hành mới nhất của máy chủ Ubuntu 18.04, sự ngạc nhiên của tôi không có giới hạn khi nhận ra rằng mình đã lạc hậu vô cùng và không thể thiết lập mạng vì hệ thống cũ tốt để thiết lập giao diện mạng của việc chỉnh sửa tập tin/etc/mạng/giao diện đã bị thất bại. Và cái gì đã thay thế nó? có điều gì đó khủng khiếp và thoạt nhìn hoàn toàn không thể hiểu được, hãy gặp “Netplan”.

Thành thật mà nói, lúc đầu tôi không hiểu vấn đề là gì và “tại sao lại cần cái này, vì mọi thứ đều quá tiện lợi”, nhưng sau một thời gian luyện tập tôi nhận ra rằng nó có sức hấp dẫn riêng. Hãy tiếp tục với Netplan là gì, đây là một tiện ích mới dành cho cài đặt mạng trong Ubuntu, ít nhất là “Tôi chưa thấy thứ gì giống như thế này trong các bản phân phối khác.” Điểm khác biệt đáng kể giữa Netplan là cấu hình được viết bằng ngôn ngữ YAML, vâng, bạn đã nghe đúng YAML, các nhà phát triển đã quyết định theo kịp thời đại (và dù họ có khen ngợi nó bao nhiêu đi chăng nữa, tôi vẫn nghĩ đó là một ngôn ngữ tệ hại). Nhược điểm chính của ngôn ngữ này là nó rất nhạy cảm với khoảng trắng, hãy xem cấu hình bằng một ví dụ.

Các tập tin cấu hình nằm dọc theo đường dẫn /etc/netplan/filename.yaml, giữa mỗi khối phải có + 2 dấu cách.

1) Tiêu đề tiêu chuẩn trông như thế này:

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

Hãy xem những gì chúng tôi đã làm bây giờ:

  • mạng: - đây là phần bắt đầu của khối cấu hình.
  • renderer: networkd - ở đây chúng tôi chỉ ra trình quản lý mạng mà chúng tôi sẽ sử dụng, đây là networkd hoặc NetworkManager
  • version: 2 - theo tôi hiểu thì ở đây là phiên bản YAML.
  • ethernets: - khối này cho biết rằng chúng tôi sẽ định cấu hình giao thức ethernet.
  • enps0f0: - cho biết bộ điều hợp mạng nào chúng tôi sẽ định cấu hình.
  • dhcp4:no - tắt DHCP v4, tương ứng cho 6 v6 dhcp6

2) Hãy thử gán địa chỉ 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

Ở đây chúng tôi đặt máy chủ poppy, ipv4, cổng và dns. Lưu ý rằng nếu chúng ta cần nhiều hơn một địa chỉ IP thì chúng ta viết chúng cách nhau bằng dấu phẩy và có dấu cách bắt buộc sau đó.

3) Nếu chúng ta cần thì sao liên kết?

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

  • trái phiếu: - một khối giải thích rằng chúng ta sẽ cấu hình liên kết.
  • bond0: - tên giao diện tùy ý.
  • giao diện: - một tập hợp các giao diện được thu thập trong một liên kết, “như đã nêu trước đó, nếu có một số tham số, chúng tôi mô tả chúng trong dấu ngoặc vuông.”
  • tham số: - mô tả khối cài đặt tham số
  • mode: - chỉ định chế độ mà liên kết sẽ hoạt động.
  • mii-monitor-interval: — đặt khoảng thời gian giám sát thành 1 giây.

Bên trong khối có tên là bond, bạn cũng có thể định cấu hình các tham số như địa chỉ, cổng4, tuyến đường, v.v.

Chúng tôi đã thêm dự phòng cho mạng của mình, bây giờ tất cả những gì còn lại là cài đặt vlan và việc thiết lập có thể được coi là hoàn tất.

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: — khai báo khối cấu hình vlan.
  • vlan10: — tên tùy ý của giao diện vlan.
  • id: — thẻ của vlan của chúng tôi.
  • link: — giao diện mà qua đó vlan sẽ có thể truy cập được.
  • tuyến đường: - khai báo khối mô tả tuyến đường.
  • — đến: — đặt địa chỉ/mạng con mà tuyến đường cần đến.
  • via: — chỉ định cổng mà qua đó mạng con của chúng tôi có thể truy cập được.
  • on-link: — chúng tôi chỉ ra rằng các tuyến phải luôn được đăng ký khi liên kết được nâng lên.

Hãy chú ý đến cách tôi đặt dấu cách; điều này rất quan trọng trong YAML.

Vì vậy, chúng tôi đã mô tả các giao diện mạng, tạo liên kết và thậm chí thêm vlan. Hãy áp dụng cấu hình của chúng ta, lệnh netplan apply sẽ kiểm tra lỗi cấu hình của chúng ta và áp dụng nó nếu thành công.Tiếp theo, cấu hình sẽ tự nâng lên khi hệ thống được khởi động lại.

Sau khi thu thập tất cả các khối mã trước đó, đây là những gì chúng tôi có:

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]
    

Bây giờ mạng của chúng tôi đã sẵn sàng hoạt động, mọi thứ hóa ra không đáng sợ như lúc đầu và mã hóa ra rất đẹp và dễ đọc. PC cảm ơn bạn vì netplan, có một hướng dẫn tuyệt vời tại liên kết https://netplan.io/.

Nguồn: www.habr.com

Thêm một lời nhận xét