在Linux服务器运维工作中,网络配置属于最基础也是最重要的管理内容之一。无论是企业内部业务系统、云服务器环境、网站托管平台,还是数据库服务器部署,都需要依赖稳定可靠的网络连接才能正常运行。
对于长期使用CentOS系统的运维人员来说,早期网络配置通常依赖ifconfig、network-scripts以及相关配置文件进行管理。然而从Ubuntu 18.04开始,Canonical正式引入Netplan作为默认网络管理工具,并逐渐取代传统网络配置方式。如今Ubuntu 20.04、Ubuntu 22.04、Ubuntu 24.04等主流版本均采用Netplan管理网络接口。
很多刚接触Ubuntu服务器的用户,在第一次修改IP地址时往往会感到不适应。以前修改一个配置文件即可完成操作,现在却需要了解YAML语法、renderer机制以及网络服务之间的关系。如果操作不当,甚至可能导致服务器失联。
本文将围绕Netplan的工作原理、DHCP配置方法、静态IP设置方法、DNS配置技巧、网络故障排查以及生产环境最佳实践进行详细讲解,帮助运维人员全面掌握Ubuntu服务器网络管理。
为什么Ubuntu开始使用Netplan
在理解配置方法之前,需要先了解Netplan存在的意义。
早期Linux发行版使用大量不同的网络管理工具,不同发行版之间的配置方式差异较大。例如:
CentOS使用network-scripts;
Debian使用interfaces;
Ubuntu桌面版使用NetworkManager;
Ubuntu服务器版使用systemd-networkd。
这种碎片化管理方式增加了运维难度。
Netplan本质上是一层抽象配置框架。
管理员只需要编写统一格式的YAML配置文件,Netplan会自动生成对应的底层配置,并交给NetworkManager或systemd-networkd执行。
这种设计带来了多个优势。
首先是统一管理。
无论服务器版还是桌面版,都采用相同配置逻辑。
其次是配置简洁。
传统配置文件往往需要填写大量参数,而Netplan使用YAML结构化语法,逻辑更加清晰。
最后是自动适配。
同一份配置文件可以适配不同网络后端,大大提升了兼容性。
查看当前网络环境
修改网络之前,首先应该确认服务器当前状态。
查看网卡信息:
ip addr
查看路由信息:
ip route
查看DNS配置:
resolvectl status
查看网络接口名称:
ip link show
常见输出如下:
ens33
ens160
eth0
enp1s0
需要注意的是,新版本Ubuntu已经不再采用传统eth0命名方式,而是采用Predictable Network Interface Names机制。
因此实际网卡名称可能与教程中的示例不同。
Netplan配置文件位置
Netplan配置文件统一存放在:
/etc/netplan/
查看目录内容:
ls /etc/netplan/
常见文件名称包括:
00-installer-config.yaml
01-network-manager-all.yaml
50-cloud-init.yaml
云服务器最常见的是:
50-cloud-init.yaml
打开配置文件:
sudo nano /etc/netplan/50-cloud-init.yaml
或者:
sudo vim /etc/netplan/50-cloud-init.yaml
修改前建议先备份。
sudo cp 50-cloud-init.yaml 50-cloud-init.yaml.bak
这样即使配置错误,也能够快速恢复。
DHCP自动获取IP配置方法
DHCP是最常见的网络获取方式。
路由器或DHCP服务器会自动向客户端分配:
IP地址;
子网掩码;
网关;
DNS服务器。
这种方式适用于:
办公网络;
家庭网络;
测试环境;
自动化部署环境。
典型配置如下:
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: true
参数说明:
version表示Netplan配置版本;
renderer表示底层网络服务;
ethernets表示有线网络;
ens33表示网卡名称;
dhcp4表示启用IPv4 DHCP。
保存后执行:
sudo netplan generate
检查语法:
sudo netplan try
如果网络正常:
sudo netplan apply
查看获取到的IP:
ip addr
查看默认路由:
ip route
如果能够看到自动分配的地址,说明DHCP配置成功。
DHCP同时指定DNS服务器
有些情况下不希望使用运营商DNS。
例如:
Google DNS
Cloudflare DNS
阿里DNS
腾讯DNS
可以在DHCP基础上覆盖DNS配置。
示例:
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: true
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
应用配置:
sudo netplan apply
验证:
resolvectl status
配置静态IP地址
服务器生产环境通常使用固定IP。
因为数据库、网站、监控系统以及防火墙策略都依赖稳定地址。
静态IP配置示例:
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: false
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1
参数说明:
192.168.1.100为服务器IP;
24表示255.255.255.0子网掩码;
192.168.1.1为默认网关;
8.8.8.8和1.1.1.1为DNS服务器。
配置完成后执行:
sudo netplan apply
测试网络:
ping 8.8.8.8
测试域名解析:
ping google.com
如果两项均正常,则静态IP配置成功。
配置多个DNS服务器
为了提高解析稳定性,建议配置多个DNS。
例如:
nameservers:
addresses:
- 223.5.5.5
- 223.6.6.6
- 119.29.29.29
- 8.8.8.8
这样当某个DNS不可用时,系统会自动切换。
对于网站服务器来说,可以有效降低解析失败风险。
配置多个IP地址
部分业务需要绑定多个IP。
例如:
多个网站;
邮件服务器;
代理服务;
负载均衡节点。
配置方式如下:
addresses:
- 192.168.1.100/24
- 192.168.1.101/24
- 192.168.1.102/24
应用后查看:
ip addr
即可看到多个地址同时绑定到同一网卡。
配置双网卡网络
企业环境经常存在内外网隔离场景。
例如:
ens33连接公网;
ens34连接内网。
配置示例:
network:
version: 2
renderer: networkd
ethernets:
ens33:
addresses:
- 10.0.0.100/24
routes:
- to: default
via: 10.0.0.1
ens34:
addresses:
- 192.168.100.10/24
这样即可实现双网卡独立通信。
使用Netplan Try避免远程失联
远程修改网络最大的风险就是服务器断连。
推荐使用:
sudo netplan try
系统会进入测试模式。
如果配置有问题导致连接中断,120秒后自动回滚。
远程管理服务器时,这个功能非常重要。
能够避免因为配置错误而失去SSH连接。
YAML语法常见错误
大量Netplan故障实际上并非网络问题,而是YAML格式错误。
例如:
错误示例:
network:
version: 2
renderer: networkd
正确格式:
network:
version: 2
renderer: networkd
YAML严格依赖缩进。
建议统一使用两个空格。
不要混用Tab和空格。
检查配置:
sudo netplan generate
出现报错时优先检查缩进格式。
Netplan常见故障排查
无法获取IP地址
检查网卡名称:
ip link
确认配置文件中的网卡名称是否正确。
DNS无法解析
检查:
resolvectl status
查看DNS服务器是否生效。
尝试:
ping 8.8.8.8
如果能通而域名不通,通常是DNS问题。
网关配置错误
查看路由:
ip route
正常输出应包含:
default via 192.168.1.1
如果缺失默认路由,将无法访问外网。
Netplan配置报错
验证:
sudo netplan generate
系统会显示具体错误位置。
根据提示修正即可。
Cloud Server环境注意事项
阿里云、腾讯云、AWS、Google Cloud等云服务器通常使用Cloud-init自动生成网络配置。
配置文件一般为:
50-cloud-init.yaml
如果直接修改后发现重启失效,说明Cloud-init重新覆盖了配置。
可以创建:
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
内容:
network:
config: disabled
然后重新配置Netplan。
这样Cloud-init将不再自动修改网络配置。
生产环境网络配置建议
对于正式服务器,建议遵循以下原则。
第一,不要直接在业务高峰期修改网络。
第二,修改前必须备份配置文件。
第三,优先使用netplan try验证。
第四,DNS至少配置两个以上。
第五,重要服务器保留带外管理通道。
第六,记录每次变更日志。
第七,配置完成后进行连通性测试。
规范的变更流程能够显著降低运维事故发生概率。
随着Ubuntu逐渐成为云计算和服务器部署领域的重要操作系统,Netplan已经成为运维人员必须掌握的网络管理工具。从DHCP自动获取IP到静态地址部署,从DNS优化到多网卡配置,绝大多数网络管理需求都可以通过Netplan完成。
对于日常运维工作而言,真正重要的不仅仅是会写配置文件,更要理解网络参数之间的关系,掌握配置验证和故障排查方法。只有这样,在面对服务器迁移、业务扩容、网络调整以及云平台部署时,才能快速完成配置并保证业务稳定运行。
熟练掌握Netplan之后,Ubuntu服务器的网络管理将变得更加规范、高效,也能够为后续学习路由配置、VLAN部署、容器网络以及云原生网络架构打下扎实基础。

全球服务器测评

