Trusted Extensions 配置和管理

退出打印视图

更新时间: 2014 年 7 月
 
 

如何为区域创建多级别端口

可以将专用和共享 MLP 添加到有标签区域和全局区域。

如果在有标签区域中运行的某应用程序需要使用多级别端口 (multilevel port, MLP) 与区域进行通信,将使用此过程。在此过程中,一个 Web 代理与区域进行通信。

开始之前

您必须在全局区域中承担 root 角色。系统必须至少具有两个 IP 地址,并且有标签区域已停止。

  1. 将代理主机和 Web 服务主机添加到 /etc/hosts 文件。
    ## /etc/hosts file
    ...
    proxy-host-name  IP-address
    web-service-host-name IP-address
  2. 配置区域。

    例如,将 public 区域配置为识别标签显式设置为 PUBLIC 的包。对于此配置,安全模板命名为 webprox

    # tncfg -t webprox
    tncfg:public> set name=webprox
    tncfg:public> set host_type=cipso
    tncfg:public> set min_label=public
    tncfg:public> set max_label=public
    tncfg:public> add host=mywebproxy.oracle.comhost name associated with public zone
    tncfg:public> add host=10.1.2.3/16IP address of public zone
    tncfg:public> exit
  3. 配置 MLP。

    例如,Web 代理服务可能会通过 8080/tcp 接口与 PUBLIC 区域进行通信。

    # tncfg -z public add mlp_shared=8080/tcp
    # tncfg -z public add mlp_private=8080/tcp
  4. 要将 MLP 添加到内核中,请引导区域。
    # zoneadm -z zone-name boot
  5. 在全局区域中,为新地址添加路由。

    要添加路由,请执行如何添加缺省路由中的相关操作。

示例 16-21  使用 txzonemgr GUI 配置 MLP

管理员打开 "Labeled Zone Manager"(有标签区域管理器)来配置 Web 代理服务。

# txzonemgr &

管理员双击 PUBLIC(公共)区域,然后双击 Configure Multilevel Ports(配置多级别端口)。然后,管理员选择并双击 Private interfaces(专用接口)行。选择更改为类似于以下内容的项字段:

Private interfaces:111/tcp;111/udp

管理员通过分号分隔符开始 Web 代理项输入。

Private interfaces:111/tcp;111/udp;8080/tcp

完成专用项后,管理员在 Shared interfaces(共享接口)字段中键入 Web 代理。

Shared interfaces:111/tcp;111/udp;8080/tcp

弹出消息指示 public(公共)区域的多级别端口将在下次引导区域时处于活动状态。

示例 16-22  通过 udp 为 NFSv3 配置专用多级别端口

在此示例中,管理员通过 udp 启用 NFSv3 向下读取挂载。管理员可以选择使用 tncfg 命令。

# tncfg -z global add mlp_private=2049/udp

txzonemgr GUI 提供了定义 MLP 的另一种方式。

在 "Labeled Zone Manager"(有标签区域管理器)中,管理员双击 global(全局)区域,然后双击 Configure Multilevel Ports(配置多级别接口)。在 MLP 菜单中,管理员选择并双击 Private interfaces(专用接口)行,然后添加端口/协议。

Private interfaces:111/tcp;111/udp;8080/tcp

弹出消息指示 global(全局)区域的多级别端口将在下次引导时处于活动状态。

示例 16-23  显示系统的多级别端口

在本示例中,系统配置有多个有标签区域。所有区域共用同一 IP 地址。某些区域还配置有特定于区域的地址。在此配置中,用于 Web 浏览的 TCP 端口(端口 8080)是公共区域中共享接口上的一个 MLP。管理员还将 telnet TCP 端口 23 设置为公共区域中的一个 MLP。由于这两个 MLP 位于共享接口上,所以其他区域(包括全局区域)都不能在端口 808023 的共享接口上接收包。

此外,ssh TCP 端口(端口 22)是公共区域中的每区域 MLP。公共区域的 ssh 服务可以在地址标签范围内特定于区域的地址接收任何包。

以下命令显示公共区域的 MLP:

# tninfo -m public
private: 22/tcp
shared:  23/tcp;8080/tcp

以下命令显示全局区域的 MLP。请注意,端口 238080 不能为全局区域中的 MLP,因为全局区域与公共区域共用同一地址。

# tninfo -m global
private: 111/tcp;111/udp;514/tcp;515/tcp;631/tcp;2049/tcp;
6000-6003/tcp;38672/tcp;60770/tcp;
shared:  6000-6003/tcp