JavaScript is required to for searching.
跳过导航链接
退出打印视图
手册页第 1M 部分:系统管理命令     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

简介

系统管理命令-第 1 单元

6to4relay(1M)

acct(1M)

acctadm(1M)

acctcms(1M)

acctcon1(1M)

acctcon(1M)

acctcon2(1M)

acctdisk(1M)

acctdusg(1M)

acctmerg(1M)

accton(1M)

acctprc1(1M)

acctprc(1M)

acctprc2(1M)

acctsh(1M)

acctwtmp(1M)

acpihpd(1M)

adbgen(1M)

add_allocatable(1M)

addbadsec(1M)

add_drv(1M)

arp(1M)

asradm(1M)

asr-notify(1M)

atohexlabel(1M)

audit(1M)

auditconfig(1M)

auditd(1M)

auditrecord(1M)

auditreduce(1M)

auditstat(1M)

audit_warn(1M)

automount(1M)

automountd(1M)

autopush(1M)

bart(1M)

beadm(1M)

boot(1M)

bootadm(1M)

bootconfchk(1M)

bootparamd(1M)

busstat(1M)

captoinfo(1M)

catman(1M)

cfgadm(1M)

cfgadm_ac(1M)

cfgadm_cardbus(1M)

cfgadm_fp(1M)

cfgadm_ib(1M)

cfgadm_pci(1M)

cfgadm_sata(1M)

cfgadm_sbd(1M)

cfgadm_scsi(1M)

cfgadm_sdcard(1M)

cfgadm_shp(1M)

cfgadm_sysctrl(1M)

cfgadm_usb(1M)

chargefee(1M)

chat(1M)

check-hostname(1M)

check-permissions(1M)

chk_encodings(1M)

chroot(1M)

cimworkshop(1M)

ckpacct(1M)

clear_locks(1M)

clinfo(1M)

closewtmp(1M)

clri(1M)

comsat(1M)

consadm(1m)

console-reset(1M)

conv_lp(1M)

conv_lpd(1M)

coreadm(1M)

cpustat(1M)

croinfo(1M)

cron(1M)

cryptoadm(1M)

cvcd(1M)

datadm(1M)

dcopy(1M)

dcs(1M)

dd(1M)

ddu(1M)

ddu-text(1M)

devchassisd(1M)

devfsadm(1M)

devfsadmd(1M)

device_allocate(1M)

device_remap(1M)

devinfo(1M)

devlinks(1M)

devnm(1M)

devprop(1M)

df(1M)

dfmounts(1M)

dfmounts_nfs(1M)

dfshares(1M)

dfshares_nfs(1M)

df_ufs(1M)

dhcpagent(1M)

dhcpconfig(1M)

dhcpmgr(1M)

dhtadm(1M)

dig(1M)

directoryserver(1M)

diskinfo(1M)

disks(1M)

diskscan(1M)

dispadmin(1M)

dladm(1M)

dlmgmtd(1M)

dlstat(1M)

dmesg(1M)

dminfo(1M)

dns-sd(1M)

dnssec-dsfromkey(1M)

dnssec-keyfromlabel(1M)

dnssec-keygen(1M)

dnssec-makekeyset(1M)

dnssec-signkey(1M)

dnssec-signzone(1M)

dodisk(1M)

domainname(1M)

drd(1M)

drvconfig(1M)

dsbitmap(1M)

dscfg(1M)

dscfgadm(1M)

dscfglockd(1M)

dsstat(1M)

dsvclockd(1M)

dtrace(1M)

dumpadm(1M)

editmap(1M)

edquota(1M)

eeprom(1M)

efdaemon(1M)

embedded_su(1M)

etrn(1M)

fbconfig(1M)

fbconf_xorg(1M)

fcadm(1M)

fcinfo(1M)

fdetach(1M)

fdisk(1M)

ff(1M)

ff_ufs(1M)

fingerd(1M)

fiocompress(1M)

flowadm(1M)

flowstat(1M)

fmadm(1M)

fmd(1M)

fmdump(1M)

fmstat(1M)

fmthard(1M)

format(1M)

fpsd(1M)

fruadm(1M)

fsck(1M)

fsck_pcfs(1M)

fsck_udfs(1M)

fsck_ufs(1M)

fsdb(1M)

fsdb_udfs(1M)

fsdb_ufs(1M)

fsirand(1M)

fssnap(1M)

fssnap_ufs(1M)

fsstat(1M)

fstyp(1M)

fuser(1M)

fwflash(1M)

fwtmp(1M)

getdevpolicy(1M)

getent(1M)

gettable(1M)

getty(1M)

gkadmin(1M)

groupadd(1M)

groupdel(1M)

groupmod(1M)

growfs(1M)

grpck(1M)

gsscred(1M)

gssd(1M)

hald(1M)

hal-device(1M)

hal-fdi-validate(1M)

hal-find(1M)

hal-find-by-capability(1M)

hal-find-by-property(1M)

hal-get-property(1M)

hal-set-property(1M)

halt(1M)

hextoalabel(1M)

host(1M)

hostconfig(1M)

hotplug(1M)

hotplugd(1M)

htable(1M)

ickey(1M)

id(1M)

idmap(1M)

idmapd(1M)

idsconfig(1M)

ifconfig(1M)

if_mpadm(1M)

ifparse(1M)

iiadm(1M)

iicpbmp(1M)

iicpshd(1M)

ikeadm(1M)

ikecert(1M)

ilbadm(1M)

inetadm(1M)

ilomconfig(1M)

imqadmin(1M)

imqbrokerd(1M)

imqcmd(1M)

imqdbmgr(1M)

imqkeytool(1M)

imqobjmgr(1M)

imqusermgr(1M)

in.chargend(1M)

in.comsat(1M)

in.daytimed(1M)

in.dhcpd(1M)

in.discardd(1M)

in.echod(1M)

inetadm(1M)

inetconv(1M)

inetd(1M)

in.fingerd(1M)

infocmp(1M)

in.iked(1M)

init(1M)

init.sma(1M)

init.wbem(1M)

inityp2l(1M)

in.lpd(1M)

in.mpathd(1M)

in.named(1M)

in.ndpd(1M)

in.rarpd(1M)

in.rdisc(1M)

in.rexecd(1M)

in.ripngd(1M)

in.rlogind(1M)

in.routed(1M)

in.rshd(1M)

in.rwhod(1M)

install(1M)

installboot(1M)

installf(1M)

installgrub(1M)

in.stdiscover(1M)

in.stlisten(1M)

in.talkd(1M)

in.telnetd(1M)

in.tftpd(1M)

in.timed(1M)

intrd(1M)

intrstat(1M)

in.uucpd(1M)

iostat(1M)

ipaddrsel(1M)

ipadm(1M)

ipf(1M)

ipfs(1M)

ipfstat(1M)

ipmgmtd(1M)

ipmon(1M)

ipmpstat(1M)

ipnat(1M)

ippool(1M)

ipqosconf(1M)

ipsecalgs(1M)

ipsecconf(1M)

ipseckey(1M)

iscsiadm(1M)

isns(1M)

isnsadm(1M)

itadm(1M)

itu(1M)

k5srvutil(1M)

kadb(1M)

kadmin(1M)

kadmind(1M)

kadmin.local(1M)

kcfd(1M)

kclient(1M)

kdb5_ldap_util(1M)

kdb5_util(1M)

kdcmgr(1M)

kernel(1M)

keyserv(1M)

killall(1M)

kmscfg(1M)

kprop(1M)

kpropd(1M)

kproplog(1M)

krb5kdc(1M)

ksslcfg(1M)

kstat(1M)

ktkt_warnd(1M)

labeld(1M)

labelit(1M)

labelit_hsfs(1M)

labelit_udfs(1M)

labelit_ufs(1M)

lastlogin(1M)

latencytop(1M)

ldapaddent(1M)

ldap_cachemgr(1M)

ldapclient(1M)

ldmad(1M)

link(1M)

llc2_loop(1M)

lldpadm(1M)

lldpd(1M)

lms(1M)

localectr(1M)

locator(1M)

lockd(1M)

lockfs(1M)

lockstat(1M)

lofiadm(1M)

logadm(1M)

logins(1M)

lpget(1M)

lpset(1M)

luxadm(1M)

系统管理命令-第 2 单元

系统管理命令-第 3 单元

ipadm

- 配置 Internet 协议网络接口和 TCP/IP 可调参数

用法概要

ipadm create-ip [-t] IP-interface
ipadm delete-ip IP-interface
ipadm create-vni [-t] VNI-interface
ipadm delete-vni VNI-interface
ipadm create-ipmp [-t] [-i interface,[...]...] IPMP-interface
ipadm delete-ipmp [-f] IPMP-interface
ipadm add-ipmp [-t] -i interface,[...] [-i interface,[...]...]
     IPMP-interface
ipadm remove-ipmp [-t] -i interface,[...] [-i interface,[...]...]
     IPMP-interface
ipadm show-if [[-p] -o field[,...]] [interface]
ipadm disable-if -t interface
ipadm enable-if -t interface
ipadm set-ifprop [-t] -m protocol -p prop=value[,...] interface
ipadm reset-ifprop [-t] -m protocol -p prop interface
ipadm show-ifprop [[-c] -o field[,...]] [-p prop,...]
     [-m protocol] [interface]
ipadm create-addr [-t] -T static [-d]
     -a {local|remote}=addr[/prefixlen],... addrobj
ipadm create-addr [-t] -T dhcp [-w seconds | forever]
     [-h hostname] addrobj
ipadm create-addr [-t] -T addrconf [-i {local|remote}=interface-id]
     [-p {stateful|stateless}={yes|no},..] addrobj
ipadm delete-addr [-r] addrobj
ipadm show-addr [[-p] -o field[,...]] [-d] [addrobj | interface/]
ipadm up-addr [-t] addrobj
ipadm down-addr [-t] addrobj
ipadm refresh-addr [-i] addrobj
ipadm disable-addr -t addrobj
ipadm enable-addr -t addrobj
ipadm set-addrprop [-t] -p prop=value[,...] addrobj
ipadm reset-addrprop [-t] -p prop=value[,...] addrobj
ipadm show-addrprop [[-c] -o field[,...]] [-p prop[,...]] [addrobj]
ipadm set-prop [-t] -p prop=value[,...] protocol
ipadm reset-prop [-t] -p prop protocol
ipadm show-prop [[-c] -o field[,...]] [-p prop[,...] protocol | protocol]

描述

ipadm 命令提供了一组可用于执行下列操作的子命令:

管理接口:
  • 创建和删除接口类为 ip、ipmp 和 vni 的接口

  • 修改接口属性

  • 显示接口配置

管理地址:
  • 创建和删除地址

  • 修改地址属性

  • 显示地址配置

管理 TCP/IP 协议属性:
  • 修改 TCP/IP 属性

  • 显示 TCP/IP 属性

“子命令”部分后面的“操作数”部分中介绍了 ipadm 子命令的各种操作数。

需要的授权和特权

以下子命令需要 solaris.network.interface.config 授权和 PRIV_SYS_IP_CONFIG 特权。

create-ip          create-addr
delete-ip          up-addr
create-vni         down-addr
delete-vni         refresh-addr
create-ipmp        disable-addr
delete-ipmp        enable-addr
add-ipmp           set-addrprop
remove-ipmp        reset-addrprop
disable-if         set-prop
enable-if          reset-prop
set-ifprop
reset-ifprop

除了上面指定的授权和特权以外,ipadm 子命令 create-ip、create-vni、create-ipmp 和 enable-if 还需要 PRIV_NET_RAWACCESS 特权。

子命令

支持以下子命令:

create-ip [-t] IP-interface

创建处理 IPv4 和 IPv6 包的 IP 接口。IPv4 接口的地址将设置为 0.0.0.0,IPv6 接口的地址将设置为 ::。缺省情况下,此子命令导致保存信息,因此,此接口将在下次重新引导时进行实例化。

在创建接口时针对 IPv4 和 IPv6 隐式启用接口。请参见下面的 disable-if 和 enable-if 子命令,以便禁用或启用接口。

请注意,lo0 是称为回送接口的特殊接口。它是一个虚拟 IP 接口,并且不与任何物理硬件关联。它是在系统上创建的第一批 IP 接口之一,并且 IPv4 地址为 127.0.0.1,IPv6 地址为 ::/128。

-t、--temporary

指定此操作为临时操作,因此不能保存。此操作仅影响活动配置。

delete-ip IP-interface

从活动配置中删除 IP 接口。在此接口上配置的所有地址都将删除。并且,所有与此接口相关的持久性信息都将从持久性数据存储中删除,为此,不会在重新引导时实例化 interface。要从活动配置禁用接口(而非删除此接口),请使用 disable-if 子命令。

create-vni [-t] VNI-interface

创建处理 IPv4 和 IPv6 包的 VNI 接口。IPv4 接口的地址将设置为 0.0.0.0,IPv6 接口的地址将设置为 ::。缺省情况下,此子命令导致保存信息,因此,此接口将在下次重新引导时进行实例化。

在创建接口时针对 IPv4 和 IPv6 隐式启用接口。请参见下面的 disable-if 和 enable-if 子命令,以便禁用或启用接口。

请注意,vni 是一个虚拟接口,并且不与任何硬件关联,因此它是一个特殊接口。请参见 vni(7d)。

-t、-—temporary

指定此操作为临时操作,因此不能保存。此操作仅影响活动配置。

delete-vni VNI-interface

从活动配置中删除 VNI 接口。在此接口上配置的所有地址都将删除。并且,所有与此 IP 接口相关的持久性信息都将从持久性数据存储中删除,为此,不会在重新引导时实例化接口。要从活动配置禁用此接口(而非删除此接口),请使用 disable-if 子命令。

create-ipmp [-t] [-i interface,[...]...] IPMP-interface

创建处理 IPv4 和 IPv6 包的 IPMP 接口。IPv4 接口的地址将设置为 0.0.0.0,IPv6 接口的地址将设置为 ::。缺省情况下,此子命令导致保存信息,因此,此接口将在下次重新引导时进行实例化。

在创建接口时针对 IPv4 和 IPv6 隐式启用接口。请参见下面的 disable-if 和 enable-if 子命令,以便禁用或启用 IPMP 接口。

-t、-—temporary

指定此操作为临时操作,因此不能保存。此操作仅影响活动配置。

-i、-—interface interface,[...]

以逗号分隔的、要作为底层接口添加到 IPMP 接口的接口列表。 指定接口必须存在于活动配置中才能成功添加到 IPMP 组,并且不能存在于任何其他 IPMP 组中。允许使用多个 -i 选项。如果已创建 IPMP 接口,但添加给定的底层接口失败,此命令将以部分成功的形式返回。

delete-ipmp [-f] IPMP-interface

从活动配置中删除 IPMP 接口。在此接口上配置的所有地址都将删除。除非指定了 -f 选项,否则如果 IPMP 接口具有任何底层接口,此命令将失败。并且,所有与此 IPMP 接口相关的持久性信息都将从持久性数据存储中删除,为此,不会在重新引导时实例化接口。要从活动配置仅禁用此接口(而非删除此接口),请使用 disable-if 子命令。

-f、--force

如果 IPMP 接口具有任何底层接口,指定此选项将首先从组中删除所有底层接口,然后再删除此 IPMP 接口。

add-ipmp [-t] -i interface,[...] [-i interface,[...]...] IPMP-interface

向给定 IPMP 接口添加一个或多个底层 IP 接口。

-t、-—temporary

指定此操作为临时操作,因此不能保存。此操作仅影响活动配置。

-i、-—interface interface,[...]

以逗号分隔的、要作为底层接口添加到 IPMP 接口的接口列表。 指定接口必须存在于活动配置中才能成功添加到 IPMP 组,并且不能存在于任何其他 IPMP 组中。如果已至少添加一个接口,并且添加其余接口失败,此命令将以部分成功的形式返回。允许使用多个 -i 选项。

remove-ipmp [-t] -i interface,[...] [-i interface,[...]...] IPMP-interface

从 IPMP 接口删除一个或多个底层 IP 接口。

-t、-—temporary

指定此操作为临时操作,因此不能保存。此操作仅影响活动配置。

-i、-—interface interface,[...]

要从 IPMP 接口中删除的底层接口的逗号分隔列表。指定接口必须已成为给定 IPMP 组的底层接口。允许使用多个 -i 选项。如果已至少删除一个接口,并且删除其余接口失败,此命令将以部分成功的形式返回。

show-if [[-p] -o field[,...]] [interface]

显示系统中配置的所有网络接口(包括仅位于持久性配置中的网络接口)或指定网络接口的网络接口配置信息。

-o field[,...]、--output field[,...]

要显示的输出字段的列表,这些字段不区分大小写,并且由逗号分隔。field 名称必须是下面列出的某个字段,或者是特殊值 all 以便显示所有字段。对于每个网络接口,可显示下列字段:

IFNAME

IP 接口的名称。

CLASS

表示下列项之一:

ip

在底层数据链路上方检测到的接口。

ipmp

在一个或多个底层 IP 接口上方创建的 IPMP 接口。

loopback

回送接口。

vni

虚拟 IP 接口。请参见 vni(7d)。

STATE

表示显示的接口的下列项之一:

ok(正常)

指示已分配接口所需的资源。对于某些接口,此标志还指示链路已启动。

offline(脱机)

接口处于脱机状态,因此不能发送或接收 IP 数据通信。请参见 if_mpadm(1M)。

failed(失败)

表示数据链路已关闭。如果接口包含在 IPMP 组中,则还可能表示此接口已失败(也即,设置了 IFF_FAILED)。失败的接口将不会用于发送或接收 IP 数据通信。如果对 IPMP 组中的某一物理 IP 接口设置了此标志,IP 数据通信将继续经由 IPMP 组中的其他可用物理 IP 接口传送。如果对 IPMP IP 接口设置了此标志,则整个组将失败,无法通过该组中的任何接口发送或接收数据通信。请参见 in.ndpd(1M)。

down(关机)

表示已通过管理方式关闭接口,从而防止通过此接口发送或接收任何 IP 包。

disabled(禁用)

表示已使用 disable-if 子命令从活动配置中禁用接口。

ACTIVE

此值为 yes 或 no,具体取决于系统是否正在使用此 IP 接口传输 IP 数据通信。

CURRENT

对于活动配置中的接口对象,此选项表示下列任何标志。

b

接口支持广播

m

接口支持多播

p

接口是点对点链路

v

接口是虚拟接口(例如,vni(7d), loopback),也就是说,物理接口没有底层硬件。

s

IPMP 接口以管理方式标记为备用。请参见 in.ndpd(1M)。

l

接口是 IPMP 接口的底层接口。请参见 in.ndpd(1M)。

i

底层接口处于非活动状态。请参见 in.ndpd(1M)。

V

接口是 VRRP 接口

a

VRRP 接口处于接受模式 (~IFF_NOACCEPT)

Z

已通过管理方式强制实施接口的 IP 地址的第 3 层保护。

4

接口可处理 IPv4 包

6

接口可处理 IPv6 包

请注意,b 和 p 互斥。

PERSISTENT

指定在重新引导时实例化或使用 enable-if 子命令重新启用接口对象时将应用的配置。此值可以为下列任何项或所有项:s、l、4 和 6(请参见上文)。缺省情况下,不会显示此字段,此字段仅在指定了 all 或 persistent 以及 -o 时显示。

OVER

创建 IPMP 接口所基于的底层接口。此字段不适用于其他接口类。

-p、--parsable

使用稳定的可供计算机解析的格式显示。-o 选项需要与此选项一起使用。请参见下面的“可解析的输出格式”。

disable-if -t interface

通过从活动配置中删除指定 interface 来禁用它。在此接口上配置的所有地址都将禁用。如果在一开始时就以持久方式创建了接口对象,持久性配置保持不变。要重新启用此接口,用户应使用 enable-if。

-t、--temporary

指定禁用是临时操作,并且更改仅应用于活动配置。

enable-if -t interface

通过从持久性存储读取配置来启用给定接口。将应用所有持久性接口属性(如果有),并且将启用给定接口上的所有持久性地址(如果有)。

-t、--temporary

指定启用是临时操作,并且更改仅应用于活动配置。

set-ifprop [-t] -m protocol -p prop=value[,...] interface

将接口属性修改为用户指定的值。如果此属性采用多个值,则应使用逗号作为分隔符来指定这些值。一次只能指定一个属性。使用 show-ifprop 子命令可以检索接口上支持的属性以及属性的可能值。一次只能修改一个属性。

-t、--temporary

指定更改是临时操作,并且更改仅应用于活动配置。

-m protocol、--module protocol

确定应对 IPv4 还是 IPv6 包应用属性。

-p prop=value[,...]、-prop prop=value[,...]

要设置为指定值的属性。

reset-ifprop [-t] -m protocol -p prop interface

将指定接口的属性重置为其缺省值。如果未使用 -t,则将删除属性的所有保存的值。一次只能修改一个属性。

-t、--temporary

指定重置是临时操作,并且更改仅应用于活动配置。

-m protocol、--module protocol

确定重置的属性将影响 IPv4 还是 IPv6 包。

-p prop、-prop prop

要设置为指定值的属性。

show-ifprop [[-c] -o field[,...]] [-p prop,...] [-m protocol] [interface]

显示创建的所有接口或指定接口的一个或多个属性的当前和持久性值。通过向 -p 选项提供以逗号分隔的属性名称,一次可以检索多个相关属性。如果未指定 -p 选项,则显示所有可用的接口属性。

-o field[,...]、--output field[,...]

要显示的输出字段的列表,这些字段不区分大小写,并且由逗号分隔。field 名称必须是下面列出的某个字段,或者是特殊值 all 以便显示所有字段。对于每个接口,可显示下列字段:

IFNAME

接口的名称。

PROPERTY

属性的名称。

PROTO

属性所属的协议的名称。当前支持的协议包括 IPv4 和 IPv6。

PERM

属性的读/写权限。显示的值将为 r(只读)、w(只写)或 rw(读写)。

CURRENT

属性的当前值。对于已禁用的接口,由于未设置值,因此此选项显示为 --。

PERSISTENT

属性的持久性值。持久性值是将在重新引导时重新应用的值。

DEFAULT

属性的缺省值。如果属性没有缺省值,则显示 --。

POSSIBLE

属性可具有的值的逗号分隔列表。如果这些值在某个数字范围中,则可以显示简写形式 min - max。如果可能的值未知,则显示 ?,或者如果可能的值无限制,则显示 --。

-c、--parsable

使用稳定的可供计算机解析的格式显示。-o 选项需要与此选项一起使用。请参见下面的“可解析的输出格式”。

-p prop,...、-–prop=prop

要显示的属性的逗号分隔列表。请参见子命令说明后面的接口属性部分。

-m protocol、--module protocol

显示与给定协议匹配的属性。有效值为 ipv4 和 ipv6。

有关接口属性的支持列表,请参见下面的“接口属性”。

create-addr [-t] -T static [-d] -a {local | remote}=addr[/prefixlen],... addrobj

在 addrobj 指定的接口上创建静态 IPv4 或 IPv6 地址。创建 addrobj 时所在的接口必须已存在。创建的静态地址将通过 addrobj 标识。

缺省情况下,配置的地址将标记为 up,因此可将其用作传出和传入包的源或目标。

所有地址对象均在创建时启用。有关如何禁用或启用地址对象的说明,请参见 disable-addr 和 enable-addr 子命令。

不能在临时对象中执行持久性操作。也就是说,如果接口是临时创建的,用户不能以持久方式创建地址对象。

如果 addrobj 名称中指定的接口为 IPMP 接口,则会在 IPMP 接口中创建一个静态数据地址。如果 addrobj 名称中指定的接口为 IPMP 组的底层接口,则会在底层接口中创建一个静态测试地址。

-t、--temporary

指定配置的地址是临时地址,并且更改仅应用于活动配置。

-d、--down

指定应将配置的地址标记为 down,也就是说,该地址将不会用作 IP 包的源或目标。

-a {local | remote}=addr[/prefixlen],...
--address {local | remote}=addr[/prefixlen],...

addr 表示与本地或远程端点对应的文本 IP 地址或主机名(适用于点对点接口)。

如果指定了主机名,则使用 /etc/hosts 中的条目以唯一方式获取其数值。如果此文件中未定义数字 IP 地址,则使用在 nsswitch.conf(4) 中为 hosts 或 ipnodes 指定的解析器顺序以唯一方式获取此数值。如果给定主机名存在多个条目,则将生成错误。由于先创建 IP 地址,然后才会在引导进程中将命名服务联机,因此应将使用的所有主机名包含在 /etc/hosts 中,这一点非常重要。

如果未在命令行中明确指定 prefixlen,则按下面列出的顺序来执行搜索,以便获取地址的网络掩码:

  1. 使用在 nsswitch.conf(4) 中为 netmasks 指定的顺序

  2. 使用 RFC 791 中定义的类子网语义解释 IPv4 地址,使用 RFC 4291 中的定义解释 IPv6 地址。

对于点对点接口,除本地端点的地址以外,还必须指定远程端点的地址(例如,-a local=laddr,remote=raddr)。如果指定了远程端点的 prefixlen,则将返回错误。

请注意,如果接口仅需要本地地址,请使用 -a 选项按如下方法直接指定此地址:-a addr[/prefixlen]。此地址将自动视为本地地址。

create-addr [-t] -T dhcp [-w seconds | forever] -h hostname addrobj

在 addrobj 指定的接口上创建受 DHCP 控制的 IPv4 地址。创建的 IPv4 地址将通过 addrobj 标识。如果 addrobj 包含底层接口,此命令将创建一个测试地址;如果包含 IPMP 接口,则会创建一个数据地址。

所有地址对象均在创建时启用。有关如何禁用和启用地址对象的说明,请参见 disable-addr 和 enable-addr 子命令。

不能在临时对象中执行持久性操作。也就是说,如果接口是临时创建的,用户不能以持久方式创建地址对象。

如果 addrobj 名称中指定的接口为 IPMP 接口,则会在 IPMP 接口中创建通过 DHCP 获取的地址以作为数据地址。

-h hostname

指定客户机要让 DHCP 服务器将客户机的租用 IPv4 地址映射到的主机名。不保证 DHCP 服务器能够完成主机名请求。

-t、--temporary

指定配置的地址是临时地址,并且更改仅应用于活动配置。

-w seconds | forever、--wait seconds | forever

指定等待操作完成的时间(以秒为单位)。如果未指定等待时间间隔,此操作无法立即完成,缺省情况下,ipadm 将等待 120 秒钟以便完成请求的操作。请注意,缺省等待时间将在将来的发行版中发生更改。也可以使用具有明确含义的符号值 forever。

create-addr [-t] -T addrconf [-i {local | remote}=interface-id] [-p {stateful | stateless}={yes | no},..] addrobj

在 addrobj 指定的接口上创建自动配置的 IPv6 地址。创建的 IPv6 地址将通过 addrobj 标识。

系统使用缺省接口 ID(对于介质类型的以太网,接口 ID 即为此接口的 MAC 地址)生成自动配置的地址。使用 -i 选项可覆盖此行为。

缺省情况下:

  • IPv6 地址将根据路由器声明的前缀自动配置,如 RFC 4862 中所述,并且...

  • 将使用 DHCPv6 服务器提供的 IPv6 地址在指定接口上自动配置 IPv6 地址,如 RFC 3315 中所述。(也就是说,-p stateful=yes,stateless=yes 为缺省选项。)

所有地址对象均在创建时启用。有关如何禁用和启用地址对象的说明,请参见 disable-addr 和 enable-addr 子命令。

不能在临时对象中执行持久性操作。也就是说,如果接口是临时创建的,用户不能以持久方式创建地址对象。

如果 addrobj 名称中指定的接口为 IPMP 接口,则会在 IPMP 接口上创建通过 IPv6 自动配置获取的地址以作为数据地址。

-t、--temporary

指定配置的地址是临时地址,并且更改仅应用于活动配置。

-i {local | remote}=interface-id、--interface-id {local | remote}=interface-id

指定用于生成自动配置的地址的接口 ID。

对于点对点接口,可指定远程端点的接口 ID(例如,-i local=lid,remote=rid)。

请注意,如果接口仅需要本地接口 ID,请使用 -i 选项按如下方式直接指定此 ID:-i lid。此接口 ID 将自动视为本地接口 ID。

-p {stateful | stateless}={yes | no},..
--prop {stateful | stateless}={yes | no},..

指定是否应启用自动配置的有状态和/或无状态方法。

如果指定 -p stateful=no,则不会执行基于 DHCPv6 指定的 IPv6 地址的有状态自动配置。

如果指定 -p stateless=no,则不会执行基于路由器声明的前缀的无状态自动配置。

如果指定 -p stateful=no,stateless=no,则不会执行两种自动配置方法。

通过 -T addrconf 选项,将在缺省情况下使用 -p stateful=yes,stateless=yes。

delete-addr [-r] addrobj

在 addrobj 指定的接口中删除 addrobj 标识的所有地址。此命令还会从持久性数据存储中删除这些地址;因此,这些地址不会在重新引导时实例化。

如果地址对象是受 DHCP 控制的地址,delete-addr 将从系统中删除此地址,而不会通知 DHCP 服务器,并记录当前租用以备后用。

-r、--release

如果 addrobj 是受 DHCP 控制的地址,此选项将导致通过通知服务器在接口上放弃受 DHCP 控制的 IP 地址,并放弃当前租用。

show-addr [[-p] -o field[,...]] [-d] [addrobj | interface/]

显示给定 addrobj 或指定接口上配置的所有地址对象(包括仅位于持久性配置中的地址对象)的地址信息。

-p、--parsable

使用稳定的可供计算机解析的格式显示。-o 选项需要与此选项一起使用。请参见下面的“可解析的输出格式”。

-o field[,...]、--output field[,...]

要显示的输出字段的列表,这些字段不区分大小写,并且由逗号分隔。field 名称必须是下面列出的某个字段,或者是特殊值 all 以便显示所有字段。对于每个接口,可显示下列字段:

ADDROBJ

地址对象的名称。

TYPE

地址对象的类型。此类型将为下列值之一:from-gz、static、dhcp 或 addrconf。static、dhcp 和 addrconf 类型对应于 create-addr 的 -T 选项所指定的地址对象的类型。from-gz 类型将仅在非全局区域中显示,并且表示该地址是根据 allowed-address 属性配置的,此属性是从全局区域为非全局专用 IP 区域配置的。

STATE

地址对象的状态。此字段仅在指定了 all 和 -o 时显示。此字段表示下列值之一:

disabled(禁用)

地址不包含在活动配置中(请参见 disable-addr 和 disable-if)。

down(关机)

地址通过管理方式关闭(请参见 down-addr)。

duplicate(重复)

重复地址检测 (duplicate address detection, DAD) 发现地址与其他系统的 IP 地址冲突,在解决冲突之前,无法使用此地址。系统将定期重新运行 DAD,确定是否已解决冲突。或者,也可以使用 refresh-addr 立即重新运行 DAD。

inaccessible(无法访问)

由于配置地址所在的 IP 接口已失败,因此无法使用此地址。

ok(正常)

地址已启用且正常运行。系统将接受发往此地址的 IP 包,并且将根据配置的 IP 源地址选择策略使用此地址发出 IP 包。

tentative(暂定)

地址当前正在进行重复地址检测(例如,作为 up-addr 或 refresh-addr 的一部分)。

CURRENT

对于活动配置中的地址对象,此选项表示下列任何标志。缺省情况下,不会显示此字段,此字段仅在指定了 all 或 current 以及 -o 时显示。

d (deprecated)

除非接口上没有其他可用地址,或者应用程序已显式绑定到此地址,否则无法用作传出包的源地址。

p (private)

路由守护进程未声明的地址。

t (temporary)

在 RFC 3041 中定义的临时 IPv6 地址。

U (up)

标记地址,以便用作传出/传入包的源/目标。

u (unnumbered)

地址与系统中的某个其他链路的本地地址匹配。

PERSISTENT

指定在重新引导时实例化或使用 enable-addr 子命令重新启用地址对象时将应用的配置。此值可以为下列任何项或所有项:U、p 和 d(请参见上文)。

ADDR

数字 IPv4 或 IPv6 地址。对于点对点接口,显示两个端点的地址 (laddr-->raddr)。对于类型为 dhcp 的地址对象,如果此地址对象的状态为 disabled,或者如果此地址为 0.0.0.0(适用于 IPv4)或 ::(适用于 IPv6),则会显示一个问号 (?)。

CID-TYPE

dhcpagent(1M) 使用的客户机 ID 的类型(如果使用 DHCP 获取此地址)。对于 IPv4,此选项显示在构造 RFC 4361 客户机 ID 时使用的 DUID 的类型。此类型为 DUID-LLT、DUID-EN、DUID-LL、other 或 default 之一。缺省输出中不会显示此字段。通过使用 -d 或者使用 cid-type 或 all 以及 -o,可以显示此字段。

DUID-LLT

类型 1 RFC 3315 DUID 用于构造 CID-VALUE(例如,1,1,63463777,0a:0b:0c:0d:0e:0f)。有关详细信息,请参见 RFC。

DUID-EN

类型 2 RFC 3315 DUID 用于构造 CID-VALUE(例如,1,1,63463777,0a:0b:0c:0d:0e:0f)。有关详细信息,请参见 RFC。

DUID-LL

类型 3 RFC 3315 DUID 用于构造 CID-VALUE(例如,1,1,63463777,0a:0b:0c:0d:0e:0f)。有关详细信息,请参见 RFC。

other

类型包含在 {0,4-65535} 中的 RFC 3315 DUID 用于派生客户机 ID(例如,4,0x734633),或者 CID-VALUE 是不符合 RFC 3315 的原始客户机 ID(例如,Sun, 0xab3146)。

default

表示 RFC 3315 DUID 未用于构造客户机 ID,而是根据 RFC 2132 使用接口的 MAC 地址派生客户机 ID。CID-VALUE 将包含后跟有 MAC 地址十六进制字符串的字符串 0x01。这仅适用于 IPv4。

CID-VALUE

dhcpagent(1M) 使用的客户机 ID 的值(如果使用 DHCP 获取此地址)。使用的格式遵循文件 /etc/default/dhcpagent 中的配置参数 CLIENT_ID 的格式。请参见 dhcpagent(1M) 中 CLIENT_ID 的说明。如果 CID-TYPE 是缺省值,则 CID-VALUE 包含根据 RFC 2132 构造的旧 CLIENT-ID。缺省输出中不会显示此字段。通过使用 -d 或者使用 cid-type 或 all 以及 -o 选项,可以显示此字段。

BEGIN

对于使用 DHCP 获取的地址而言,这是租用的开始时间(如果可用)。此时间按 LC_TIME 本地环境变量控制的格式显示。对于并非使用 DHCP 配置的地址或没有租用的 DHCP 地址,将显示 --(双连字符)。缺省输出中不会显示此字段。通过使用 -d 或者使用 cid-type 或 all 以及 -o 选项,可以显示此字段。

EXPIRE

对于使用 DHCP 获取的地址而言,这是租用过期的时间(如果可用)。此时间按 LC_TIME 本地环境变量控制的格式显示。对于并非使用 DHCP 配置的地址或没有租用的 DHCP 地址,将显示 --(双连字符)。缺省输出中不会显示此字段。通过使用 -d 或者使用 cid-type 或 all 以及 -o 选项,可以显示此字段。

RENEW

对于使用 DHCP 获取的地址而言,这是上次续订租用的时间。此时间按 LC_TIME 本地环境变量控制的格式显示。对于并非使用 DHCP 配置的地址或没有租用的 DHCP 地址,将显示 --(双连字符)。缺省输出中不会显示此字段。通过使用 -d 或者使用 cid-type 或 all 以及 -o 选项,可以显示此字段。

-d、--dhcp

显示使用 DHCP 获取的地址的 dhcp 状态字段。显示的字段包括 ADDROBJ、STATE、ADDR、CID-TYPE、CID-VALUE、BEGIN、EXPIRE 和 RENEW。此选项仅显示便于阅读的输出,并且无法与 -p 配合使用。


注 - 在某些情况下,地址对象的名称以下条 (_) 开头,如在 e1000g1/_a 或 e1000g1/_b 中。对于使用 ipadm 编程库的应用程序,自动生成这些名称。您还将看到地址对象名称中含有问号 (?) 的地址。这表示这些地址是在 ipadm 库外部创建的,因此 ipadm 不知道这些地址。


down-addr [-t] addrobj

通过 addrobj 标识的地址标记为已关闭,因此无法将其用作传出/传入包的源/目标。如果在调用 down-addr 之前已将地址对象标记为关闭,此命令不起作用。如果地址对象的类型为 addrconf,此命令将返回错误。

-t、--temporary

指定配置的地址是临时地址,并且更改仅应用于活动配置。如果地址对象类型为 dhcp,此选项则是强制性的。

up-addr [-t] addrobj

通过 addrobj 标识的地址标记为已启用,因此可以将其用作传出/传入包的源/目标。如果系统因地址对象是重复地址而将地址对象标记为已关闭,或者如果在调用 up-addr 之前将此地址标记为已启用,此命令不起作用。如果地址对象的类型为 addrconf,此命令将返回错误。

-t、--temporary

指定配置的地址是临时地址,并且更改仅应用于活动配置。如果地址对象类型为 dhcp,此选项则是强制性的。

refresh-addr [-i] addrobj

如果 addrobj 的类型为 static,则会在地址对象标识的地址上重新启动 DAD(Duplicate Address Detection,重复地址检测)(如果需要)。

如果 addrobj 的类型为 dhcp,DHCP 客户机守护进程将延长在此地址上获取的租用持续时间。

如果 addrobj 的类型为 addrconf,此命令将返回错误。

-i、--inform

对于指定 IP 地址,从 DHCP 获取网络配置参数,而不在其中获取租用。当通过 DHCP 以外的机制获取 IP 地址时,此选项非常有用。

disable-addr -t addrobj

通过从活动配置中删除地址来禁用它。如果在一开始时就以持久方式创建了地址对象,持久性配置保持不变。要重新启用此 addrobj,用户应使用 enable-addr。

-t、--temporary

指定禁用是临时操作,并且更改仅应用于活动配置。

enable-addr -t addrobj

通过从持久性存储读取配置来启用给定 addrobj。所有持久性地址属性都适用于地址对象。此子命令要求存在启用地址对象所在的接口。如果活动配置中缺少此接口本身,且此接口位于持久性存储中,也就是说,如果禁用此接口,那么用户必须在调用 enable-addr 之前运行 enable-if。

-t、--temporary

指定启用是临时操作,并且更改仅应用于活动配置。

set-addrprop [-t] -p prop=value[,...] addrobj

在指定 addrobj 上设置属性的值。如果 addrobj 映射到多个地址,属性更改将应用于 addrobj 引用的所有地址。一次只能指定一个属性。使用 show-addrprop 子命令可以检索 addrobj 上支持的属性以及属性的可能值。如果 addrobj 的类型为 addrconf,此命令将返回错误。

-t、--temporary

指定更改是临时操作,并且更改仅应用于活动配置。

-p prop=value[,...]、-–prop prop=value[,...]

要设置为指定值的属性。

reset-addrprop [-t] -p prop addrobj

将给定地址属性重置为其缺省值。如果未使用 -t,则将删除属性的所有持久性值。一次只能修改一个属性。如果 addrobj 的类型为 addrconf,此命令将返回错误。

-t、--temporary

指定重置是临时操作,并且更改仅应用于活动配置。

-p prop、-–prop prop

要重置的属性。

show-addrprop [[-c] -o field[,...]] [-p prop,...] [addrobj]

显示配置的所有地址对象或指定 addrobj 的一个或多个属性的当前和持久性值。通过向 -p 选项提供以逗号分隔的属性名称,一次可以检索多个相关属性。如果未指定 -p 选项,则显示所有可用属性。如果 addrobj 的类型为 addrconf,此命令将返回错误。

-o field[,...]、--output field[,...]

要显示的输出字段的列表,这些字段不区分大小写,并且由逗号分隔。field 名称必须是下面列出的某个字段,或者是特殊值 all 以便显示所有字段。对于每个 addrobj,可显示下列字段:

ADDROBJ

地址对象的名称。

PROPERTY

属性的名称。

PERM

属性的读/写权限。显示的值将为 r(只读)、w(只写)或 rw(读写)。

CURRENT

属性的当前值。对于禁用的地址,由于未设置该值,因此该值显示为双连字符 (--)。

PERSISTENT

属性的持久性值。持久性值是将在重新引导时重新应用的值。

DEFAULT

属性的缺省值。如果属性没有缺省值,则显示双连字符 (--)。

POSSIBLE

属性可具有的值的逗号分隔列表。如果这些值在某个数字范围中,则可以显示简写形式 min - max。如果可能的值未知,则显示问号 (?),或者如果可能的值无限制,则显示双连字符 (--)。

-c、--parsable

使用稳定的可供计算机解析的格式显示。-o 选项需要与此选项一起使用。请参见下面的“可解析的输出格式”。

-p prop,...、-–prop=prop

要显示的属性的逗号分隔列表。请参见子命令说明后面的地址对象属性部分。

set-prop [-t] -p prop[+ | –]=value[,...] protocol

将协议属性的值修改为指定的 value。如果此属性采用多个值,则应使用逗号作为分隔符来指定这些值。一次只能指定一个属性。缺省情况下,此值为持久性值,并且将在重新引导时重新应用。使用 show-prop 子命令可以检索协议上支持的属性以及属性的可能值。

支持下列协议:ip、ipv4、ipv6、icmp、tcp、udp 和 sctp。

请注意,对于某些属性,可以全局设置属性值,也可以根据接口设置属性值。使用 set-ifprop 子命令可以设置基于接口的值。此种情况下,如果管理员选择自定义属性基于接口的值,以便与全局值区分开来,基于接口的值将覆盖此接口的全局设置。

-t、--temporary

指定属性更改是临时操作,并且更改仅应用于活动配置。

-p prop[+|-]=value[,...]、-–prop prop[+|-]=value[,...]

要设置为指定值的属性。此属性还提供下列“限定符”,以便执行添加、删除和赋值操作。

+

向值的当前列表添加给定值。

-

从值的当前列表删除给定值。

=

执行新的赋值,并删除所有当前值。

有关如何使用限定符的详细信息,请参见“示例”部分。

reset-prop [-t] -p prop protocol

将指定协议的属性重置为此属性的缺省值。如果未使用 -t,则将删除属性的所有持久性值。一次只能修改一个属性。

-t、--temporary

指定重置是临时操作,并且更改仅应用于活动配置。

-p prop、-–prop prop

要重置的属性。

show-prop [[-c] -o field[,...]] [-p prop[,...] protocol | protocol]

显示支持的所有协议或指定协议的一个或多个属性的当前和持久性值。通过向 -p 选项提供以逗号分隔的属性名称,一次可以检索多个相关属性。如果未指定 -p 选项,则显示所有可用属性。

-o field[,...]、--output field[,...]

要显示的输出字段的列表,这些字段不区分大小写,并且由逗号分隔。field 名称必须是下面列出的某个字段,或者是特殊值 all 以便显示所有字段。对于每个 protocol,可显示下列字段:

PROTO

协议的名称。

PROPERTY

属性的名称。

PERM

属性的读/写权限。显示的值将为 r(只读)、w(只写)或 rw(读写)。

CURRENT

属性的当前值。对于禁用的地址,由于未设置该值,因此该值显示为双连字符 (--)。如果值未知,则显示为一个问号 (?)。如果属性的当前值不在列出的 POSSIBLE 值集中,则显示关键字 custom。

PERSISTENT

属性的持久性值。持久性值是将在重新引导时重新应用的值。

DEFAULT

属性的缺省值。如果属性没有缺省值,则显示双连字符 (--)。

POSSIBLE

要与 set-prop 子命令配合使用的属性设置的值的逗号分隔列表。如果这些值在某个数字范围中,则可以显示简写形式 min - max。如果可能的值未知,则显示问号 (?),或者如果可能的值无限制,则显示双连字符 (--)。

-c、--parsable

使用稳定的可供计算机解析的格式显示。-o 选项需要与此选项一起使用。请参见下面的“可解析的输出格式”。

-p prop,...、-–prop=prop

要显示的属性的逗号分隔列表。请参见子命令说明后面的协议属性部分。

有关各个协议的属性的支持列表,请参见下面的“协议属性”。

可解析的输出格式

ipadm "show" 子命令具有一个以计算机可解析的格式显示输出的 -o 选项。输出格式是一行或多行以冒号 (:) 分隔的字段。显示的字段特定于使用的子命令,并且在给定子命令的 -o 选项的条目下列出。输出仅包括通过 -o 选项请求的字段,这些字段按请求的顺序排列。请注意,显示给定子命令的所有字段的 -o all 选项不能与可解析的输出选项配合使用。

当请求多个字段时,将在输出之前使用反斜杠 (\) 对任何文本冒号字符进行转义。类似地,也会对文本反斜杠字符进行转义 (\\)。通过使用带有环境变量(按 IFS=: 设置)的 shell read(1) 函数,可以解析此转义格式。请注意,当仅请求一个字段时,不会进行转义。

协议属性

支持下列协议属性:


注 - 存在特定于协议的、以 "_"(下划线)开头的协议属性。这些属性可能会发生更改或者被删除,缺省情况下不显示在 ipadm show-prop 输出中。有关详细信息,请参见《Oracle Solaris Tunable Parameters Reference Manual》。


cong_default (TCP, SCTP)

指定创建新的连接时由协议使用的缺省拥塞控制算法。在该连接的生命周期内,应用程序可以在以后选择不同的算法。只有已启用的算法才可以设置为缺省值(请参见 cong_enabled)。

cong_enabled (TCP, SCTP)

该选项可以用于启用或禁用拥塞控制算法。缺省情况下,系统上安装的所有算法都处于启用状态。已禁用的算法不能设置为缺省值(请参见 cong_default)或由应用程序使用。

可以使用 set-prop 子命令和修饰符 + 与 - 来添加或删除算法。

ecn (TCP)

显式拥塞控制(有关详细信息,请参见 RFC 3168)。可能的值与上面的值相同,即:never、passive 和 active。

extra_priv_ports (TCP, SCTP, UDP)

此选项定义 1-1023 范围以外的其他特权端口。尝试绑定此处列出的端口的任何程序都必须作为根运行。这会防止普通用户在特定端口上启动服务器进程。

使用 set-prop 子命令以及 +、- 和 = 修饰符可以对这些端口进行添加、删除或赋值操作。有关用法,请参见下文的“示例”部分。

forwarding (IPv4)、forwarding (IPv6)

启用/禁用全局 IPv4 或 IPv6 转发。配置的所有接口都将启动/停止转发包。各接口可使用 set-ifprop 覆盖全局选项。

hostmodel (IPv4)、hostmodel (IPv6)

控制多宿主系统中的 IP 包的发送/接收行为。hostmodel 的值可设置为与 RFC 1122 的等效终端系统模型定义对应的 strong 或 weak。此外,还支持第三个值 src-priority。在 src-priority hostmodel 方案中,只要配置了包的目标 IP 地址并在某个主机接口上将其标记为 UP,则会在任何接口上接受此包。当传送包时,如果此包中的 IP 目标有多个路由,系统将首选这样的路由:包中的 IP 源地址在外发接口上配置。如果没有此类路由,系统将退而选择“最佳”路由,就像在弱 ES 情况下一样。

max_buf (TCP, SCTP, UDP, ICMP)

发送或接收套接字缓冲区的最大大小。该属性的当前值限制 recv_buf 和 send_buf 的最大值。

recv_buf (TCP, SCTP, UDP, ICMP)
send_buf (TCP, SCTP, UDP, ICMP)

修改指定协议的接收或发送缓冲区大小。这些属性的最大值均受 max_buf 属性当前值的限制。

sack (TCP)

通过选择性确认 (Selective acknowledgment, SACK),接收者可以选择性地确认失序数据,选择性确认旨在提高通过有损链路传输数据的性能。有关 SACK 的信息,请参见 RFC 2018。可能的值及其含义:

never

从不接受 SACK 和外发 SACK 信息。

passive

将接受但不外发 SACK。

active

将接受 SACK 并外发 SACK 信息。

smallest_anon_port (TCP, SCTP, UDP)
largest_anon_port (TCP, SCTP, UDP)

这些选项定义临时端口上的上限和下限。当建立传出网络连接时,将使用临时(表示短暂)端口。请注意,smallest_anon_port 的当前值始终应当小于或等于 largest_anon_port 的当前值。

smallest_nonpriv_port (TCP, SCTP, UDP)

此选项定义非特权端口的起点。非特权端口范围通常从 1024 开始。尝试绑定非特权端口的任何程序都不必作为根运行。

ttl (IPv4)、hoplimit (IPv6)

指定将为 IPv4 或 IPv6 头的 ttl/hoplimit 字段设置的值。可用于防止系统到达其他系统中 N 跳以外的位置,其中 N 是指定的值。

接口属性

支持下列接口属性:

arp

在接口上启用/禁用对地址解析协议 (Address Resolution Protocol, ARP) 的使用。ARP 用于在网络级别地址和链路级别地址之间进行映射。当前已对 IPv4 地址与 MAC 地址之间的映射实现此选项。可能的值包括 on 或 off。缺省值为 on。

exchange_routes

在此接口上启用/禁用路由信息交换。可能的值包括 on 或 off。缺省值为 off。

group

指定采用此接口作为其底层接口的 IPMP 接口的组名称。如果此接口是 IPMP 类,此选项指定 IPMP 组的名称。此选项仅在 IPMP 接口上才是读写属性。对于其他接口类,此属性为只读。

forwarding

在接口上启用/禁用 IP 转发。启用 IP 转发后,可将 IP 包转发到接口以及从此接口转发 IP 包。可能的值包括 on 或 off。缺省值为 off。

metric

将接口的路由度量设置为 n;如果未指定值,则缺省为 0。路由度量由路由协议使用。较高的度量会降低相应路由的适用性。度量计为到目标网络或主机的额外跳数。

mtu

将接口的最大传输单元设置为 n。对于许多类型的网络,MTU 具有上限,例如,以太网的 MTU 上限为 1500。

nud

在点对点物理接口上启用/禁用邻居不可达检测机制。可能的值包括 on 或 off。缺省值为 on。

standby

指定是否将此接口配置为 IPMP 组的备用接口。此属性不适用于 IPMP 接口。

usesrc

指定用于选择源地址的物理或虚拟接口。如果使用关键字 none,则将清除以前的所有选择。缺省值为 none。

地址属性

支持下面列出的地址属性。请注意,不支持修改 addrconf 地址对象的地址属性。

deprecated

此地址不应在新通信中继续用作源地址,但发往此地址的包仍会按预期方式处理。可能的值包括 on 或 off。缺省值为 off。在类型为 dhcp 的地址对象上,不支持此属性。

prefixlen

指定地址的 IPv6 前缀或 IPv4 网络掩码所包含的地址的最左侧的连续位数。其余低阶位定义地址的主机部分。将 prefixlen 转换为地址的文本表现形式时,对于用于网络部分的位位置,此地址包含 1,对于主机部分,此地址包含 0。prefixlen 必须指定为一个十进制数字。在类型为 dhcp 的地址对象上,不支持此属性。

private

指定地址不应由 in.routed 路由守护进程声明。可能的值包括 on 或 off。缺省值为 off。

reqhost

客户机要让 DHCP 服务器将客户机的租用 IPv4 映射到的主机名。不保证能够完成主机名请求。

transmit

启用要使用地址对象引用的地址传输的包。当地址处于启用状态时,这是缺省行为。可能的值包括 on 或 off。缺省值为 on。

zone

指定应在其中放置地址对象引用的所有地址的区域。命名区域在处于就绪或运行中状态的内核中必须处于活动状态。当区域停止或重新引导时,接口将被取消激活。必须将此区域配置为共享 IP 区域。zonecfg(1M) 用于向专用 IP 区域分配网络接口名称。要修改区域赋值使之在重新引导后保留,请使用 zonecfg(1M)。可能的值是在系统上配置的所有区域的列表。缺省值为 global。

操作数

每个 ipadm 子命令都在下列某个对象中运行:

addrobj

在网络接口上配置的地址通过 addrobj 标识。addrobj 包括两个部分。第一个部分为配置地址所在的网络接口的名称。第二个部分是用户指定的字符串,此字符串可使用任何字母数字字符,其长度最多包含 32 个字符,并且必须以字母开头。addrobj 的这两个部分使用斜杠 (/) 分隔。地址对象始终表示系统中的唯一地址集。

interface

配置网络地址所在的网络接口的名称。一般说来,此名称可使用任何字母数字字符、下划线 (_) 和句点 (.),但必须以字母字符开头,并且以数字结尾。

protocol

要配置其属性的 TCP/IP Internet 协议族的名称。支持下列协议:ip、ipv4、ipv6、icmp、tcp、sctp 和 udp。

示例

示例 1 创建 IPv4 静态地址

下面的命令在接口 bge1(链路名称 net1)上创建地址 10.2.3.4/24,并将此地址标记为 up 以便使用。

# ipadm create-ip net1
# ipadm create-addr -T static -a local=10.2.3.4/24 net1/v4static1

下面的命令在接口 net1 上创建另一个地址 10.2.3.5/24,但将此地址标记为 down,直到显式标记为 up 为止。

# ipadm create-addr -T static -d -a 10.2.3.5/24 net1/v4static2

请注意,因为未使用本地地址且只有一个地址,所以假定 10.2.3.5/24 为本地地址。

下面的命令将以前标记为 down 的地址对象 net1/v4static2 标记为 up。

# ipadm up-addr net1/v4static2

如果在地址对象上设置了 DUPLICATE 标志,refresh-addr 将验证此地址是否仍在网络上重复。如果不重复,此地址将标记为 up。

# ipadm refresh-addr net1/v4static2

下面的命令列出已配置的地址。此命令显示地址 net1/v4static2 不是重复地址。

# ipadm show-addr
ADDROBJ          TYPE    STATE      ADDR
lo0/v4           static  ok         127.0.0.1/8
lo0/v6           static  ok         ::/128
net1/v4static1   static  ok         10.2.3.4/24
net1/v4static2   static  ok         10.2.3.10/24

示例 2 创建受 DHCPv4 控制的地址

下面的命令在接口 bge1(链路名称 net1)上获取 DHCPv4 地址。

# ipadm create-ip net1
# ipadm create-addr -T dhcp net1/dhaddr
# ipadm show-addr net1/dhaddr
ADDROBJ          TYPE    STATE      ADDR
net1/dhaddr      dhcp    ok         10.8.48.173/25

下面的命令延长 DHCPv4 地址对象 net1/dhaddr 的租用持续时间。

# ipadm refresh-addr net1/dhaddr

示例 3 创建 IPv6 地址

下面的命令序列使用具有缺省接口 ID 的 in.ndpd 在 bge1(链路名称 net1)上自动配置 IPv6 地址。首先配置链路本地地址,然后 in.ndpd 添加无状态和有状态自动配置地址。

# ipadm create-ip net1
# ipadm create-addr -T addrconf net1/v6addr

下面的命令创建一个 IPv6 静态地址。为了能够配置不是链路本地地址的 IPv6 地址,接口上应当已配置链路本地地址。这是通过使用 -T addrconf 在上一步骤中实现的。

# ipadm create-addr -T static -a local=2ff0::f3ad/64 net1/v6static

下面的命令更改 IPv6 地址的前缀长度。

# ipadm set-addrprop -p prefixlen=80 net1/v6static

通过列出地址,可以查看自动配置的所有地址以及更新后的前缀长度:

# ipadm show-addr
ADDROBJ       TYPE     STATE     ADDR
lo0/v4        static   ok        127.0.0.1/8
lo0/v6        static   ok        ::/128
net1/v6addr   addrconf ok        fe80::203:baff:fe94:2f01/10
net1/v6addr   addrconf ok        2002:a08:39f0:1:203:baff:\
                                            fe94:2f00/64
net1/v6addr   addrconf ok        2001:db8:1:2::402f/128
net1/v6static static   ok        2ff0::f3ad/80

示例 4 配置 IPv4 通道

下面的第一个命令 (ipadm) 创建通道源地址。然后,dladm 命令创建一个通道链路。最后的 ipadm 命令在通道 IP 接口上配置 IPv4 和 IPv6 地址。

# ipadm create-ip net1
# ipadm create-addr -T static -a local=10.2.3.4/24 net1/v4static
# dladm create-iptun -T ipv4 -a local=10.2.3.4,remote=10.2.3.5 tun0
# ipadm create-ip tun0 
# ipadm create-addr -T static \
       -a local=173.129.134.1,remote=173.129.134.2 tun0/v4tunaddr
# ipadm create-addr -T static \
       -a local=2ff1::3344,remote=2ff1::3345 tun0/v6tunaddr
# ipadm show-addr
ADDROBJ        TYPE   STATE     ADDR
lo0/v4         static ok        127.0.0.1/8
lo0/v6         static ok        ::/128
net1/v4static  static ok        10.2.3.4/24
tun0/v4tunaddr static ok        173.129.134.1-->173.129.134.2
tun0/v6tunaddr static ok        2ff1::3344-->2ff1::3345

示例 5 查看所有接口

下面的命令用于查看所有接口。

# ipadm show-if -o all
IFNAME  CLASS    STATE    ACTIVE CURRENT       PERSISTENT OVER
lo0     loopback ok       yes    -m-v------46  --46       --
net0    ip       ok       yes    bm--------46  --46       --
e1000g0 ip       ok       yes    bm---l----46  -l46       --
e1000g1 ip       ok       yes    bm---l----46  -l46       --
ipmp0   ipmp     down     yes    bm--------46  --46       e1000g0 e1000g1
tun0    ip       failed   no     -mp-------46  --46       --
vni0    vni      disabled no     bm-v--------  --46       --

示例 6 显示接口属性

下面的命令显示指定接口的所有接口属性。

# ipadm show-ifprop net0
IFNAME PROPERTY        PROTO PERM CURRENT PERSISTENT DEFAULT  POSSIBLE
net0   arp             ipv4  rw   on      --         on       on,off
net0   forwarding      ipv4  rw   off     on         off      on,off
net0   metric          ipv4  rw   2       2          0        --
net0   mtu             ipv4  rw   1500    --         1500     68-1500
net0   exchange_routes ipv4  rw   off     --         off      on,off
net0   usesrc          ipv4  rw   none    --         none     --
net0   forwarding      ipv6  rw   off     --         off      on,off
net0   metric          ipv6  rw   2       2          0        --
net0   mtu             ipv6  rw   1500    --         1500     1280-1500
net0   nud             ipv6  rw   on      --         on       on,off
net0   exchange_routes ipv6  rw   off     on         off      on,off
net0   usesrc          ipv6  rw   none    --         none     --
net0   group           ip    rw   grp0    --         --       --
net0   standby         ip    r-   off     --         off      on,off

示例 7 配置基于接口的属性

下面的命令将接口 net0 的 IPv4 MTU 设置为 900。

# ipadm set-ifprop -m ipv4 -p mtu=900 net0

下面的命令将接口 net0 的 IPv6 MTU 设置为 1400。

# ipadm set-ifprop -m ipv6 -p mtu 1400 net0

查看结果:

# ipadm show-ifprop -p mtu net0
IFNAME PROPERTY        PROTO PERM CURRENT PERSISTENT DEFAULT  POSSIBLE
net0   mtu             ipv4  rw   900     900        1500     68-1500
net0   mtu             ipv6  rw   1400    1400       1500     1280-1500

# ipadm show-ifprop -m ipv6 -p mtu net0
IFNAME PROPERTY        PROTO PERM CURRENT PERSISTENT DEFAULT  POSSIBLE
net0   mtu             ipv6  rw   1400    1400       1500     1280-1500

示例 8 显示支持的属性

下面的命令显示在 TCP 上支持的属性。

# ipadm show-prop tcp
PROTO PROPERTY              PERM CURRENT PERSISTENT DEFAULT   POSSIBLE
tcp   ecn                   rw   active  active     passive   never,passive,
                                                                      active
tcp   extra_priv_ports      rw   --      1,65535    2049,4045 1-65535
tcp   largest_anon_port     rw   32768   32768      65535     1024-65535
tcp   sack                  rw   active  --         active    never,passive,
                                                                      active
tcp   recv_buf              rw   29567   --         49152     2048-1073741824
tcp   send_buf              rw   21354   --         49152     4096-1073741824
tcp   max_buf               ro   65536   --         32768     4096-1073741824
tcp   smallest_anon_port    rw   32768   --         32768     1024-65535
tcp   smallest_nonpriv_port rw   1024    --         1024      1024-32768

示例 9 配置全局 IPv4 转发

下面的命令序列配置全局 IPv4 转发,并覆盖接口 net0 的相应设置。

# ipadm set-prop -p forwarding=on ipv4
# ipadm set-ifprop -p forwarding=off -m ipv4 net0
# ipadm show-prop -p forwarding ipv4
PROTO PROPERTY              PERM CURRENT PERSISTENT DEFAULT POSSIBLE
ipv4  forwarding            rw   on      on         off     on,off

# show-ifprop -p forwarding -m ipv4 net0
IFNAME PROPERTY        PROTO PERM CURRENT PERSISTENT DEFAULT  POSSIBLE
net0   forwarding      ipv4  rw   off     off        off      on,off

示例 10 在 set-prop 子命令中使用限定符

下面的命令序列使用加号和减号(+、–)限定符将 1047、1048 和 1049 添加为 TCP 的额外特权端口。

# ipadm set-prop -p extra_priv_ports=1047 tcp
# ipadm set-prop -p extra_priv_ports+=1048 tcp
# ipadm set-prop -p extra_priv_ports+=1049 tcp
# ipadm set-prop -p extra_priv_ports+=1050 tcp

下面的命令删除作为额外特权端口的 1048。

# ipadm set-prop -p extra_priv_ports-=1048

下面的命令显示 TCP 的所有额外特权端口。

# ipadm show-prop -p extra_priv_ports tcp
PROTO PROPERTY             PERM CURRENT    PERSISTENT  DEFAULT   POSSIBLE
ipv4  extra_priv_ports     rw   1047,1049, 1047,1049,  2049,4045 1-65535
                                1050       1050

示例 11 启用和禁用对象

下面的命令序列启用和禁用接口和地址对象,并显示这些操作的结果。

# ipadm create-ip net1
# ipadm create-addr -T static -a local=10.2.3.4/24 net1/v4static
# ipadm set-addrprop -p private=yes net1/v4static
# ipadm show-addr net1/v4static
ADDROBJ        TYPE   STATE     ADDR
net1/v4static  static ok        10.2.3.4/24

下面的命令禁用地址对象 net1/v4static。

# ipadm disable-addr -t net1/v4static
# ipadm show-addr net1/v4static
ADDROBJ        TYPE   STATE     ADDR
net1/v4static  static ok        10.2.3.4/24

下面的命令禁用接口对象 net1。

# ipadm disable-if -t net1
# ipadm show-if net1 -o all
IFNAME     CLASS    STATE    ACTIVE CURRENT       PERSISTENT OVER
net1       ip       disabled no     bm----------  --46       --

下面的命令从持久性配置启用接口对象。

# ipadm enable-if -t net1
# ipadm show-if net1 -o all
IFNAME     CLASS    STATE    ACTIVE CURRENT       PERSISTENT OVER
net1       ip       ok       yes    bm--------46  --46       --

# ipadm show-addr net1/v4static
ADDROBJ        TYPE   STATE     ADDR
net1/v4static  static ok        10.2.3.4/24

请注意,当启用接口对象时,还将启用在此接口上配置的所有地址对象。

下面的命令在非全局专用 IP 区域中为 net0 接口创建持久性配置,以便在下次重新引导时使用全局区域中通过 allowed-address 资源提供的地址集来配置 net0 接口。

# ipadm create-ip net0

此外,还可以通过执行下面的命令,使用非全局专用 IP 区域中的可用 allowed-address 值集来配置 net0 接口,而不必进行重新引导:

# ipadm disable-if -t net0
# ipadm enable-if -t net0

示例 12 创建 IPMP 接口

下面的命令序列创建一个 IPMP 接口,并向其添加底层接口。

# ipadm create-ip e1000g0
# ipadm create-ip e1000g1
# ipadm create-ip e1000g2
# ipadm set-ifprop -p standby=on -m ip e1000g2
# ipadm create-ipmp testgroup0
# ipadm add-ipmp -i e1000g0 -i e1000g1 -i e1000g2 testgroup0
# ipadm create-addr -T static -a local=192.168.80.5/24 testgroup0/data1
# ipadm create-addr -T static -a local=192.168.80.6/24 testgroup0/data2
# ipadm show-if
IFNAME     CLASS    STATE    ACTIVE OVER
lo0        loopback ok       yes    --
net0       ip       ok       yes    --
e1000g0    ip       ok       yes    --
e1000g1    ip       ok       yes    --
ipmp0      ipmp     ok       yes    e1000g0 e1000g1

下面的命令序列先禁用后启用 IPMP 接口。

# ipadm disable-if -t testgroup0
ipadm show-if
IFNAME     CLASS    STATE    ACTIVE OVER
lo0        loopback ok       yes    --
net0       ip       ok       yes    --
e1000g0    ip       disabled no     --
e1000g1    ip       disabled no     --
ipmp0      ipmp     disabled no     e1000g0 e1000g1
# ipadm enable-if -t testgroup0

下面的命令序列删除 IPMP 接口的底层接口,然后删除 IPMP 接口。

ipadm remove-ipmp -i e1000g0 -i e1000g1 testgroup0
ipadm delete-ipmp testgroup0

属性

有关以下属性的说明,请参见 attributes(5):

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)

另请参见

read(1)、arp(1M)、cfgadm(1M)、dhcpagent(1M)、dladm(1M)、if_mpadm(1M)、ifconfig(1M)、in.ndpd(1M)、in.mpathd(1M)、ndd(1M)、zonecfg(1M)、nsswitch.conf(4)、attributes(5)、dhcp(5)、vni(7d)

《Oracle Solaris Tunable Parameters Reference Manual》

由 Postel, J. 编著,RFC 791,《Internet Protocol - DARPA Internet Program Protocol Specification》,南加州大学信息科学研究所,1981 年 9 月。

由 Hinden, R. 和 S. Deering 合著的《IP Version 6 Addressing Architecture》,RFC 4291,2006 年 2 月。

由 Thomson, S.、Narten, T. 和 T. Jinmei 合著的《IPv6 Stateless Address AutoConfiguration》,RFC 4862,2007 年 9 月。

由 Droms, R.、Bound, J.、Volz, B.、Lemon, T.、Perkins, C. 和 M. Carney 合著的《Dynamic Host Configuration Protocol for IPv6 (DHCPv6)》,RFC 3315,2003 年 7 月。

由 Narten, T.、Draves, R. 和 S. Krishnan 合著的《Privacy Extensions for Stateless Address AutoConfiguration in IPv6》,RFC 4941,2007 年 9 月。

由 S. Routhier, Ed. 编著的《Management Information Base for the Internet Protocol (IP)》,RFC 4293,2006 年 4 月。

由 Braden, R. 编著,RFC 1122,《Requirements for Internet Hosts - Communication Layers》,南加州大学信息科学研究所,1989 年 10 月。