登录
首页 >  文章 >  linux

Linux网卡IP设置教程详解

时间:2026-04-30 11:09:51 266浏览 收藏

本文深入解析了现代Linux系统中网卡IP地址配置的核心要点与常见误区,明确指出传统ifconfig命令已被iproute2工具链取代,强调必须区分临时配置(使用ip addr add等即时生效命令)与永久配置(依发行版差异修改网络配置文件:RHEL系用ifcfg-*脚本,Ubuntu/Debian系用Netplan YAML),并细致拆解了虚拟IP配置的陷阱与最佳实践,帮助运维人员避开重启失效、路由不通、Netplan语法错误等高频坑点,是一份兼具原理说明与实操指导的权威配置指南。

Linux如何配置网卡IP地址_Linux网卡IP地址配置教程

ifconfig 命令在现代 Linux(如 CentOS 7+、Ubuntu 18.04+)上默认不可用,直接运行会报 command not found —— 这不是你漏装包,而是系统已转向 ip 工具链。配置 IP 地址必须区分「临时生效」和「永久生效」两种场景,否则重启后地址消失、服务连不上,是运维中最常踩的坑。

临时配置 IPv4/IPv6 地址用 ip,别碰 ifconfig

旧教程里满屏的 ifconfig eth0 192.168.1.10 netmask 255.255.255.0 在新系统上大概率失败。正确做法是用 ip 命令:

  • ip addr add 192.168.1.10/24 dev eth0 —— 添加 IPv4 地址,/24 等价于子网掩码 255.255.255.0
  • ip addr add 2001:db8::1/64 dev eth0 —— 添加 IPv6 地址,注意必须带前缀长度
  • ip link set eth0 up —— 确保接口处于 UP 状态(尤其刚启用的网卡)
  • ip route add default via 192.168.1.1 —— 补充默认路由,否则能配通但上不了网

这些操作立即生效,但只要执行 systemctl restart network 或重启机器,就全部丢失。适合调试、临时测试或容器网络排障。

永久配置得改 /etc/sysconfig/network-scripts/ifcfg-*(RHEL/CentOS 系)

Red Hat 系发行版(CentOS 7/8、Rocky Linux、AlmaLinux)仍依赖 ifcfg- 文件。关键点不是“加几行”,而是参数组合必须闭环:

  • 必须设 BOOTPROTO=static(不能写 none 或留空,否则 NetworkManager 可能忽略)
  • ONBOOT=yes 缺失会导致开机不加载该 IP
  • IPADDRNETMASK(或 PREFIX)二者至少配齐一个;推荐用 PREFIX=24 替代 NETMASK,更兼容 IPv6 场景
  • 网关必须写在 GATEWAY 字段,且只能写一个;多个网关需用 ip route 永久化到 /etc/sysconfig/network-scripts/route-*
  • 修改后必须执行 nmcli connection reload && nmcli connection down eth0 && nmcli connection up eth0,单纯 systemctl restart network 在 NM 管理下可能无效

Ubuntu/Debian 用户该用 /etc/netplan/*.yaml

Ubuntu 18.04+ 和 Debian 10+ 默认用 Netplan,写错缩进或字段名会直接导致 netplan apply 失败:

  • 设备名必须用 ens33enp0s3 等真实名,不能写 eth0(除非你手动改过 udev 规则)
  • IPv4 地址格式为 addresses: [192.168.1.10/24],注意中括号和空格
  • 网关写 routes: 下,不是 gateway4:(后者已弃用)
  • DNS 必须放在 nameservers: 下,且 addresses 是列表形式:addresses: [8.8.8.8, 1.1.1.1]
  • 执行 sudo netplan apply 后,若报错,先用 sudo netplan generate 查 YAML 解析是否合法

虚拟 IP(别名接口)要避开 eth0:x 的陷阱

ifconfig eth0:0 192.168.2.100 能快速起一个虚拟 IP,但它的生命周期完全绑定主接口:ifdown eth0 会顺带干掉所有 eth0:x。生产环境应改用 ip 的别名方式:

  • ip addr add 192.168.2.100/24 dev eth0 label eth0:0 —— 加 label 可让 ifconfig 仍能识别
  • 永久化时,RHEL 系可新建 ifcfg-eth0:0 文件,但必须确保 DEVICE=eth0:0NAME=eth0:0 一致,否则 nmcli 不认
  • 更稳妥的做法是直接在主接口配置文件里加多地址:IPADDR1=192.168.2.100PREFIX1=24,避免额外管理子接口

别名 IP 的路由行为容易被忽略:Linux 默认开启 arp_ignorearp_announce,跨子网访问虚拟 IP 时可能收不到 ARP 响应,必要时得调内核参数。

本篇关于《Linux网卡IP设置教程详解》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>