菜鸟科技网

网卡配置命令有哪些?

命令 主要用途 关键信息 适用系统
ip a 首选命令,查看网络接口的详细信息 IP地址、子网掩码、MAC地址、状态 所有现代 Linux
ifconfig 传统命令,功能类似 ip IP地址、MAC地址、状态 已过时,但仍常见于 CentOS 7
nmcli NetworkManager 的命令行工具,管理网络连接 连接名称、IP、DNS、网关等详细信息 RHEL/CentOS 8+, Fedora, Ubuntu (默认)
cat /etc/sysconfig/network-scripts/ifcfg-eth0 查看网卡静态配置文件 IP地址、网关、DNS等静态设置 RHEL/CentOS 7
cat /etc/netplan/01-netcfg.yaml 查看网卡Netplan 配置文件 YAML格式的网络配置 Ubuntu Server 18.04+, Debian 10+

使用 ip 命令 (推荐)

ip 命令是 iproute2 包的一部分,是现代 Linux 系统中功能最强大、最推荐使用的网络配置工具,它取代了老旧的 ifconfig

网卡配置命令有哪些?-图1
(图片来源网络,侵删)

查看所有网络接口的摘要信息

ip addr
# 或者使用更简洁的别名
ip a

输出示例:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1c:23:45:67:89 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::21c:23ff:fe45:6789/64 scope link
       valid_lft forever preferred_lft forever

关键字段解释:

  • eth0: 网卡接口名称。
  • link/ether 00:1c:23:45:67:89: MAC 地址
  • inet 192.168.1.100/24: IPv4 地址和子网掩码(CIDR 表示法,/24 代表子网掩码 255.255.0)。
  • inet6 fe80::...: IPv6 地址
  • state UP: 接口状态,UP 表示已启用,DOWN 表示已禁用。
  • mtu 1500: 最大传输单元。

只显示已启用的接口

ip link show up

查看特定接口的详细信息

ip addr show eth0

使用 ifconfig 命令 (已过时)

ifconfig 来自于 net-tools 包,在很多旧系统或特定环境中仍然可以使用,但新系统默认不再安装,并且已被 ip 命令取代。

ifconfig

输出示例:

网卡配置命令有哪些?-图2
(图片来源网络,侵删)
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::21c:23ff:fe45:6789  prefixlen 64  scopeid 0x20<link>
        ether 00:1c:23:45:67:89  txqueuelen 1000  (Ethernet)
        RX packets 12345  bytes 987654 (987.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6789  bytes 987654 (987.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 123  bytes 12345 (12.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123  bytes 12345 (12.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

关键字段解释:

  • eth0: 网卡接口名称。
  • inet 192.168.1.100: IPv4 地址
  • netmask 255.255.255.0: 子网掩码
  • ether 00:1c:23:45:67:89: MAC 地址
  • flags=4163<UP,BROADCAST,RUNNING,MULTICAST>: 接口标志,UP 表示已启用。

使用 nmcli 命令 (管理网络连接)

如果你的系统使用 NetworkManager(这是现在绝大多数桌面版和服务器版 Linux 的默认选择),nmcli 是管理网络连接的最佳工具,它不仅能查看,还能轻松修改、启用、禁用连接。

查看所有活动的连接及其详细信息

nmcli connection show

输出示例:

NAME    UUID                                  TYPE      DEVICE
eth0    a1b2c3d4-e5f6-7890-abcd-ef1234567890  ethernet  eth0
Wired connection 1  g1h2i3j4-k5l6-m7n8-o9p0-q1234567890  ethernet  --

查看特定连接的详细配置(推荐)

nmcli connection show "eth0"  # "eth0" 是连接名称,通常和接口名一样

输出示例:

网卡配置命令有哪些?-图3
(图片来源网络,侵删)
connection.id:                          eth0
connection.uuid:                        a1b2c3d4-e5f6-7890-abcd-ef1234567890
connection.type:                        802-3-ethernet
connection.interface-name:              eth0
ipv4.method:                            manual
ipv4.addresses:                         192.168.1.100/24
ipv4.gateway:                           192.168.1.1
ipv4.dns:                               8.8.8.8, 8.8.4.4
...

这个命令会显示 IP 地址、网关、DNS 等完整的网络配置信息,非常实用。

查看网络接口状态

nmcli device status

直接查看配置文件

你需要查看系统启动时实际加载的配置,这时直接看配置文件最直接。

对于 RHEL/CentOS 7 及更早版本 (使用 ifcfg 文件)

配置文件通常位于 /etc/sysconfig/network-scripts/ 目录下,文件名格式为 ifcfg-<接口名>

# 查看 eth0 的配置文件
cat /etc/sysconfig/network-scripts/ifcfg-eth0

示例:**

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
NAME=eth0
DEVICE=eth0
ONBOOT=yes

对于 Ubuntu Server 18.04+ 及 Debian 10+ (使用 Netplan)

配置文件通常位于 /etc/netplan/ 目录下,是 YAML 格式。

# 查看默认的 Netplan 配置文件
cat /etc/netplan/01-netcfg.yaml

示例:**

# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
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]

总结与建议

你的需求 推荐命令
快速查看 IP 和 MAC 地址 ip aifconfig
查看网络接口的运行状态 ip link shownmcli device status
查看完整的网络配置 (IP, 网关, DNS) nmcli connection show <连接名>
检查系统启动时加载的静态配置 直接查看配置文件 (cat /path/to/config)
在脚本中自动化处理网络 强烈推荐使用 nmcli,因为它功能强大且稳定。

最终建议: 对于日常使用和学习,请优先掌握 ip anmcli connection show 这两个命令,它们可以解决绝大多数查看网卡配置的需求。ip 命令是查看运行时状态的利器,而 nmcli 是管理网络连接的瑞士军刀。

分享:
扫描分享到社交APP
上一篇
下一篇