有三个 ipadm 子命令可用于管理 IP 接口属性:
show-ifprop –p property interface-显示 IP 接口的属性及其当前值。如果不使用 –p property 选项,则会列出 IP 接口的所有属性。如果没有指定 IP 接口,则会列出所有 IP 接口的所有属性。
set-ifprop –p property=value interface-为 IP 接口的属性赋值。
reset-ifprop –p property interface-将特定属性重置为其缺省值。
与数据链路一样,IP 接口还具有您可以为特定网络环境定制的属性。对于每个接口,存在两组属性,一组适用于 IPv4,另一组适用于 IPv6。
数据链路和 IP 接口都具有某些属性(包括 MTU 属性)。因此,您可以有一个针对数据链路的 MTU 值和另一个针对在该链路上配置的接口的 MTU 值。而且,在该 IP 接口上,您可以分别为穿越该 IP 接口的 IPv4 和 IPv6 数据包应用不同的 MTU 值。
为 IP 接口设置 MTU 属性时,请记住以下要点:
IP 接口的 MTU 设置值不能大于数据链路的 MTU 设置值。在这种情况下,ipadm 命令会显示错误消息。
如果某个 IP 接口的 MTU 值不同于数据链路的 MTU 值,则 IP 包将限制为该 IP 接口的 MTU 值。例如,如果数据链路的 MTU 值为 9000 字节,而 IP 接口的 MTU 值为 1500 字节,则 IP 包将限制为 1500 字节。不过,使用底层第 2 层协议的其他第 3 层协议可以发送最多 9000 字节的包。
有关定制数据链路属性的说明,包括数据链路 MTU 设置如何影响 IP 接口的 MTU 设置,请参见定制数据链路属性。
在网络上,一个主机可以接收发送到另一个主机系统的数据包。通过在作为接收方的本地系统上启用包转发,该系统可以将数据包转发到目的地主机。此过程称为 IP 转发,缺省情况下在 Oracle Solaris 中被禁用。
包转发功能由可同时在 IP 接口和 TCP/IP 协议上设置的一个属性予以管理。如果希望可以选择包转发方式,则可以在 IP 接口上启用包转发。例如,您的系统可能有多个 NIC,其中某些 NIC 连接到外部网络,另一些 NIC 连接到专用网络。因此,您将只对部分接口(而不是所有接口)启用包转发。
通过设置 TCP/IP 协议的属性,还可以全局性地在系统中启用包转发。有关更多信息,请参见在 Oracle Solaris 11.2 中管理 TCP/IP 网络、IPMP 和 IP 隧道 中的 全局启用包转发。
例如,如下所示在 IP 接口上启用包转发:
# ipadm set-ifprop -p forwarding=on -m protocol-version interface
其中 protocol-version 为 IPv4 或 IPv6。必须分别针对 IPv4 和 IPv6 包键入此命令。
以下示例说明了如何在系统上仅启用 IPv4 包转发:
# ipadm show-ifprop -p forwarding net0 IFNAME PROPERTY PROTO PERM CURRENT PERSISTENT DEFAULT POSSIBLE net0 forwarding ipv4 rw off off off on,off net0 forwarding ipv6 rw off -- off on,off # ipadm set-ifprop -p forwarding=on -m ipv4 net0 # ipadm show-ifprop net0 IFNAME PROPERTY PROTO PERM CURRENT PERSISTENT DEFAULT POSSIBLE ... net0 forwarding ipv4 rw on on off on,off ...
您可以定制 IP 地址属性以管理以下网络配置参数:
网络掩码长度
IP 地址是否可用作传出数据包的源地址
地址是属于全局区域还是非全局区域
地址是否为专用地址
处理 IP 地址属性时可以使用以下 ipadm 子命令:
show-addrprop –p property addrobj-显示地址属性,具体取决于所用选项。
要显示所有 IP 地址的属性,请勿指定属性或地址对象。要显示所有 IP 地址的单个属性的值,请仅指定该属性。要显示特定地址对象的所有属性,请仅指定该地址对象。
set-addrprop –p property=value addrobj-为地址属性赋值。请注意,一次只能设置一个地址属性。
reset-addrprop –p property addrobj-恢复地址属性的任意缺省值。
例如,假设您要更改 IP 地址的网络掩码。该 IP 地址是在 IP 接口 net3 上配置的,由地址对象名称 net3/v4 标识。以下示例说明了如何修改网络掩码:
# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/? static ok 127.0.0.1/8 net3/v4 static ok 192.168.84.3/24 # ipadm show-addrprop -p prefixlen net3/v4 ADDROBJ PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE net3/v4 prefixlen rw 24 24 24 1-30,32 # ipadm set-addrprop -p prefixlen=8 net3/v4 # ipadm show-addrprop -p prefixlen net3/v4 ADDROBJ PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE net3/v4 prefixlen rw 8 24 24 1-30,32