跳过导航链接 | |
退出打印视图 | |
系统管理指南:IP 服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
1. Oracle Solaris TCP/IP 协议套件(概述)
5. 配置 TCP/IP 网络服务和 IPv4 寻址(任务)
25. Oracle Solaris 中的 IP 过滤器(概述)
可以使用 ifconfig 命令为接口手动指定 IP 地址并手动配置接口参数。此外,Oracle Solaris 启动脚本还运行 ifconfig 来配置伪接口,例如 6to4 隧道端点。
本书介绍多个使用通用 ifconfig 命令的各种选项的任务。有关此命令及其选项和变量的完整说明,请参阅 ifconfig(1M) 手册页。ifconfig 的基本语法如下所示:
ifconfig interface [protocol-family]
使用 ifconfig 命令可确定有关特定系统的接口的基本信息。例如,执行简单的 ifconfig 查询便可获取以下信息:
系统上所有接口的设备名称
为接口指定的所有 IPv4 地址以及所有 IPv6 地址(如果适用)
当前是否已配置这些接口
以下过程说明了如何使用 ifconfig 命令来获取有关系统接口的基本配置信息。
主管理员角色拥有主管理员配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 "使用 Solaris Management Console(任务)"。
# ifconfig interface
状态行
ifconfig 命令输出中的第一行包括接口名称以及当前与接口关联的状态标志。此外,状态行还包括为特定接口配置的最大传输单元 (maximum transmission unit, MTU) 以及索引号。使用状态行可确定接口的当前状态。
IP 地址信息行
ifconfig 输出的第二行包括为接口配置的 IPv4 地址或 IPv6 地址。对于 IPv4 地址,还显示已配置的网络掩码和广播地址。
MAC 地址行
以超级用户或类似角色的身份运行 ifconfig 命令时,ifconfig 输出包含第三行。对于 IPv4 地址,第三行显示了为接口指定的 MAC 地址(以太网层地址)。对于 IPv6 地址,输出中的第三行显示了 IPv6 in.ndpd 守护进程根据 MAC 地址生成的链路本地地址。
示例 8-1 使用 ifconfig 命令生成的基本接口信息
以下示例说明了如何使用 ifconfig 命令来获取有关特定主机上的 eri 接口的信息。
# ifconfig eri eri0: flags=863<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 1 inet 10.0.0.112 netmask ffffff80 broadcast 10.8.48.127 ether 8:0:20:b9:4c:54
下表描述 ifconfig 查询中的变量信息,同时说明如何在屏幕上显示变量以及提供的信息类型。使用上述输出作为示例。
|
路由器和多宿主主机具有多个接口,并且通常为每个接口指定多个 IP 地址。可以使用 ifconfig 命令来显示为系统接口指定的所有地址,还可以使用 ifconfig 命令仅显示指定的 IPv4 或 IPv6 地址。要另外显示接口的 MAC 地址,您必须首先以超级用户或相应角色的身份登录。
有关 ifconfig 命令的更多信息,请参见 ifconfig(1M) 手册页。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
您可以使用 ifconfig -a 命令的变体执行以下操作:
查看系统上所有接口的所有地址。
# ifconfig -a
查看为系统接口指定的所有 IPv4 地址。
# ifconfig -a4
如果本地系统启用了 IPv6,则显示为系统接口指定的所有 IPv6 地址。
ifconfig -a6
示例 8-2 显示所有接口的地址信息
此示例显示只具有一个主网络接口 (qfe0) 的主机的地址项。但是,ifconfig 输出显示当前为 qfe0 指定的三种形式的地址: 回送 (lo0)、IPv4 (inet) 和 IPv6 (inet6)。请注意,在输出的 IPv6 部分中,接口 qfe0 的行显示本地链路 IPv6 地址。qfe0 的第二个地址显示在 qfe0:1 行中。
% ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:b9:4c:54 lo0: flags=2000849 <UP,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:b9:4c:54 inet6 fe80::a00:20ff:feb9:4c54/10 qfe0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64
示例 8-3 显示所有 IPv4 接口的地址信息
此示例显示了为多宿主主机配置的 IPv4 地址。不需要以超级用户的身份登录便可运行此形式的 ifconfig 命令。
% ifconfig -a4 lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:b9:4c:54 qfe1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:6f:5e:17
示例 8-4 显示所有 IPv6 接口的地址信息
此示例仅显示了为特定主机配置的 IPv6 地址。不需要以超级用户的身份登录,便可运行此形式的 ifconfig 命令。
% ifconfig -a6 lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1 inet6 ::1/128 qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 ether 8:0:20:b9:4c:54 inet6 fe80::a00:20ff:feb9:4c54/10 qfe0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2 inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64
此 ifconfig 输出显示了为主机的单个接口指定的以下三种形式的 IPv6 地址:
IPv6 回送地址。
为主网络接口指定的链路本地地址。
IPv6 地址,包括子网前缀。输出中的 ADDRCONF 一词指示此地址是由主机自动配置的。