15 个有用的“ifconfig”命令用于在 Linux 中配置网络接口
ifconfig是Unix/Linux操作系统中用于系统/网络管理的“接口配置”实用程序,用于通过命令行界面或系统配置脚本配置、管理和查询网络接口参数。
“ ifconfig ”命令用于显示当前网络配置信息,为网络接口设置IP地址,网络掩码或广播地址,为网络接口创建别名,设置硬件地址以及启用或禁用网络接口。
本文介绍了 15 个有用的“ ifconfig ”命令及其实际示例,它们可能对您管理和配置 Linux 系统中的网络接口非常有帮助。
1. 列出 Linux 中的网络接口
不带参数的“ ifconfig ”命令将显示所有活动网络接口配置详细信息,包括其分配的 IP 地址、网络掩码和其他相关信息。
$ ifconfig
示例输出:
eth0 Link encap:Ethernet HWaddr 00:0B:CD:1C:18:5A inet addr:172.16.25.126 Bcast:172.16.25.63 Mask:255.255.255.224 inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2341604 errors:0 dropped:0 overruns:0 frame:0 TX packets:2217673 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:293460932 (279.8 MiB) TX bytes:1042006549 (993.7 MiB) Interrupt:185 Memory:f7fe0000-f7ff0000 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:5019066 errors:0 dropped:0 overruns:0 frame:0 TX packets:5019066 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2174522634 (2.0 GiB) TX bytes:2174522634 (2.0 GiB) tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.1.1.1 P-t-P:10.1.1.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP 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:100 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
2.显示所有网络接口的信息
以下带有参数的ifconfig命令-a
将显示服务器上所有活动或非活动网络接口的信息。它显示eth0、lo、sit0和tun0的结果。
# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:0B:CD:1C:18:5A inet addr:172.16.25.126 Bcast:172.16.25.63 Mask:255.255.255.224 inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2344927 errors:0 dropped:0 overruns:0 frame:0 TX packets:2220777 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:293839516 (280.2 MiB) TX bytes:1043722206 (995.3 MiB) Interrupt:185 Memory:f7fe0000-f7ff0000 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:5022927 errors:0 dropped:0 overruns:0 frame:0 TX packets:5022927 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2175739488 (2.0 GiB) TX bytes:2175739488 (2.0 GiB) sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 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:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.1.1.1 P-t-P:10.1.1.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP 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:100 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
3.查看特定接口的网络设置
使用接口名称(eth0 )作为“ ifconfig ”命令的参数将显示特定网络接口的详细信息。
# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0B:CD:1C:18:5A inet addr:172.16.25.126 Bcast:172.16.25.63 Mask:255.255.255.224 inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2345583 errors:0 dropped:0 overruns:0 frame:0 TX packets:2221421 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:293912265 (280.2 MiB) TX bytes:1044100408 (995.7 MiB) Interrupt:185 Memory:f7fe0000-f7ff0000
4.如何启用网络接口
带有接口名称(eth0 )的“ up ”或“ ifup ”标志会在网络接口未处于非活动状态时激活它,并允许发送和接收信息。
例如,“ ifconfig eth0 up ”或“ ifup eth0 ”将激活eth0接口。
# ifconfig eth0 up OR # ifup eth0
5.如何禁用网络接口
带有接口名称 ( eth0 ) 的“ down ”或“ ifdown ”标志可停用指定的网络接口。例如,“ ifconfig eth0 down ”或“ ifdown eth0 ”命令可停用处于非活动状态的eth0接口。
# ifconfig eth0 down OR # ifdown eth0
6. 如何为网络接口分配 IP 地址
要为特定接口分配 IP 地址,请使用以下命令以及要设置的接口名称 ( eth0 ) 和 IP 地址。例如,“ ifconfig eth0 172.16.25.125 ”将为接口eth0设置 IP 地址。
# ifconfig eth0 172.16.25.125
7. 如何为网络接口分配网络掩码
使用带有“ netmask ”参数和接口名称(eth0 )的“ ifconfig ”命令,您可以为给定接口定义网络掩码。例如,“ ifconfig eth0 netmask 255.255.255.224 ”将为给定接口eth0设置网络掩码。
[root@example ~]# ifconfig eth0 netmask 255.255.255.224
8. 如何将广播分配给网络接口
使用带有接口名称的“ broadcast ”参数将为给定接口设置广播地址。例如,“ ifconfig eth0 broadcast 172.16.25.63 ”命令将广播地址设置为接口eth0。
# ifconfig eth0 broadcast 172.16.25.63
9. 如何为网络接口分配 IP、网络掩码和广播
使用“ ifconfig ”命令及其所有参数一次性分配 IP 地址、网络掩码地址和广播地址,如下所示。
# ifconfig eth0 172.16.25.125 netmask 255.255.255.224 broadcast 172.16.25.63
10.如何更改网络接口的 MTU
“ mtu ”参数设置接口的最大传输单元。MTU允许您设置接口上传输的数据包的限制大小。MTU能够在一次事务中处理到接口的最大八位字节数。
例如,“ ifconfig eth0 mtu 1000 ”将最大传输单元设置为给定集合(即1000)。并非所有网络接口都支持MTU设置。
# ifconfig eth0 mtu 1000
11.如何启用混杂模式
在正常模式下,当网卡收到数据包时,它会验证该数据包是否属于自己。如果不是,它会正常丢弃该数据包,但在混杂模式下,它会接受流经网卡的所有数据包。
如今的网络工具使用混杂模式来捕获和分析流经网络接口的数据包。要设置混杂模式,请使用以下命令。
# ifconfig eth0 promisc
12. 如何禁用混杂模式
要禁用混杂模式,请使用“ -promisc ”开关将网络接口恢复到正常模式。
# ifconfig eth0 -promisc
13. 如何向网络接口添加新别名
ifconfig实用程序允许您使用别名功能配置其他网络接口。要添加eth0的别名网络接口,请使用以下命令。请注意,别名网络地址位于同一子网掩码中。例如,如果您的eth0网络 IP 地址是172.16.25.125,则别名 IP 地址必须是172.16.25.127。
# ifconfig eth0:0 172.16.25.127
接下来,使用“ ifconfig eth0:0 ”命令验证新创建的别名网络接口地址。
# ifconfig eth0:0 eth0:0 Link encap:Ethernet HWaddr 00:01:6C:99:14:68 inet addr:172.16.25.123 Bcast:172.16.25.63 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:17
14. 如何删除网络接口别名
如果您不再需要别名网络接口或错误地配置了它,则可以使用以下命令将其删除。
# ifconfig eth0:0 down
15.如何更改网络接口的 MAC 地址
要更改eth0网络接口的MAC(媒体访问控制)地址,请使用以下命令和参数“ hw ether ”。例如,如下所示。
# ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
这些是Linux中配置网络接口最有用的命令,有关ifconfig命令的更多信息和用法,请在终端上使用手册页,例如“ man ifconfig ”。查看下面的一些其他网络实用程序。
其他网络实用程序
- nmcli – 用于控制 NetworkManager 和报告网络信息的命令行客户端。
- Tcmpdump – 是一个用于监控网络流量的命令行数据包捕获和分析工具。
- Netstat – 是一个开源命令行网络监控工具,用于监控传入和传出的网络数据包流量。
- ss(套接字统计) ——在 Linux 系统上打印网络套接字相关信息的工具。
- Wireshark – 是一个开源网络协议分析器,用于解决网络相关问题。
- Munin – 是一个基于 Web 的网络和系统监控应用程序,用于使用 rrdtool 以图表形式显示结果。
- Cacti – 是一个完整的基于 Web 的网络监控和图形应用程序。
要获取上述任何工具的更多信息和选项,请在命令提示符下输入“ man toolname ”查看手册页。例如,要获取“ netstat ”工具的信息,请使用命令“ man netstat ”。