5.8. 关于 ifconfig 的一切

ifconfig 命令有很多比我们目前描述的更多的参数。它的通常调用方式如下:
ifconfig interface [address [parameters]]

接口是接口名称,而地址是要分配给接口的 IP 地址。这可以是点分十进制表示法的 IP 地址,也可以是 ifconfig 将在以下文件中查找的名称:/etc/hosts.

如果仅使用接口名称调用 ifconfig,它将显示该接口的配置。当不带任何参数调用时,它将显示您目前配置的所有接口;–a选项强制它也显示非活动接口。以太网接口eth0的示例调用可能如下所示:
# ifconfig eth0
eth0      Link encap 10Mbps Ethernet  HWaddr 00:00:C0:90:B3:42
          inet addr 172.16.1.2 Bcast 172.16.1.255 Mask 255.255.255.0
          UP BROADCAST RUNNING  MTU 1500  Metric 0
          RX packets 3136 errors 217 dropped 7 overrun 26
          TX packets 1752 errors 25 dropped 0 overrun 0

TheMTUMetric字段显示该接口的当前 MTU 和 metric 值。metric 值传统上被某些操作系统用于计算路由的成本。Linux 尚未使用此值,但为了兼容性而定义了它。

TheRXTX行显示已接收或发送的无错误数据包数量、发生的错误数量、丢弃的数据包数量(可能是由于内存不足)以及由于溢出而丢失的数据包数量。当数据包进入速度快于内核可以处理上次中断时,通常会发生接收器溢出。ifconfig 打印的标志值大致对应于其命令行选项的名称;稍后将对此进行解释。

以下是 ifconfig 识别的参数列表以及相应的标志名称。简单地启用某个功能的选项也允许通过在选项名称前加上破折号 (–) 来再次禁用它。

up

此选项使接口可供 IP 层访问。当在命令行上给出地址时,此选项是隐含的。它也可以用于重新启用已使用down选项临时禁用的接口。

此选项对应于标志UPRUNNING.

down

此选项将接口标记为 IP 层不可访问。这有效地禁用了通过该接口的所有 IP 流量。请注意,此选项还将自动删除所有使用此接口的路由条目。

netmask mask

此选项为接口分配要使用的子网掩码。它可以是前面带有 0x 的 32 位十六进制数,也可以是点分十进制数。虽然点分十进制格式更常见,但十六进制表示法通常更易于使用。子网掩码本质上是二进制的,并且二进制到十六进制的转换比二进制到十进制的转换更容易。

pointopoint 地址

此选项用于仅涉及两个主机的点对点 IP 链路。例如,配置 SLIP 或 PLIP 接口需要此选项。如果已设置点对点地址,则 ifconfig 会显示POINTOPOINT标志。

broadcast 地址

广播地址通常由网络号组成,方法是将主机部分的所有位都设置为 1。某些 IP 实现(例如,源自 BSD 4.2 的系统)使用不同的方案,其中所有主机部分位都被清除为 0。broadcast选项适用于这些奇怪的环境。如果已设置广播地址,则 ifconfig 会显示BROADCAST标志。

irq

此选项允许您设置某些设备使用的 IRQ 线。这对于 PLIP 尤其有用,但也可能对某些以太网卡有用。

metric number

此选项可用于为接口创建的路由表条目分配一个 metric 值。路由信息协议 (RIP) 使用此 metric 来构建网络的路由表。[1] ifconfig 使用的默认 metric 为零。如果您不运行 RIP 守护程序,则根本不需要此选项;如果您运行,则很少需要更改 metric 值。

mtu bytes

这设置了最大传输单元 (MTU),它是接口在一个事务中能够处理的最大字节数。对于以太网,MTU 默认为 1,500(以太网数据包的最大允许大小);对于 SLIP 接口,它是 296。(SLIP 链接的 MTU 没有限制;此值是一个很好的折衷方案。)

arp

这是一个特定于广播网络(如以太网或分组无线电)的选项。它启用地址解析协议 (ARP) 的使用,以检测连接到网络的主机的物理地址。对于广播网络,默认情况下它是开启的。如果禁用 ARP,则 ifconfig 显示NOARP标志。

–arp

此选项禁用在此接口上使用 ARP。

promisc

此选项将接口置于混杂模式。在广播网络上,这使得接口接收所有数据包,无论这些数据包是否发往此主机。这允许使用数据包过滤器等进行网络流量分析,也称为 以太网嗅探。通常,这是一种用于查找其他难以检测的网络问题的好技术。诸如 tcpdump 之类的工具依赖于此。

另一方面,此选项允许攻击者执行恶意操作,例如扫描您网络的流量以获取密码。您可以通过禁止任何人将他们的计算机插入到您的以太网中来防止此类攻击。您还可以使用安全的身份验证协议,例如 Kerberos 或安全 shell 登录套件。[2] 此选项对应于PROMISC标志。

–promisc

此选项关闭混杂模式。

allmulti

多播地址类似于以太网广播地址,但与自动包含所有人不同,只有那些被编程为侦听多播地址的人才会接收发送到多播地址的数据包。这对于诸如基于以太网的视频会议或网络音频之类的应用程序很有用,只有感兴趣的人才能收听。大多数但并非所有以太网驱动程序都支持多播寻址。启用此选项后,接口将接收并传递多播数据包以进行处理。此选项对应于ALLMULTI标志。

–allmulti

此选项关闭多播地址。

注释

[1]

RIP 根据路径的“长度”选择到达给定主机的最佳路由。它通过将每个主机到主机链路的各个 metric 值相加来计算。默认情况下,一个跳跃的长度为 1,但这可以是小于 16 的任何正整数。(路由长度为 16 等于无穷大。此类路由被认为是不可用的。)metric参数设置此跳跃成本,然后由路由守护程序广播。

[2]

可以从 ftp.cs.hut.fi 中的/pub/ssh.