Ubuntu 20.04.4 LTS单网卡批量配置多段IP地址及开机自动启用方法咨询
我来帮你解决这个问题,刚好熟悉Ubuntu 20.04的Netplan配置逻辑,以及和你之前CentOS 7 range配置的对应关系,下面分场景给你详细说明:
一、快速配置完整子网段(最高效的方式)
如果你要配置的是像101.23.151.0/24、101.24.152.0/24这样的完整子网,完全不需要逐个添加单个IP,直接在Netplan配置文件的addresses列表里添加子网CIDR即可,这比手动加单个IP快太多了。
基于你提供的现有配置文件,修改后的内容如下(注意YAML语法的缩进必须一致,建议用4个空格,否则配置会失效):
network: version: 2 renderer: networkd ethernets: eno1: addresses: - 101.75.13.191/32 - 101.75.13.192/32 # 新增的完整子网段 - 101.23.151.0/24 - 101.24.152.0/24 routes: - on-link: true to: 0.0.0.0/0 via: 38.75.136.1 nameservers: addresses: - 1.1.1.1 - 2001:4860:4860::8844 - 8.8.8.8 - 2001:4860:4860::8888
二、模拟CentOS 7的Range配置(指定连续IP范围)
如果你需要的不是完整子网,而是像CentOS里那样指定起始-结束的连续单个IP范围(比如你之前的23.82.132.2到23.82.132.60),Netplan没有直接的range配置项,但可以用两种高效方式实现:
方式1:用CIDR匹配范围(范围规整时适用)
比如你CentOS里的23.82.132.2-60刚好属于23.82.132.0/26子网(这个子网的IP范围是23.82.132.1到23.82.132.62),直接在addresses里添加这个CIDR就能覆盖你需要的IP段:
addresses: # ... 原有IP ... - 23.82.132.0/26
方式2:脚本生成IP条目(不规整范围适用)
如果你的IP范围无法用CIDR匹配,用简单的Bash脚本批量生成Netplan格式的IP条目,避免手动输入的繁琐:
# 生成23.82.132.2到23.82.132.60的IP条目,格式适配Netplan for i in {2..60}; do echo " - 23.82.132.$i/26"; done
把脚本输出的内容直接复制到Netplan的addresses列表里即可,几秒钟就能生成几十上百个IP条目。
三、确保开机自动加载IP
你问的「开机时自动启用IP」的需求,Netplan默认就支持,不需要额外配置选项——只要你的配置文件语法正确,并且执行过以下命令让配置生效:
- 生成并应用配置:
sudo netplan generate sudo netplan apply
- 重启服务器后,用
ip addr show eno1验证,所有配置的IP都会自动加载。
Netplan的配置是持久化的,系统启动时networkd(你配置里指定的renderer)会自动读取并应用/etc/netplan/下的配置文件,所以只要配置正确,开机就会自动配置所有IP。
四、验证配置的方法
- 应用配置后,立即用
ip addr show eno1查看网卡的IP列表,确认所有新增的IP都已生效。 - 重启服务器后,再次执行
ip addr show eno1,验证IP是否自动加载。
备注:内容来源于stack exchange,提问作者Alvis Fabien

