Linux的ifconfig命令
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命令手册页 。
如果你有任何问题,请在下面留言。