Netplan 是一個用於配置網絡的工具,Ubuntu 在 17.10 版本之後引入了它來取代傳統的 /etc/network/interfaces
文件。Netplan 使用 YAML 文件來描述網絡接口和設置,然後將配置應用於後端渲染器(如 NetworkManager
或 systemd-networkd
),從而管理網絡。
Netplan 的基本概念
- 配置文件: Netplan 的配置文件位於
/etc/netplan/
目錄中,通常以.yaml
結尾。這些文件描述了系統的網絡設置。 - 渲染器: Netplan 支持兩種渲染器:
NetworkManager
:通常用於桌面環境。systemd-networkd
:通常用於伺服器和無頭系統。
基本結構
以下是 Netplan 配置文件的一個簡單範例:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
network
:這是配置文件的頂層關鍵字。version
:指定 Netplan 的配置版本,通常是2
。renderer
:指定要使用的渲染器,如networkd
或NetworkManager
。ethernets
:描述以太網接口的設置。eth0
:接口名稱(如eth0
、enp3s0
)。dhcp4
:啟用 DHCP 分配 IPv4 地址。
常見配置示例
- 靜態 IP 配置
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
addresses
:指定靜態 IP 地址和子網掩碼。gateway4
:指定默認網關。nameservers
:配置 DNS 伺服器。
- 使用 DHCP
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
dhcp4: yes
:啟用 DHCP,系統會自動獲取 IP 地址和其他網絡設置。
- 配置多個 IP 地址
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.1.100/24
- 192.168.1.101/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 你可以為同一個接口配置多個 IP 地址。
- VLAN 配置
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
vlans:
vlan10:
id: 10
link: eth0
addresses:
- 192.168.10.1/24
vlans
:配置 VLAN 接口。id
:VLAN ID。link
:指定與 VLAN 相關聯的物理接口。
應用配置
- 生成和應用配置
- 當你編輯完 Netplan 的 YAML 配置文件後,可以使用以下命令來應用配置:
bash sudo netplan apply
- 檢查配置
- 在應用配置之前,你可以使用以下命令來檢查 YAML 文件是否有語法錯誤:
bash sudo netplan try
- 這個命令會臨時應用配置,如果配置錯誤,系統會在 120 秒後自動回滾到之前的狀態。
- 調試模式
- 如果遇到問題,你可以使用調試模式來獲取更多信息:
bash sudo netplan --debug apply
Netplan 的優點
- 簡單易用: YAML 格式使配置文件更容易編寫和閱讀。
- 靈活性: Netplan 可以同時支持多個渲染器,使得它能夠適應不同的使用場景。
- 自動化: 配置文件可以通過自動化工具(如 Ansible)進行管理,方便大規模部署。
Netplan 提供了一個統一的界面來管理網絡配置,特別是在伺服器中非常有用。