Linux的ifconfig命令

评论 0 浏览 0 2021-06-29

ifconfig(接口配置)是一个网络管理工具。它用于配置和查看Linux操作系统中的网络接口的状态。通过ifconfig,你可以分配IP地址,启用或禁用接口,管理ARP缓存,路由等。

在这篇文章中,我们将探讨如何使用ifconfig命令。

如何安装ifconfig

ifconfig命令已被废弃,取而代之的是ip,在较新的Linux发行版中可能不包括该命令。

如果你得到一个错误信息 "ifconfig: command not found",这意味着包含该命令的软件包没有安装在你的系统上。

在Ubuntu/Debian上安装ifconfig

在基于Ubuntu和Debian的Linux发行版上,运行下面的命令来安装ifconfig

sudo apt install net-tools -y

在Centos上安装ifconfig号文件

要在CentOS和其他基于RHEL的Linux发行版上安装ifconfig,请键入:。

sudo dnf install net-tools -y

如何使用 ifconfig 命令

ifconfig命令的基本语法如下所示。

ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]

在哪里?

  • interface - 是网络接口的名称。
  • address - 是你要分配的IP地址。

ifconfig命令设置的配置是不持久的。在系统重启后,所有的改变都会丢失。要使这些改变永久化,你需要编辑发行版特有的配置文件或将这些命令添加到启动脚本中。

只有root或有sudo权限的用户可以配置网络接口。

显示网络接口的相关信息

当调用时没有任何选项,ifconfig显示所有网络接口的配置信息和相关的ip地址。

ifconfig -a

输出包括所有活动的和非活动的网络接口的信息。

docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

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:65536  Metric:1
          RX packets:4198 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4198 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:498729 (498.7 KB)  TX bytes:498729 (498.7 KB)

eth0      Link encap:Ethernet  HWaddr 4c:bb:58:9c:f5:55  
          inet addr:172.20.10.3  Bcast:172.20.10.15  Mask:255.255.255.240
          inet6 addr: 2401:4900:1d65:40a1:4ebb:58ff:fe9c:f555/64 Scope:Global
          inet6 addr: 2401:4900:1d65:40a1:f1c9:6a90:2d99:924e/64 Scope:Global
          inet6 addr: fe80::4ebb:58ff:fe9c:f555/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:84110 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59727 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:70667629 (70.6 MB)  TX bytes:20886290 (20.8 MB)

要显示任何特定网络接口的配置信息,请在命令后面写上接口的名称。

ifconfig eth0

输出结果将看起来像这样。

eth0      Link encap:Ethernet  HWaddr 4c:bb:58:9c:f5:55  
          inet addr:172.20.10.3  Bcast:172.20.10.15  Mask:255.255.255.240
          inet6 addr: 2401:4900:1d65:40a1:4ebb:58ff:fe9c:f555/64 Scope:Global
          inet6 addr: 2401:4900:1d65:40a1:f1c9:6a90:2d99:924e/64 Scope:Global
          inet6 addr: fe80::4ebb:58ff:fe9c:f555/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:84110 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59727 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:70667629 (70.6 MB)  TX bytes:20886290 (20.8 MB)

为一个网络接口分配一个IP地址和网络掩码。

通过ifconfig命令,你可以为一个网络接口分配一个IP地址和净掩码。

使用下面的语法来分配IP地址和网络掩码。

ifconfig [interface-name] [ip-address] netmask [subnet-mask]

例如,要给接口eth0分配IP地址192.168.0.101和网络掩码255.255.0.0,你要运行。

ifconfig eth0 192.168.0.101 netmask 255.255.0.0

你也可以使用接口别名为一个网络接口分配一个辅助IP地址。

ifconfig eth0:0 192.168.0.102 netmask 255.255.0.0

启用和停用一个网络接口

有时,你可能需要重置网络接口。在这种情况下,可以使用ifconfig命令来启用或禁用网络接口。

要禁用一个活动的网络接口,请输入设备名称,后面跟着down标志。

ifconfig eth0 down

要启用一个不活动的网络接口,请使用up标志。

ifconfig eth0 up

启用和禁用混杂模式

混杂允许一个网络接口访问和查看网络中的所有数据包。你可以使用ifconfig命令来启用和禁用特定网络设备上的混杂功能。

要在一个网络接口上启用混杂模式,请在设备名称后面输入promisc标志。

ifconfig eth0 promisc

要禁用混杂模式,请使用-promisc标志

ifconfig eth0 -promisc

改变一个网络接口的MTU

MTU "最大传输单元 "允许你限制在一个接口上传输的数据包的大小。

你可以使用语法来改变MTU值。

ifconfig [interface-name] mtu [mtu-value]

例如,将网络接口eth0的MTU值设置为500,请运行以下命令。

ifconfig eth0 mtu 500

改变一个网络接口的MAC地址

MAC "媒体访问控制 "是唯一能识别网络上设备的物理地址。

要改变一个网络接口的MAC地址,请使用hw ether标志来设置新的MAC地址。

ifconfig eth0 hw ether 00:00:2d:3a:2a:28

总结

我们已经向你展示了如何使用ifconfig命令来配置和显示一个网络接口的信息。关于ifconfig的更多信息,请访问ifconfig命令手册页

如果你有任何问题,请在下面留言。

最后更新2023-03-21
0 个评论