Ubuntu网络配置文件是管理系统中网络连接的核心组件,通过编辑这些文件可以实现静态IP配置、DNS设置、路由规则以及多网卡管理等操作,在Ubuntu系统中,网络配置的文件主要分布在/etc/netplan/、/etc/network/interfaces(传统方式)以及/etc/resolv.conf等目录中,不同版本的Ubuntu可能采用不同的配置工具,例如Ubuntu 18.04及之后版本推荐使用netplan,而早期版本则多依赖ifupdown,以下将详细介绍各类网络配置文件的作用、格式及使用方法。

netplan配置文件(Ubuntu 18.04及之后版本)
netplan是Ubuntu默认的网络配置工具,其配置文件通常位于/etc/netplan/目录下,文件名以.yaml例如01-network-manager-all.yaml或50-cloud-init.yaml,netplan采用YAML格式,通过声明式语法定义网络参数,支持NetworkManager和systemd-networkd两种后端。
配置文件结构
netplan配置文件主要包含以下部分:
- 版本声明:指定YAML解析器版本,通常为
2。 - 网络设备列表:定义网络接口(如ethernet、wifi等)或网桥、bond等虚拟设备。
- 地址配置:静态IP或DHCP动态获取。
- 路由和DNS:设置默认网关、DNS服务器等。
示例配置
以下是一个静态IP配置的示例:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
dhcp4: no表示禁用IPv4的DHCP客户端。addresses指定静态IP地址及子网掩码(如/24表示255.255.255.0)。gateway4设置默认网关。nameservers配置DNS服务器地址。
对于多网卡场景,可以通过renderer字段指定后端,

network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
eth1:
dhcp4: no
addresses: [10.0.0.2/24]
应用配置
配置完成后,使用netplan apply命令使配置生效,或通过netplan --debug apply调试错误,若需验证配置,可使用ip a查看接口状态,或cat /etc/netplan/*.yaml确认文件内容。
传统interfaces文件(Ubuntu 16.04及之前版本)
在Ubuntu 16.04及更早版本中,网络配置主要通过/etc/network/interfaces文件实现,该文件使用类似Debian的语法,支持auto、iface等指令定义接口参数。
基本配置示例
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
auto eth0表示系统启动时自动激活eth0接口。iface eth0 inet static定义静态IPv4配置。dns-nameservers字段设置DNS服务器(需同时修改/etc/resolv.conf或通过resolvconf工具管理)。
DHCP配置
若使用DHCP动态获取IP,只需将inet static改为inet dhcp:
iface eth0 inet dhcp
多接口与VLAN
对于多接口或VLAN配置,可在文件中添加多个iface段落,

auto eth0.100
iface eth0.100 inet static
vlan-raw-device eth0
address 10.0.0.100/24
配置完成后,需使用ifup eth0或systemctl restart networking重启网络服务。
DNS与主机名配置
DNS配置
- netplan环境:DNS通过
nameservers字段在YAML文件中定义,无需手动编辑/etc/resolv.conf。 - 传统环境:
/etc/resolv.conf可手动配置,但推荐安装resolvconf工具以避免重启网络后被覆盖:sudo apt install resolvconf sudo nano /etc/resolvconf/resolv.conf.d/head
添加
nameserver 8.8.8.8后运行sudo resolvconf -u更新。
主机名配置
主机名通过/etc/hostname和/etc/hosts文件管理:
- 修改
/etc/hostname:sudo nano /etc/hostname,输入新主机名(如ubuntu-server)。 - 同步
/etc/hosts:确保0.1.1行指向新主机名。
网络配置故障排查
- 检查接口状态:使用
ip link或ifconfig查看接口是否启用。 - 验证IP配置:
ip a或ip addr show eth0检查IP地址、子网掩码。 - 测试网络连通性:
ping 8.8.8.8测试外网连通性,ping 192.168.1.1测试网关。 - 查看日志:
journalctl -u networking或netplan --debug apply查看错误信息。
相关问答FAQs
Q1:修改netplan配置后不生效怎么办?
A1:首先检查YAML语法是否正确(如缩进、冒号等),可通过netplan --debug apply查看详细错误,确认文件路径是否正确(通常位于/etc/netplan/),并确保命令执行权限为root,若仍不生效,可尝试重启网络服务(systemctl restart systemd-networkd)或重启系统。
Q2:如何Ubuntu中配置双网卡绑定(bonding)?
A2:在netplan中可通过bond字段实现 bonding,示例配置如下:
network:
version: 2
ethernets:
eth0:
dhcp4: no
eth1:
dhcp4: no
bonds:
bond0:
interfaces: [eth0, eth1]
addresses: [192.168.1.200/24]
gateway4: 192.168.1.1
parameters:
mode: active-backup # bonding模式,如active-backup、balance-rr等
primary: eth0 # 主网卡
nameservers:
addresses: [8.8.8.8]
配置后运行netplan apply,使用cat /proc/net/bonding/bond0查看绑定状态。
