网站搜索

在 Linux 中配置网络的 15 个有用的“ifconfig”命令


ifconfig 简称“接口配置”实用程序,用于 Unix/Linux 操作系统中的系统/网络管理,用于配置、管理和查询网络接口参数通过命令行界面或在系统配置脚本中。

ifconfig”命令用于显示当前网络配置信息、为网络接口设置 IP 地址、网络掩码或广播地址、为网络接口创建别名、设置硬件地址、以及启用或禁用网络接口。

本文介绍了 15 个有用的“ifconfig”命令及其实际示例,这可能对您在 Linux 系统中管理和配置网络接口非常有帮助。

更新:在大多数 Linux 发行版中,网络命令 ifconfig 已被弃用,并由 ip 命令(了解 10 个 IP 命令示例)取代。

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. 显示所有网络接口信息

以下带有 -a 参数的 ifconfig 命令将显示服务器上所有活动或非活动网络接口的信息。它显示 eth0losit0tun0 的结果。

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”会将 IP 地址设置为接口 eth0

ifconfig eth0 172.16.25.125

7. 如何为网络接口分配网络掩码

使用“ifconfig”命令以及“netmask”参数和接口名称 (eth0) 可以为给定接口定义网络掩码。例如,“ifconfig eth0 netmask 255.255.255.224”会将网络掩码设置为给定接口eth0

[root@tecmint ~]# ifconfig eth0 netmask 255.255.255.224

8. 如何将广播分配给网络接口

使用带有接口名称的“广播”参数将为给定接口设置广播地址。例如,“ifconfig eth0广播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(socket stats)——在Linux系统上打印网络套接字相关信息的工具。
  • Wireshark – 是一种开源网络协议分析器,用于解决网络相关问题。
  • Munin – 是一个基于 Web 的网络和系统监控应用程序,用于使用 rrdtool 以图表形式显示结果。
  • Cacti – 是一个完整的基于网络的监控和图形应用程序,用于网络监控。

要获取上述任何工具的更多信息和选项,请通过在命令提示符下输入“man toolname”来查看手册页。例如,要获取“netstat”工具的信息,请使用命令“man netstat”。