Please enable Javascript to view the contents

Linux网络-命令: ifconfig

 ·  ☕ 2 分钟

ifconfig 废弃时间:在 CentOS 7、Ubuntu 16.04 等较新的 Linux 发行版中被废弃。移除时间:在 CentOS 9、Ubuntu 18.04 等更高版本中被完全移除。
废弃原因: ifconfig功能有限,难以适应 IPv6 普及和复杂网络的配置需求。

1. 简介

ifconfig(interface configure)是一个用于配置和显示 Linux 系统网络接口的状态的工具。它可以显示网络接口的IP 地址子网掩码广播地址Mac地址MTU等信息,还可以用来开启、关闭网络接口。

2. 基本用法

2.1 查看网络接口状态

要查看所有网络接口的状态,可以使用以下命令:

1
ifconfig

或者,要查看特定网络接口(例如 eth0)的状态,可以使用:

1
ifconfig eth0

2.2 启用、禁用网络接口(临时)

要启用一个网络接口,可以使用updown选项:

1
ifconfig eth0 up
1
ifconfig eth0 down

2.3 添加、删除 IP地址(临时)

可以使用 ifconfig 命令给网络接口添加一个新的 IP地址:

1
ifconfig eth0:1 192.168.1.100 netmask 255.255.255.0

要删除一个 IP 地址,可以使用-选项:

1
ifconfig eth0:1 - 192.168.1.100

3. 高级用法

3.1 设置默认网关(不支持)

要设置默认网关,可以使用 route 命令,因为 ifconfig 本身不直接支持设置网关:

1
route add default gw 192.168.1.1 eth0

3.2 配置网络接口的DNS(不支持)

ifconfig 不支持直接配置DNS服务器,需要编辑/etc/resolv.conf文件来设置DNS

1
echo "nameserver 8.8.8.8" >> /etc/resolv.conf

3.3 动态配置网络接口

在脚本中,你可以动态地配置网络接口,例如在系统启动脚本中自动配置网络:

1
2
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1

3.4 ifconfig 与 ip 命令

尽管 ifconfig 在许多系统中仍然可用,但 ip 命令已经成为现代 Linux 系统中的标准工具。ip 命令提供了更强大的功能和更灵活的接口管理选项。

例如,使用 ip 命令配置网络接口:

1
2
ip addr add 192.168.1.100/24 dev eth0
ip link set eth0 up

结论

ifconfig 是一个强大的工具,用于查看和配置 Linux 系统的网络接口。虽然在一些新的 Linux 发行版中被 ip 命令取代,但它仍然在许多场景下被广泛使用。了解 ifconfig 的基本和高级用法可以帮助你更有效地管理网络设置。随着技术的发展,建议用户逐渐转向使用 ip 命令,以获得更好的兼容性和更强大的功能。

分享

Hex
作者
Hex
CloudNative Developer

目录