瑞芯微(EASY EAI)RV1126B Netplan的网络配置使用技巧

描述

1. 为什么使用netplan

在Linux系统中,网络配置是基础且核心的操作之一。传统的网络配置方式依赖于/etc/network/interface文件,配置繁琐且缺乏统一管理,而Netplan的出现彻底解决了这一痛点。作为Ubuntu 17.10及以后版本默认的网络配置工具,Netplan采用简洁的YAML语法,统一管理NetworkManager和systemd-networkd两种网络守护进程,大幅简化了网络配置流程,提升了配置效率。本文将围绕Netplan的核心使用场景,结合具体配置案例,详细讲解其网络配置技巧,帮助大家快速上手并灵活运用。

1.1 yaml文件编写注意事项

以下语法并不包含YAML的所有语法,只说明网络配置中所需语法。更详细的语法知识请参考YAML官网:https://yaml.org/

◆ 使用缩进表示层级关系,必须使用2个空格作为缩进,禁止使用 Tab 键,因为在不同的编辑器下 Tab 长度可能不一样。

人工智能

◆ 数据结构采用键值对的形式,即(键名称: 值),注意冒号后面必须加1个空格

人工智能

◆ addresses地址数组有两种表达方式:

(1)配置双ip地址时每个元素必须单独一行,并以(- )开头。

(2)配置DNS时使用方括号,元素用逗号隔开。如下图所示。

人工智能

◆ Netplan的默认配置文件路径为 /etc/netplan/,文件后缀必须为 .yaml(例如,01-eth0-init.yaml),建议文件名以数字开头,便于按顺序加载。

◆ 字母大小写敏感。

1.2 命令更新配置生效

与传统网络配置不同,Netplan修改配置文件后,无需重启网络服务或系统,只需执行两个简单命令即可让配置生效,两个命令的作用和执行顺序如下:
(1)sudo netplan generate:生成配置文件,该命令会检查配置文件的语法格式是否正确,并将YAML配置转换为对应网络守护进程(NetworkManager或systemd-networkd)可识别的配置文件,若语法错误,会在此步骤提示具体问题(如缩进错误、参数错误)。

sudo netplan generate


(2) sudo netplan apply:应用新配置,该命令会加载生成的配置文件,即时生效网络设置,不会中断当前的网络连接(除非配置了错误的IP地址等参数)。

sudo netplan apply


提示:若执行netplan apply后配置未生效,可尝试执行sudo netplan try,该命令会测试新配置,若出现网络中断,会在120秒内自动回滚到原有配置,避免因配置错误导致无法远程连接服务器。

2. 配置静态IP

2.1 最简单的一个配置方法

最基础的静态IP配置仅需指定3个核心参数:IP地址(addresses)、是否关闭DHCP(dhcp4/dhcp6)、是否允许接口未就绪时启动(optional),适用于无需路由、DNS自定义的简单场景。
配置示例(编辑 /etc/netplan/50-eth0-init.yaml ):

network: version: 2 # 固定版本号,目前主流为2 renderer: networkd # 无图形化服务器推荐使用networkd;图形化环境用NetworkManager ethernets: eth0: # 替换为自己的网络接口名 optional: true # 允许接口未就绪时系统正常启动,避免启动报错 addresses: [192.168.3.188/24] # 静态IP地址,/24为子网掩码(等价于255.255.255.0) dhcp4: false # 关闭IPv4 DHCP自动获取

人工智能

2.2 加上路由(routes)的配置方法

当服务器需要访问不同网段的设备(如跨网段通信、访问外网)时,需要配置静态路由,Netplan通过 routes 参数指定路由规则,核心参数包括目标网段(to)、网关(via)、路由优先级(metric)。
配置示例(在基础静态IP配置上添加路由):

network: version: 2 renderer: networkd ethernets: eth0: optional: true addresses: - 192.168.3.188/24 dhcp4: false routes: - to: default # 默认路由(访问外网,等价于0.0.0.0/0) via: 192.168.3.1 # 网关地址(替换为自己的网关,如路由器IP) metric: 100 # 路由优先级,数值越小,优先级越高(范围0-32767)

人工智能


2.3 加上DNS的配置方法
静态IP配置后,若需正常解析域名(如访问百度、GitHub),需手动配置DNS服务器地址,Netplan通过nameservers参数配置DNS,支持多个DNS服务器,自动按顺序解析。
配置示例(在静态IP+路由基础上添加DNS):

network: version: 2 renderer: networkd ethernets: eth0: dhcp4: false addresses: [192.168.3.188/24] optional: true routes: - to: default via: 192.168.3.1 metric: 100 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS服务器地址,按优先级排序

人工智能

若上述配置不成功,可尝试配置/etc/resolv.conf:

人工智能

3. DHCP的配置方法

DHCP(动态主机配置协议)适用于无需固定IP的场景(如桌面电脑、临时测试服务器),Netplan的DHCP配置极为简单,仅需开启dhcp4/dhcp6,无需手动指定IP、网关、DNS(由DHCP服务器自动分配)。
基础DHCP配置示例:

network: version: 2 renderer: networkd ethernets: eth0: dhcp4: true # 开启DHCP optional: true

人工智能
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分