Linux 网络配置有五种方法:一、ifconfig 临时配置;二、ip 命令现代管理;三、CentOS/RHEL 网卡文件永久设置;四、Ubuntu Netplan 声明式配置;五、多路径 DNS 设置。

如果您需要在 Linux 系统中完成基础网络配置,但对命令选择与具体操作存在困惑,则可能是由于对 ip 与ifconfig两个 工具 的功能边界、适用场景及配置持久性缺乏清晰认知。以下是针对该问题的多种配置方法说明:
一、使用 ifconfig 命令进行临时网络配置
ifconfig是一个传统网络配置工具,适用于快速查看和修改运行时网络接口状态,所有更改均为临时生效,重启后丢失。它不依赖高级网络管理服务,适合应急调试或嵌入式环境。
1、查看全部网络接口信息:执行 ifconfig -a 命令,显示包括未启用接口在内的所有网卡详情。
2、为指定网卡分配 IPv4 地址并设置子网掩码:执行 ifconfig ens33 192.168.100.90 netmask 255.255.255.0,其中ens33 需替换为实际网卡名。
3、启用或禁用网卡:执行 ifconfig ens33 up 启动接口;执行 ifconfig ens33 down 关闭接口。
4、为网卡添加别名 IP(如虚拟接口):执行ifconfig ens33:0 192.168.200.100 netmask 255.255.255.0,创建逻辑子接口。
二、使用 ip 命令进行现代网络管理
ip命令属于 iproute2 套件,是当前 Linux 发行版推荐的标准网络配置工具,支持 IPv4/IPv6 双 栈、路由 策略、隧道、流量控制等高级功能,语法结构统一,且部分操作可配合 ip -f inet6 精确限定协议族。
1、列出所有网络接口及其地址:执行 ip addr show 或简写ip a。
2、为接口配置 IPv4 地址并指定前缀长度:执行 ip addr add 192.168.100.90/24 dev ens33,其中/24 等效于子网掩码255.255.255.0。
3、删除已配置的 IP 地址:执行ip addr del 192.168.100.90/24 dev ens33。
4、启用或禁用网络接口:执行 ip link set ens33 up 启动;执行 ip link set ens33 down 关闭。
5、添加默认网关路由:执行ip route add default via 192.168.100.1。
三、通过网卡 配置文件 实现永久 IP 设置(CentOS/RHEL 系)
将网络参数写入系统级配置文件,可确保重启后自动加载,适用于生产环境部署。该方法依赖 network 服务或 NetworkManager 管理,需注意服务冲突风险。
1、确认网卡名称:执行 ip link show 或ls /sys/class/net/获取真实设备名(如ens33)。
2、编辑对应配置文件:打开 /etc/sysconfig/network-scripts/ifcfg-ens33,将BOOTPROTO 设为static。
3、添加静态 IP 配置项:在文件末尾追加以下三行:IPADDR=192.168.100.90NETMASK=255.255.255.0GATEWAY=192.168.100.1
4、确保开机激活:确认文件中包含ONBOOT=yes。
5、重启网络服务:执行systemctl restart network,或根据系统版本使用service network restart。
四、通过 Netplan 实现永久网络配置(Ubuntu 18.04+)
Netplan 是 Ubuntu 官方推荐的声明式网络配置工具,采用 YAML 格式统一管理物理、虚拟、桥接、VLAN 等复杂拓扑,避免手动编辑多处配置文件带来的不一致问题。
1、定位 Netplan 配置文件:通常为 /etc/netplan/01-network-manager-all.yaml 或/etc/netplan/50-cloud-init.yaml。
2、备份原文件:执行sudo cp /etc/netplan/*.yaml /etc/netplan/backup.yaml。
3、编辑配置内容:确保包含如下结构(以 ens33 为例):network: version: 2 ethernets: ens33: dhcp4: false addresses: [192.168.100.90/24] gateway4: 192.168.100.1 nameservers: addresses: [218.85.157.99, 114.114.114.114]
4、应用配置:执行sudo netplan apply,系统将自动校验语法并重载网络堆栈。
五、DNS 服务器配置的多路径设置方法
DNS 解析行为受多个配置层级影响,其优先级顺序为:/etc/hosts > 网卡配置文件中的 DNSx 参数 > /etc/resolv.conf。若使用 NetworkManager,直接修改 /etc/resolv.conf 可能被覆盖,应优先调整上游配置源。
1、在网卡配置文件中指定 DNS(RHEL/CentOS):向 /etc/sysconfig/network-scripts/ifcfg-ens33 追加两行:DNS1=218.85.157.99DNS2=114.114.114.114,随后重启 network 服务。
2、直接编辑 resolv.conf(仅适用于无 NetworkManager 环境):执行echo -e "nameserver 218.85.157.99nnameserver 114.114.114.114" | sudo tee /etc/resolv.conf。
3、通过 NetworkManager 全局配置(推荐):编辑 /etc/NetworkManager/NetworkManager.conf,在[main] 节下添加 dns=no,再编辑/etc/resolv.conf 并设置 chattr +i /etc/resolv.conf 防止覆盖。
4、在 Netplan 中集成 DNS(Ubuntu):如上文第四节 YAML 示例所示,在 nameservers 字段内声明地址列表,netplan apply后自动注入/run/systemd/resolve/stub-resolv.conf。