手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

routeadm(1M)

名称

routeadm - IP 转发和路由配置

用法概要

routeadm [-p [option]]
routeadm [-R root-dir] [-e option ...] [-d option...]
 [-r option...] [-s var=value]
routeadm [-l fmri]
routeadm [-m fmri key=value [key=value]...]
routeadm [-u]

描述

routeadm 命令用于管理系统范围的 IP 转发和路由配置。IP 转发是指将 IP 包从一个网络传递到另一个网络的过程;IP 路由是指使用路由协议确定路由。

IP 路由功能也表示为服务管理工具 (service management facility, SMF) 中的服务,可通过 svcadm(1M) 并使用以下故障管理资源标识符 (fault management resource identifiers FMRI) 管理这些功能:

svc:/network/routing/route:default
svc:/network/routing/ripng:default

相关示例,请参见“示例”部分。

除启用和禁用路由和转发之外,routeadm 还用于与基于 SMF 的路由守护进程服务进行交互。路由守护进程服务由存在的 routeadm 应用程序属性组标识,routeadm 使用该属性组管理给定服务。路由守护进程服务还可在 routing 应用程序属性组中指定与其操作相关的属性,通过 routeadm –m 可修改这些属性。如果指定了没有此类属性组的服务的 FMRI,则会发出一个错误且不执行操作。如果路由守护进程未转换为 SMF,可以使用 ipv4[或 6]-routing-daemonipv4[或 6]-routing-daemon-argsipv4[或 6]-routing-stop-cmd 变量为 IPv4 或 IPv6 路由指定相应的守护进程。之后,routeadm 将根据需要使用 svc:/network/routing/legacy-routing:ipv4[或 6] 服务运行该守护进程。在发出启用 (–e)、禁用 (–d) 或更新 (–u) 命令时,会发生此转换过程。

上述“用法概要”部分中的第一条用法用于报告当前配置。

选项

支持以下命令行选项:

–p [option]

以可解析格式输出配置。如果指定了 option,则仅显示指定选项或变量的配置。

–R root-dir

指定 routeadm 应用更改的其他根目录。该选项在通过 JumpStart 脚本应用更改时非常有用,在这类脚本中,要修改的系统的根目录挂载在其他位置。


注 - 不得使用 –R 选项引用任何非全局区域的根文件系统。否则,可能会损坏全局区域的文件系统,危及全局区域的安全性,或者损坏非全局区域的文件系统。请参见 zones(5)
–e option...

启用指定的选项。其作用是使关联的服务准备启用。通过 routing-svcs 变量,可指定要在后续引导时或在 routeadm –u 运行时启用的路由守护进程。

–d option...

禁用指定的选项。其作用是使关联的服务准备禁用。通过 routing-svcs 变量,可指定要在后续引导时或在运行 routeadm –u 时禁用的路由守护进程。

–l fmri

列出 SMF 路由守护进程服务的路由应用程序属性组中的所有属性。

–m fmri key=value

将 SMF 路由守护进程服务的路由应用程序属性组中的属性 key 的属性值更改为 value。对于多值属性,可在修改操作中多次使用属性名,并添加每个关联值。

–r option...

将指定的选项恢复为系统缺省值。系统缺省值在每个 option 的描述中指定。

–u

将当前所配置的选项应用于正在运行的系统。这些选项包括启用或禁用 IP 转发以及启动或终止路由守护进程(如果指定了路由守护进程)。对于那些设置为缺省值的设置,该选项不会为其更改系统的状态。如果管理员想不通过重新引导来应用更改,可使用该选项。此外,该选项会将非 SMF 配置从调用守护进程停止命令(可能包含一组参数)升级为只启用相应服务。

–s key=value

以逗号分隔(逗号后不加空格)的列表为特定变量指定字符串值。如果指定了无效选项,将显示一条警告消息并退出程序。可以指定以下变量:

routing-svcs=fmrilist

指定要启用的路由守护进程服务。将根据 routeadm 应用程序属性组中的属性值,确定路由守护进程服务是 IPv4 还是 IPv6(进而确定在 routeadm –e/–d ipv4(6)-routing 运行时是启用还是禁用 ipv4(6))。缺省值:route:default ripng:default

ipv4-routing-daemon=<full_path_to_routing_daemon>

指定在启用了 ipv4-routing 时要启动的路由守护进程。指定的路由守护进程必须是可执行的二进制文件或 shell 脚本。如果指定的程序映射到某个 SMF 服务,将使用该服务,并且在启用时将该程序的守护进程参数传输到该服务的属性。缺省值:""

ipv4-routing-daemon-args=<args>

指定在启用了 ipv4-routing 时要传送给 ipv4-routing-daemon 的启动参数。缺省值:无参数

ipv4-routing-stop-cmd=<command>

指定在禁用了 ipv4-routing 时停止路由守护进程要执行的命令。<command> 可以是一个可执行的二进制文件或 shell 脚本,也可以是一个可通过 system(3C) 解析的字符串。缺省值:""

ipv6-routing-daemon=<full_path_to_routing_daemon>

指定在启用了 ipv6-routing 时要启动的路由守护进程。指定的路由守护进程必须是可执行的二进制文件或 shell 脚本。如果指定的程序映射到某个 SMF 服务,将使用该服务,并且在启用时将该程序的守护进程参数传输到该服务的属性。缺省值:""

ipv6-routing-daemon-args=<args>

指定在启用了 ipv6-routing 时要传送给 ipv6-routing-daemon 的启动参数。缺省值:""

ipv6-routing-stop-cmd=<command>

指定在禁用了 ipv6-routing 时停止路由守护进程要执行的命令。<command> 可以是一个可执行的二进制文件或 shell 脚本,也可以是一个可通过 system(3C) 解析的字符串。缺省值:""

可以在命令行上指定多个 –e–d–r 选项。由 –e–d–r 所做的更改是持久性的,但不会应用到正在运行的系统,除非随后使用 –u 选项调用 routeadm

可使用以下选项作为 –e–d–r 选项的参数(如上面的 option... 中所示)。

ipv4-forwarding

控制所有 IPv4 接口的全局转发配置。系统缺省值为 disabled。如果启用,IP 会在适当时向(从)接口转发 IPv4 包。如果禁用,IP 不会在适当时向(从)接口转发 IPv4 包。

ipv4-routing

确定是否有某个 IPv4 路由守护进程在运行。系统缺省值是 enabled,除非存在 /etc/defaultrouter 文件(请参见 defaultrouter(4)),在这种情况下,缺省值是 disabled。此选项的值反映所有 IPv4 路由服务的状态,因此如果有任何 IPv4 路由服务处于启用状态,ipv4-routing 的值为 enabled。这允许用户使用 svcadm(1M) 以及通过 routeadm 与路由服务进行交互。如果用户显式启用了 ipv4-routing,则通过 routing-svcs 变量指定的 IPv4 路由服务将准备在下次引导时启用。缺省情况下指定 in.routed (svc:/network/routing/route:default) 的 SMF 路由守护进程服务。

ipv6-forwarding

控制所有 IPv6 接口的全局转发配置。系统缺省值为 disabled。如果启用,IP 会在适当时向(从)接口转发 IPv6 包。如果禁用,IP 不会在适当时向(从)接口转发 IPv6 包。

ipv6-routing

确定是否有某个 IPv6 路由守护进程在运行。系统缺省值为 disabled。此选项的值反映所有 IPv6 路由服务的状态,因此如果有任何 IPv6 路由服务处于启用状态,ipv6-routing 的值为 enabled。这允许用户通过 svcadm(1M) 以及 routeadm 与路由服务进行交互。如果用户显式启用了 ipv6-routing,则通过 routing-svcs 变量指定的 IPv6 路由服务将准备在下次引导时启用。缺省情况下指定 in.ripngd (svc:/network/routing/ripng:default) 的 SMF 路由守护进程服务。

转发和路由设置相关但不相互依赖。例如,路由器通常转发 IP 包并使用某种路由协议,但没有任何限制会阻止管理员配置路由器只转发包而不使用路由协议。在这种情况下,管理员应启用转发,禁用路由并使用静态路由填充路由器的路由表。

转发设置是全局设置。每个接口还具有一个 IFF_ROUTER 转发标志,用于确定包是否可通过特定接口转发。该标志可通过 ifconfig(1M) 的路由器选项进行独立控制。全局转发设置发生更改(即发出 –u 将值从 enabled 更改为 disabled 或反向操作)时,系统中的所有接口标志将同时发生更改以反映新的全局策略。通过 DHCP 配置的接口自动清除其特定于接口的 IFF_ROUTER 标志。

通过 ifconfig 激活了新接口时,将根据当前的全局转发值设置特定于接口的转发标志值。因此,转发值将构成所有新接口的“缺省值”。

示例

示例 1 启用 IPv4 转发

缺省情况下,禁用 IPv4 转发。以下命令启用 IPv4 转发:

example# routeadm -e ipv4-forwarding
示例 2 将所配置的设置应用于正在运行的系统

在上一示例中,系统设置发生了更改,但这些更改在下次重新引导之前不会生效,除非使用如下命令:

example# routeadm -u
示例 3 将设置恢复为其缺省值

要将第一个示例中更改的设置恢复为其缺省值,请输入以下命令:

example# routeadm -r ipv4-forwarding
example# routeadm -u
示例 4 使用 –q 标志启动 in.routed

设置 –q 标志在 SMF 服务中表现为将 quiet_mode 属性设置为 true。以下命令序列使用 –q 标志启动 in.routed

example# routeadm -m route:default quiet_mode=true
example# routeadm -e ipv4-routing -u

有关属性名称及其与守护进程行为的关联的详细信息,请参见 in.routed(1M)

退出状态

将返回以下退出值:

0

成功完成。

!=0

获取或修改系统配置时出错。

文件

/etc/inet/routing.conf

IP 转发和路由的参数。(不用于编辑。)

属性

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

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

另请参见

ifconfig(1M)in.routed(1M)ipadm(1M)svcadm(1M)gateways(4)attributes(5)smf(5)