ifconfig - 配置网络接口
概要
ifconfig [-v] [-a] [-s] [接口]
ifconfig [-v] 接口 [aftype] 选项 | 地址 ...
描述
ifconfig 用于配置内核中的网络接口。 它在启动时用于根据需要设置接口。 之后,通常只有在调试或需要进行系统调整时才需要它。
如果未提供任何参数,ifconfig 将显示当前活动接口的状态。 如果提供单个接口参数,它将仅显示给定接口的状态;如果提供单个 -a 参数,它将显示所有接口的状态,即使这些接口已关闭。 否则,它将配置一个接口。
地址族
如果接口名称后的第一个参数被识别为受支持的地址族的名称,则该地址族将用于解码和显示所有协议地址。 当前支持的地址族包括 inet(TCP/IP,默认)、inet6(IPv6)、ax25(AMPR 数据包无线电)、ddp(AppleTalk Phase 2)、ipx(Novell IPX)和 netrom(AMPR 数据包无线电)。 作为 IPv4 点分十进制表示法一部分提供的所有数字可以是十进制、八进制或十六进制,如 ISO C 标准中所指定(即,前缀 0x 或 0X 表示十六进制;否则,前缀“0”表示八进制;否则,该数字将被解释为十进制)。 使用十六进制和八进制数字不符合 RFC 规范,因此不建议使用。
选项
-a 显示当前所有可用的接口,即使它们已关闭
-s 显示一个简短列表(类似于 netstat -i)
-v 对于某些错误条件,提供更多详细信息
接口
接口的名称。 这通常是驱动程序名称后跟一个单元编号,例如,第一个以太网接口为 eth0。 如果您的内核支持别名接口,您可以使用类似于 eth0:0 的语法来指定它们。 您可以使用它们来分配更多地址。 要删除别名接口,请使用 ifconfig eth0:0 down。 注意:对于每个范围(即,具有相同地址/网络掩码组合的网络),如果您删除第一个(主)接口,则所有别名都将被删除。
up 此标志导致激活接口。 如果向接口分配了地址,则隐式指定该标志;您可以通过在别名接口后附加一个“-”来禁止此行为(例如,eth0:0-)。 同样,在使用 IPv4 地址 0.0.0 时,该标志也被禁止,因为内核将使用该地址来隐式删除别名接口。
down 此标志导致为此接口的驱动程序关闭。
[-]arp 启用或禁用在此接口上使用 ARP 协议。
[-]promisc
启用或禁用接口的混杂模式。 如果选择,网络上的所有数据包都将被接口接收。
[-]allmulti
启用或禁用所有多播模式。 如果选择,网络上的所有多播数据包都将被接口接收。
mtu N 此参数设置接口的最大传输单元 (MTU)。
dstaddr 地址
设置点对点链接(例如 PPP)的远程 IP 地址。 此关键字现已过时;请使用 pointopoint 关键字。
netmask 地址
设置此接口的 IP 网络掩码。 此值默认为通常的 A 类、B 类或 C 类网络掩码(从接口 IP 地址派生),但可以设置为任何值。
add 地址/前缀长度
将 IPv6 地址添加到接口。
del 地址/前缀长度
从接口中删除 IPv6 地址。
tunnel ::aa.bb.cc.dd
创建一个新的 SIT(IPv6-in-IPv4)设备,隧道传输到给定的目标地址。
irq 地址
设置此设备使用的中断行。 并非所有设备都可以动态更改其 IRQ 设置。
io_addr 地址
设置设备在 I/O 空间中开始的地址。
mem_start 地址
设置设备使用的共享内存的开始地址。 只有少数设备需要此设置。
media 类型
设置设备使用的物理端口或介质类型。 并非所有设备都可以更改此设置,并且可以更改的设备在支持的值方面各不相同。 类型值的典型值包括 10base2(细同轴电缆)、10baseT(双绞线 10Mbps 以太网)、AUI(外部收发器)等。 还可以使用特殊介质类型 auto,以告知驱动程序自动检测介质。 同样,并非所有驱动程序都可以执行此操作。
[-]broadcast [地址]
如果提供了地址参数,则为此接口设置协议广播地址。 否则,设置(或清除)接口的 IFF_BROADCAST 标志。
[-]pointopoint [地址]
此关键字启用接口的点对点模式,这意味着它是两个机器之间的直接链接,没有其他机器监听。 如果也提供了地址参数,则设置链接另一端的协议地址,就像过时的 dstaddr 关键字一样。 否则,设置或清除接口的 IFF_POINTOPOINT 标志。
hw 类 地址
设置此接口的硬件地址(如果设备驱动程序支持此操作)。 关键字必须后跟硬件类的名称和硬件地址的等效的可打印 ASCII 字符串。 当前支持的硬件类包括以太网 (ether)、ax25 (AMPR AX.25)、ARCnet 和 netrom (AMPR NET/ROM)。
multicast
在接口上设置多播标志。 通常不需要这样做,因为驱动程序会正确设置该标志。
地址
要分配给此接口的 IP 地址。
txqueuelen 长度
设置设备的发送队列的长度。 对于较慢的设备和高延迟设备(调制解调器链路、ISDN),将其设置为较小的值是有用的,以防止快速批量传输干扰交互式流量(如 telnet)。
name 新名称
将此接口的名称更改为新名称。 接口必须首先关闭。
注意事项
从 kernel release 2.2 开始,不再为别名接口提供显式接口统计信息。 为原始地址打印的统计信息与同一设备上的所有别名地址共享。 如果您想要每个地址的统计信息,您应该使用 iptables(8) 命令为地址添加显式会计规则。
从 net-tools 1.60-4 开始,ifconfig 会以 IEC 600272 单位打印字节计数器和人类可读的计数器。 因此,1 KiB 是 2^10 字节。 请注意,数字被截断为一位小数(如果您考虑 0.1 PiB 是 112.589.990.684.262 字节,则可能是一个很大的误差)。
以太网设备驱动程序中断问题失败时,会出现 EAGAIN(SIOCSIIFLAGS:资源暂时不可用),最可能是中断冲突。 有关更多信息,请参阅 http://www.scyld.com/expert/irq-conflict.html。
文件
/proc/net/dev
/proc/net/if_inet6
错误
ifconfig 使用 ioctl 访问方法来获取完整的地址信息,这会将硬件地址限制为 8 个字节。 由于 Infiniband 硬件地址有 20 个字节,因此只有前 8 个字节才能正确显示。 请使用 iproute2 包中的 ip link 命令来显示包括硬件地址在内的链路层信息。
虽然可以显示 AppleTalk DDP 和 IPX 地址,但不能通过此命令对其进行修改。
作者
Fred N. van Kempen, <_> Alan Cox, <_> Phil Blundell, <_> Andi Kleen Bernd Eckenfels, <_>