ifconfig 命令
用途
使用 TCP/IP 配置或显示网络的网络接口参数。
语法
Ifconfig 接口 [ 地址系列 [ 地址 [ 目标地址 ] ] [ 参数... ] ]
Ifconfig 接口 [ 协议系列 ] 接口 协议系列
Ifconfig 一 [ -我 ] [ -d ] [ -u ] [ 协议系列 ]
Ifconfig 接口 [ tcp_low_rto 里都 | -tcp_low_rto ]
描述
可以使用 ifconfig 命令指定网络接口地址,并配置或显示当前网络接口配置信息。 系统启动时必须使用 ifconfig 命令定义系统上存在的每个接口的网络地址。 在系统启动后,也可以用来重新定义接口地址和其他的操作参数。 网络接口配置存放在运行的系统上,而且必须在系统每次重新启动重新设置。 如果设置 IFF_MULTICAST 标志,ifconfig 命令将解释该标志并且打印它的值。
接口可接收使用不同协议传输的信息,每个协议可能需要不同命名方案。 必须指定 addressfamily 参数,此参数可能更改其余参数的解释。 当前受支持的地址系列是 inet 和 inet6。
对于 DARPA-Internet 系列,inet,地址或是主机名数据库(即 /etc/hosts 文件)中的主机名,或是用因特网标准点分十进制表示法表示的 DARPA-Internet 地址。
虽然任何用户可以查询网络接口状态,但只有有管理权限的用户才能修改接口配置。
ifconfig 功能在未提供可选参数时显示网络接口的当前配置。
如果指定协议系列,那么 ifconfig 仅报告特定于该协议系列的详细信息。
只有超级用户才能修改网络接口的配置。
以太网、令牌环和 FDDI 接口支持免费 ARP。 此支持意味着分配 IP 地址时,主机会发送针对它自己的地址(新地址)的 APR 请求以告诉其他系统它的地址,以便他们可立即更新其 APR 条目。 也让主机检测重复的 IP 地址。 如果获取 ARP 请求的响应,错误将记录在 /var/adm/ras/errlog 中,可以使用 errpt 命令(或使用 SMIT 界面)查看错误标识 AIXIF_ARP_DUP_ADDR。
ib0:flags=e3a0063<UP,BROADCAST,NOTRAILERS,RUNNING,ALLCAST,MULTICAST,GROUPRT>
pmtu 2048 qkey
0x1e qpn 0x48 lid 0x5c hca iba0 port 1 inet 1.2.3.120 netmask 0xffffff00 broadcast
1.2.3.255 inet6
fe80::2:c903:1:1e8d/64 tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1此界面现在显示路径 MTU (pmtu)、队列键 (qkey)、队列对编号 (qpn)、本地标识 (lid)、主机通道适配器 (hca) 和端口号 (port)。 在调试或诊断期间这些信息很有用。当使用 ifconfig 命令来指定 detach 命令时,将忽略所有其他选项。 指定 detach 命令会防止 ipconfig 命令中的垃圾字符导致任何错误。 例如,ifconfig en3 garbage
detach 命令将正确运行,即使在包含错误选项时也是如此。
标志
| 项 | 描述 |
|---|---|
| 一 | 可选择使用 -a 标志来代替接口名称。 该标志告诉 ifconfig 显示系统中所有接口信息。 |
| -d | -d 标志显示关闭的接口。 只能将此标志与 -a 或 -l 标志配合使用。 |
| -l | 可以使用此标志列示系统中所有可用接口,不带其他额外信息。 该标志的使用与所有其他标志和命令相互排斥,除 -d 和 -u 以外。 |
| -U | -u 标志显示启动的接口。 只能将此标志与 -a 或 -l 标志配合使用。 |
| 协议系列 | 此标志指定诸如 tcp、udp、tcp6、udp6、icmp 和 icmp6 的协议。 |
参数
| 项 | 描述 |
|---|---|
| 地址 | 指定网络接口的网络地址。 对于 inet 系列,address 参数是主机名或标准的点分十进制表示法的 IP 地址。 |
| 地址系列 | 指定要更改的网络地址系列。 当前受支持的是 inet 和 inet6 地址系列。 此参数缺省值为 inet 地址系列。 |
| 目标地址 | 指定点对点链路的远程通讯端地址。 |
| INTERFACE | 指定显示或更改的网络接口配置值。 在使用 Ifconfig 命令时,必须指定带有 接口 参数的接口。 接口缩写包括:
请在缩写后面加上一个数字来标识特定接口 (例如,tr0). 如果尚未装入接口,那么 ifconfig Interface 装入该接口,而 netstat -in 则列示该接口。 在处理接口的状态查询时,将装入该接口(如果尚未装入)以完成查询处理。 |
| PARAMETER | 允许以下参数值:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 里都 | 以毫秒为单位指定重新传输超时。 该值的范围是 0-3000。 需求: 您必须先设置 不 命令的 timer_wheel_tick 值,然后才能使用 Ifconfig 命令来设置 里都 值。 您指定的 rto 值必须等于已设置的 timer_wheel_tick 值或是该值的 10 倍的倍数。 |
可以根据每个具体接口来配置下列网络选项(通常称为“接口特定网络选项 (ISNO)”):
- rfc1323 [0 | 1]
- 启用或禁用由 RFC 1323( 高性能的 TCP 扩展)指定的 TCP 增强。 值为 1 时指定所有使用此接口的 TCP 连接将试图与 RFC 增强协商。 值为 0 会对所有使用此接口的连接禁用 rfc1323。 SOCKETS 应用程序可以使用 塞佐克托特 子例程覆盖个别 TCP 连接上的此 ISNO 和全局行为。
- -rfc1323
- 不对该网络的 rfc1323 使用 ISNO。 套接字应用程序可以使用 setsockopt 子例程来覆盖各个 TCP 连接上的全局行为。
- tcp_mssdflt 编号
- 设置与远程网络通信时所使用的缺省最大段大小。 如果通过此接口通信,那么套接字会使用 Number 作为缺省最大段大小的值。
- -tcp_mssdflt
- 不对 tcp_mssdflt 选项使用 ISNO。 改用通过 /usr/sbin/no 处理的全局值。
- tcp_recvspace 大小
- 指定接收数据的接口套接字的缺省套接字缓冲区大小。 缓冲区大小影响 TCP 使用的窗口大小。 (有关更多信息,请参阅 不 命令。)
- -tcp_接收空间
- 不对 tcp_recvspace 选项使用 ISNO。 而使用全局值。
- tcp_sendspace 大小
- 指定发送数据的接口套接字的缺省套接字缓冲区大小。 缓冲区大小影响 TCP 使用的窗口大小。 (有关更多信息,请参阅 no 命令。)
- -tcp_sendspace
- 不对 tcp_sendspace 选项使用 ISNO。 而使用全局值。
- tcp_nodelay [0 | 1]
- 指定通过此接口使用 TCP 的套接字在您发送数据时遵循 Nagle 算法。 缺省情况下,TCP 遵循 Nagle 算法。
- -tcp_nodelay
- 不对 tcp_nodelay 选项使用 ISNO。
提示:下次重新启动系统时,您使用 ifconfig 命令设置的参数将丢失。 如果要使参数更改永久有效,请使用 chdev 命令更改每个接口的对象数据管理器(ODM)数据库。 使用 lsattr -E -l [interface] 命令来查看接口属性,并使用 chdev -l [interface] -a [attribute=value] 命令来更改该属性。 例如:lsattr -E -l en0 chdev -l en0 -a tcp_sendspace=65536
安全性
示例
- 要查询串行线路 IP 接口的状态,请输入以下命令:
在此示例中,要查询的接口为sl1. 命令的结果看起来与以下结果类似:ifconfig sl1sl1: flags=51<UP,POINTOPOINT,RUNNING> inet 192.9.201.3 --> 192.9.354.7 netmask ffffff00 - 要配置本地回送接口,请输入以下命令:
ifconfig lo0 inet 127.0.0.1 up - 要将本地令牌环接口标记为当机,请输入以下命令:
在此示例中,要标记的接口为token0.ifconfig tr0 inet down注:只有具有 root 用户权限的用户能修改网络接口配置。
- 要对所有连接关闭 rfc1323 ,请关闭en5(假定全局值是 1) ,请输入以下命令:
ifconfig en0 rfc1323 0 - 要配置使用 vipa 的接口列表,请输入以下命令:
ifconfig vi0 vipa_iflist en0,en1,tr0 - 要除去配置为使用 vipa 的接口,请输入以下命令:
ifconfig vi0 -vipa_iflist en1,tr0 - 要查找配置为使用 vipa 的接口(如 vi0),请输入以下命令:
ifconfig vi0 - 要启用链路状态监视,请输入以下命令:
如果适配器ifconfig en0 monitorent0上的链路状态更改为down,那么适配器将通知接口层,这将导致接口也标记为down。 - 要配置两个节点的接口之间的“通用路由封装”(GRE)隧道,请输入以下命令:
这将在本地接口ifconfig gre0 tunnel 9.3.149.70 9.3.149.1219.3.149.70和远程接口9.3.149.121之间创建 GRE 隧道。 该隧道的本地端以gre0标识。 - 要使某个 IP 地址与新创建的接口相关联,请输入以下命令:
ifconfig gre0 10.10.10.1 - 要在 GRE 隧道上配置 NAT,请输入以下命令:
在该示例中,GRE 包的原始目标端口是ifconfig gre0 nat toaddr 127.0.0.1 fromport 80 toport 808080,该命令将目标端口更改为8080,而将目标地址更改为127.0.0.1。 - 要在一对多端点(一对多隧道)之间配置 GIF 隧道,请输入以下命令:
该命令在源 (ifconfig gif0 10.10.10.1 netmask 255.255.255.0 tunnel 2000::4612:6995:6c4a:fa6e 10.10.10.10,2000::4612:6995:6c4a:fa6a 10.10.10.11,2000::4612:6995:6c4a: fa6b 15.15.15.1,2000::4612:6995:6c4a:f7772000::4612:6995:6c4a:fa6e) 与以下 3 个目标之间创建一对多隧道:2000::4612:6995:6c4a:fa6a2000::4612:6995:6c4a:fa6b2000::4612:6995:6c4a:f777
10.10.10.1IP 地址配置给 GIF 接口。 - 要在两个端点之间配置一对一 GIF 隧道,请输入以下命令:
该命令在源(ifconfig gif0 10.10.10.1 netmask 255.255.255.0 tunnel 2000::4612:6995:6c4a:fa6e 10.10.10.10,2000::4612:6995:6c4a:fa662000::4612:6995:6c4a:fa6e)和目标(2000::4612:6995:6c4a:fa66)之间创建一个 GIF 隧道: - 该命令还将 10.10.10.1 IP 地址配置给 GIF 接口。
文件
| 项 | 描述 |
|---|---|
| /etc/host | 包含主机名数据库。 |
| /etc/networks | 包含网络名称。 |