微信优化

weixinyouhua

ifconfig如何配置IP?,ifconfig配置IP怎么操作?

2026-09-26 04:53:00

ifconfig配置ip是最常见的网卡IP设置方式,但要记住它只对当前会话临时生效,重启网络或系统后配置就丢了,很多新手在Linux服务器上折腾ifconfig,弄完发现一重启又回到原样,其实是因为没有理解ifconfig的临时属性,下面从临时配置、永久保存、命令找不到三个角度把ifconfig配置ip这件事讲透。

ifconfig配置ip的临时方案,一条命令就能搞定

先确认网卡名称和当前状态

动手之前,先输入ifconfig -a看看机器上认到了哪些网卡,输出里的eth0、ens33这类就是物理网卡,lo是本地回环,找对了名字再操作,不然容易配到虚拟接口上。

临时修改IP地址的具体命令

命令格式很简单,以eth0为例:

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
  • 把IP换成你要设的地址
  • netmask后面写子网掩码,常用255.255.0
  • up表示激活网卡,也可以省略,配置IP时自动激活

如果还需要加默认网关,单独执行:

route add default gw 192.168.1.1

这样临时改IP就算完成了,用ifconfig eth0查看结果,确认地址和掩码是否生效。

一个网卡绑定多个IP

有些场景需要在一个物理网卡上挂多个IP,比如做端口转发或者测试环境,可以用虚拟接口:

ifconfig eth0:0 192.168.1.101 netmask 255.255.255.0 up
  • eth0:0就是eth0的第一个别名接口
  • 同样的方法可以继续创建eth0:1、eth0:2等

这种别名方式同样是临时的,重启后会全部消失。

ifconfig配置ip后重启失效?永久保存要改配置文件

这是新手最容易踩坑的地方,ifconfig设置的参数只存在内核内存里,没有写进任何配置文件,重启网络服务或系统后,网卡会重新读取配置,之前设的IP就没了,行业共识认为,ifconfig只适合临时调试,生产环境千万别依赖它。

ifconfig如何配置IP?,ifconfig配置IP怎么操作?

CentOS/RHEL系永久配置方法

以CentOS 7为例,网卡配置文件在/etc/sysconfig/network-scripts/ifcfg-eth0。

用vim打开后,保证这几项:

  • BOOTPROTO=static(从dhcp改成static)
  • ONBOOT=yes(开机自动启用)
  • IPADDR=192.168.1.100
  • NETMASK=255.255.255.0
  • GATEWAY=192.168.1.1

改完保存,重启网络:

systemctl restart network

或者用nmcli connection reload再up一下,这时候ifconfig看到的IP就是你设置的值,和临时命令的效果一样,但重启不会丢。

Debian/Ubuntu系永久配置方法

Ubuntu的网卡配置放在/etc/network/interfaces里,永久设置静态IP,需要这样写:

auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1

然后执行/etc/init.d/networking restart或systemctl restart networking,不同发行版的配置文件差异很大,具体路径建议先查文档。

临时配置和永久配置的对比

维度 ifconfig临时配置 修改配置文件永久配置
生效范围 当前内核状态 持久化到磁盘
重启后 丢失 保留
适合场景 调试、临时测试 生产环境固定IP
修改方式 一条命令 编辑文件+重启网络

看到对比就明白,如果只是临时调一下网络,ifconfig很方便;要是想长期固定一个IP,必须改配置文件。

ifconfig配置ip命令找不到怎么办?这是工具包没装

ifconfig如何配置IP?,ifconfig配置IP怎么操作?

不少人在最小化安装的Linux上敲ifconfig,得到的提示是command not found,别慌,这是系统没装net-tools工具包,不是命令写错了。

安装net-tools即可恢复ifconfig

以CentOS为例:

yum install -y net-tools

Debian/Ubuntu就用:

apt install -y net-tools

装完再敲ifconfig,熟悉的输出就回来了,业内专家指出,ifconfig属于net-tools包,而Linux系统目前主推的ip命令来自iproute2包,所以新系统默认不带ifconfig很正常。

ifconfig和ip命令到底用哪个?

既然聊到ip命令,顺便做个对比:

功能 ifconfig ip
查看IP ifconfig ip addr show
设置IP ifconfig eth0 192.168.1.100 ip addr add 192.168.1.100/24 dev eth0
删除IP 不支持直接删除,需置空 ip addr del 192.168.1.100/24 dev eth0
启用网卡 ifconfig eth0 up ip link set eth0 up
工具包 net-tools iproute2

我的建议是:新项目尽量用ip命令,但如果你习惯看ifconfig,装好net-tools照常用,两者并不冲突。

ifconfig配置ip的实操避坑场景

这一部分直接给你几个真实场景下的注意事项,省得再踩坑。

远程SSH改IP,小心把自己踢下线

如果是在远程服务器上执行ifconfig改IP,改完后有可能和当前SSH连接断开,原因很简单:当前连接走的是旧IP,改完网络变化,连接就断了,稳妥做法是先在本地写一个脚本,脚本里同时改IP并开启ssh服务,然后用screen或tmux挂着执行,这样断线后还能恢复。

修改前先备份原配置,随时可回滚

ifconfig如何配置IP?,ifconfig配置IP怎么操作?

无论用ifconfig还是改配置文件,先备份原始内容,临时配置可以用ifconfig eth0 > /tmp/ifcfg_backup.txt留个底,永久配置直接cp配置文件到别的路径,比如cp ifcfg-eth0 ifcfg-eth0.bak,这花不了多少时间,但能救一次。

虚拟接口和物理接口的优先级陷阱

有时候设置完eth0:0的IP,发现同网段的其他机器ping不到它,出现这种现象,多为物理接口eth0本身没有配置同网段IP,或者路由表里没有对应条目,记得把eth0也配上同网段IP,再添加虚拟接口,否则数据包不知道怎么回。

Q&A:ifconfig配置ip的常见疑问

问:ifconfig配置ip之后能保存吗?

答:不能,ifconfig命令只修改当前运行中的内核参数,不写入任何配置文件,重启网络服务或重启系统后,所有通过ifconfig设置的IP都会丢失,想要永久保存,必须修改对应的网络配置文件。

问:ifconfig配置ip时提示SIOCSIFADDR: Permission denied怎么办?

答:这个报错表示没有权限操作网卡,普通用户执行ifconfig改IP会被拒绝,需要用root身份执行,在本机可以切换到root用户,或者直接在前面加sudo,如果用了sudo还是报错,检查一下sudoers里是否包含了对应权限。

问:ifconfig配置ip和ip addr add有什么不同?

答:ifconfig是net-tools工具包的命令,ip addr add是iproute2工具包的命令,两者都能配置IP,区别在于ip命令功能更全,比如可以添加多个相同网段的地址,而ifconfig的别名接口方式在处理路由和策略时容易产生混乱,如果你习惯ifconfig,也没问题,但新系统上推荐使用ip命令。

ifconfig配置ip的核心逻辑就两条:临时调试直接敲命令,永久生效必须写配置文件,把这两条记牢,无论哪个发行版、哪台机器,都能稳稳地把IP配好。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待