系统管理指南:IP 服务

Procedure如何显示指定的接口地址

路由器和多宿主主机具有多个接口,并且通常为每个接口指定多个 IP 地址。可以使用 ifconfig 命令来显示为系统接口指定的所有地址,还可以使用 ifconfig 命令仅显示指定的 IPv4 或 IPv6 地址。要另外显示接口的 MAC 地址,您必须首先以超级用户或相应角色的身份登录。

有关 ifconfig 命令的更多信息,请参见 ifconfig(1M) 手册页。

  1. 在本地系统上,承担网络管理角色或成为超级用户。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 获取有关所有接口的信息。

    您可以使用 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 地址:

lo0

IPv6 回送地址。

inet6 fe80::a00:20ff:feb9:4c54/10

为主网络接口指定的链路本地地址。

inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64

IPv6 地址,包括子网前缀。输出中的 ADDRCONF 一词指示此地址是由主机自动配置的。