首頁 > 軟體

使用Netplan進行快速網路設定

2020-06-16 17:10:14

本週早些時候,我在 Artful 中上傳了 netplan 0.21,穩定版本的 SRU 還在開發中。後續還會有很多值得期待的功能,但目前的版本已經相當好用。現在,你已經可以用它來描述桌面計算機和伺服器的典型網路設定,甚至是一些有趣、複雜的設定,比如跨多個 VLAN 係結橋接...

使用入門

最簡單的 netplan 設定看起來類似如下所示:

# Let NetworkManager manage all devices on this system

network:

  version: 2

  renderer:NetworkManager

啟動時,netplan 會發現此設定(自版本 16.10 起所有新系統均已安裝此設定),並生成一個空檔案:/run/NetworkManager/conf.d/10-globally-managed-devices.conf。這將告訴系統,NetworkManager 是系統中唯一的網路設定渲染器,並且預設情況下將由它管理所有裝置。

初試:一個簡單的伺服器

我們先在一個假設的 Web 伺服器上試一下,例如我最愛用的測試伺服器:www.perdu.com。

network:

  version: 2

  ethernets:

    eth0:

      dhcp4:true

這個超級簡單的設定告訴系統,eth0 裝置將使用 DHCP4 啟動。netplan 還支援 DHCPv6,以及靜態 IP、設定路由等功能。

進階:構建更複雜的設定

假設我需要兩個網絡卡為一組,用它們連線我網路上的 VLAN 108:

network:

              version: 2

              ethernets:

                eth0:

                  dhcp4:n

                eth1:

                  mtu: 1280

                  dhcp4:n

              bonds:

                bond0:

                interfaces:

                  - eth1

                  - eth0

                  mtu: 9000

              vlans:

                bond0.108:

                  link:bond0

                  id: 108

可以看到,哪怕是設定極其複雜的網路,操作起來也輕而易舉,只用一個檔案就能全部搞定。而且最妙的是,你不用去操心實際的設定是什麼。

可選不同後端

目前,netplan 支援 NetworkManager 或 systemd-networkd 作為後端。預設會使用 systemd-networkd,但是考慮到它不支援無線網路,所以這裡我們還是需要依靠 NetworkManager。

你之所以無需在意最終由什麼來支援你的設定,是因為 netplan 會為你抽象出這一切。它會根據 "renderer" 屬性生成必需的設定,因此你無需知道如何在每個後端定義特殊的裝置屬性。

正如我前面提到的,我們還在努力增添更多功能,但核心就是這些:netplan 可設定系結、橋接、vlan、獨立網路介面,並且同時適用於靜態地址和 DHCP 地址。它還支援許多用來對系結裝置或橋接裝置的精確行為進行微調的常用橋接及系結引數。

敬請期待…

接下來我將新增適當的支援,讓大家能在裝置上設定“克隆”MAC。目前,我正在檢查這方面的程式碼,全力掃清最後的問題。

另外,我還計劃改進對裝置管理狀態的處理;並解決與支援 MaaS 相關的一些錯誤,在這方面,簡單的設定風格確實有獨到之處。

一想到 netplan 未來的發展,我就特別興奮。它對於解決其他工具目前存在的一些短板似乎有著巨大的潛力。我也很想聽聽大家日常使用 netplan 的故事,所以如果你正在使用它,快來與我分享你的心得體會吧!

原文發表於 Mathieu Trudel-Lapierre 的個人部落格 

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-07/145683.htm


IT145.com E-mail:sddin#qq.com