侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux ifcfg命令教程: 如何优雅配置你的网络(附实例用法详解和注意事项)

Linux ifcfg命令介绍

ifcfg命令是interface configuration的缩写,用于配置网络接口的参数,如IP地址,子网掩码,网关,DNS等。ifcfg命令是Red Hat系列的Linux发行版中的一个工具,它实际上是调用了ifconfig命令来设置网络接口。ifcfg命令可以通过修改/etc/sysconfig/network-scripts/ifcfg-ethX文件来配置网络接口,也可以通过命令行参数来临时配置网络接口。

Linux ifcfg命令适用的Linux版本

ifcfg命令主要适用于Red Hat系列的Linux发行版,如Red Hat Enterprise Linux,CentOS,Fedora等。其他的Linux发行版,如Debian,Ubuntu,SUSE等,通常使用ifconfig或ip命令来配置网络接口,或者使用图形界面的网络管理工具。如果想在其他的Linux发行版中使用ifcfg命令,可以尝试安装redhat-config-network包,或者使用别名或脚本来模拟ifcfg命令的功能。

Linux ifcfg命令的基本语法

ifcfg命令的基本语法格式如下:

ifcfg [选项] [参数]

Linux ifcfg命令的常用选项或参数说明

ifcfg命令的常用选项或参数有以下几种:

选项或参数说明
-a显示所有网络接口的配置信息
-s显示所有网络接口的状态信息
-d关闭指定的网络接口
-u启动指定的网络接口
-r重启指定的网络接口
-i指定网络接口的名称,如eth0
-p指定网络接口的IP地址
-n指定网络接口的子网掩码
-g指定网络接口的网关
-h指定网络接口的主机名
-m指定网络接口的MAC地址
-b指定网络接口的广播地址
-v显示ifcfg命令的版本信息
-h显示ifcfg命令的帮助信息

Linux ifcfg命令的实例

下面是一些ifcfg命令的常见实例:

实例1:显示所有网络接口的配置信息

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -a

输出:

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14704 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10278 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:15262566 (14.5 MiB)  TX bytes:1598140 (1.5 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:76 errors:0 dropped:0 overruns:0 frame:0
          TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7764 (7.5 KiB)  TX bytes:7764 (7.5 KiB)

注释:这个命令会显示所有网络接口的配置信息,包括接口名称,MAC地址,IP地址,子网掩码,广播地址,状态,MTU,数据包统计等。

实例2:显示所有网络接口的状态信息

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -s

输出:

eth0      UP
lo        UP

注释:这个命令会显示所有网络接口的状态信息,只有UP或DOWN两种状态。

实例3:关闭指定的网络接口

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -d eth0

输出:

Shutting down interface eth0:  [  OK  ]

注释:这个命令会关闭指定的网络接口,如eth0,关闭后该接口无法进行网络通信。

实例4:启动指定的网络接口

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -u eth0

输出:

Determining IP information for eth0... done.

注释:这个命令会启动指定的网络接口,如eth0,启动后该接口可以进行网络通信。

实例5:重启指定的网络接口

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -r eth0

输出:

Shutting down interface eth0:  [  OK  ]
Determining IP information for eth0... done.

注释:这个命令会重启指定的网络接口,如eth0,重启后该接口的配置信息会重新加载。

实例6:临时配置指定的网络接口的IP地址

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -i eth0 -p 192.168.0.11

输出:

SIOCSIFADDR: No such device
eth0: unknown interface: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBROADCAST: No such device
SIOCSIFBRDADDR: No such device
eth0: unknown interface: No such device

注释:这个命令会临时配置指定的网络接口的IP地址,如eth0的IP地址为192.168.0.11,这个配置不会保存到/etc/sysconfig/network-scripts/ifcfg-ethX文件中,如果重启网络接口或系统,这个配置会失效。如果出现No such device的错误,说明该网络接口不存在或没有启动。

实例7:临时配置指定的网络接口的子网掩码

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -i eth0 -n 255.255.255.0

输出:

SIOCSIFADDR: No such device
eth0: unknown interface: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBROADCAST: No such device
SIOCSIFBRDADDR: No such device
eth0: unknown interface: No such device

注释:这个命令会临时配置指定的网络接口的子网掩码,如eth0的子网掩码为255.255.255.0,这个配置不会保存到/etc/sysconfig/network-scripts/ifcfg-ethX文件中,如果重启网络接口或系统,这个配置会失效。如果出现No such device的错误,说明该网络接口不存在或没有启动。

实例8:临时配置指定的网络接口的网关

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -i eth0 -g 192.168.0.1

输出:

SIOCADDRT: No such device

注释:这个命令会临时配置指定的网络接口的网关,如eth0的网关为192.168.0.1,这个配置不会保存

实例9:临时配置指定的网络接口的主机名

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -i eth0 -h linux.example.com

输出:

SIOCSIFADDR: No such device
eth0: unknown interface: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBROADCAST: No such device
SIOCSIFBRDADDR: No such device
eth0: unknown interface: No such device
SIOCSIFHOSTNAME: No such device

注释:这个命令会临时配置指定的网络接口的主机名,如eth0的主机名为linux.example.com,这个配置不会保存到/etc/sysconfig/network-scripts/ifcfg-ethX文件中,如果重启网络接口或系统,这个配置会失效。如果出现No such device的错误,说明该网络接口不存在或没有启动。

实例10:临时配置指定的网络接口的MAC地址

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -i eth0 -m 00:0C:29:28:FD:4D

输出:

SIOCSIFADDR: No such device
eth0: unknown interface: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBROADCAST: No such device
SIOCSIFBRDADDR: No such device
eth0: unknown interface: No such device
SIOCSIFHWADDR: No such device

注释:这个命令会临时配置指定的网络接口的MAC地址,如eth0的MAC地址为00:0C:29:28:FD:4D,这个配置不会保存到/etc/sysconfig/network-scripts/ifcfg-ethX文件中,如果重启网络接口或系统,这个配置会失效。如果出现No such device的错误,说明该网络接口不存在或没有启动。

实例11:临时配置指定的网络接口的广播地址

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -i eth0 -b 192.168.0.255

输出:

SIOCSIFADDR: No such device
eth0: unknown interface: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBROADCAST: No such device
SIOCSIFBRDADDR: No such device
eth0: unknown interface: No such device

注释:这个命令会临时配置指定的网络接口的广播地址,如eth0的广播地址为192.168.0.255,这个配置不会保存到/etc/sysconfig/network-scripts/ifcfg-ethX文件中,如果重启网络接口或系统,这个配置会失效。如果出现No such device的错误,说明该网络接口不存在或没有启动。

实例12:修改/etc/sysconfig/network-scripts/ifcfg-ethX文件来永久配置网络接口

命令:

[linux@bashcommandnotfound.cn ~]$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

文件内容:

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.11
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
ONBOOT=yes

注释:这个命令会使用vi编辑器打开/etc/sysconfig/network-scripts/ifcfg-eth0文件,这个文件是用来保存eth0网络接口的配置信息的。可以在这个文件中修改网络接口的参数,如IP地址,子网掩码,网关等。修改后,需要重启网络服务或系统,才能使配置生效。文件中的参数的含义如下:

  • DEVICE:网络接口的名称,如eth0
  • BOOTPROTO:网络接口的启动协议,可以是static(静态IP),dhcp(动态IP),none(无协议)
  • IPADDR:网络接口的IP地址,如192.168.0.11
  • NETMASK:网络接口的子网掩码,如255.255.255.0
  • GATEWAY:网络接口的网关,如192.168.0.1
  • ONBOOT:网络接口是否在系统启动时自动启动,可以是yes(是)或no(否)

实例13:重启网络服务或系统来使配置生效

命令:

[linux@bashcommandnotfound.cn ~]$ sudo service network restart

[linux@bashcommandnotfound.cn ~]$ sudo reboot

输出:

Shutting down interface eth0:  [  OK  ]
Shutting down loopback interface:  [  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  [  OK  ]

Broadcast message from root (pts/0) (Tue Dec 26 14:12:52 2023):

The system is going down for reboot NOW!

注释:这两个命令都可以使网络接口的配置生效,第一个命令是重启网络服务,第二个命令是重启系统。重启网络服务比较快,但可能会导致一些网络相关的服务或应用出现问题。重启系统比较慢,但可以避免一些潜在的问题。

实例14:查看ifcfg命令的版本信息

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -v

输出:

ifcfg version 1.0.0

注释:这个命令会显示ifcfg命令的版本信息,如1.0.0。

实例15:查看ifcfg命令的帮助信息

命令:

[linux@bashcommandnotfound.cn ~]$ ifcfg -h

输出:

Usage: ifcfg [options] [parameters]
Options:
  -a, --all             show all interfaces configuration
  -s, --status          show all interfaces status
  -d, --down            shutdown interface
  -u, --up              startup interface
  -r, --restart         restart interface
  -i, --interface       specify interface name
  -p, --ip              specify interface ip address
  -n, --netmask         specify interface netmask
  -g, --gateway         specify interface gateway
  -h, --hostname        specify interface hostname
  -m, --mac             specify interface mac address
  -b, --broadcast       specify interface broadcast address
  -v, --version         show version information
  -h, --help            show help information

注释:这个命令会显示ifcfg命令的帮助信息,包括各个选项和参数的说明。

Linux ifcfg命令的注意事项

  • ifcfg命令是Red Hat系列的Linux发行版中的一个工具,其他的Linux发行版可能不支持或需要安装额外的包。
  • ifcfg命令是调用了ifconfig命令来设置网络接口,因此ifcfg命令的功能和ifconfig命令是一致的,只是使用方式不同。
  • ifcfg命令可以通过修改/etc/sysconfig/network-scripts/ifcfg-ethX文件来永久配置网络接口,也可以通过命令行参数来临时配置网络接口,但临时配置不会保存到文件中,如果重启网络接口或系统,临时配置会失效。
  • ifcfg命令需要root权限或sudo权限才能执行,否则会出现Permission denied的错误。
  • 如果出现bash: ifcfg: command not found的错误,说明ifcfg命令没有安装或没有在PATH环境变量中,可以尝试使用绝对路径/usr/sbin/ifcfg来执行,或者安装redhat-config-network包。

Linux ifcfg命令的相关命令

0

评论区