JavaScript is required to for searching.
跳过导航链接
退出打印视图
配置和管理 Oracle Solaris 11.1 网络     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

1.  规划网络部署

2.  使用 IPv6 地址的注意事项

3.  配置 IPv4 网络

网络配置(任务列表)

开始网络配置之前

在网络上配置组件系统

IPv4 自治系统拓扑

设置系统配置模式

如何以本地文件模式配置系统

如何以网络客户机模式配置系统

如何设置网络配置服务器

配置 IPv4 路由器

如何配置 IPv4 路由器

路由表和路由类型

如何将静态路由添加到路由表

配置多宿主主机

如何创建多宿主主机

为单接口系统配置路由

如何在单接口主机上启用静态路由

如何在单接口系统上启用动态路由

将子网添加到网络

如何更改 IPv4 地址和其他网络配置参数

监视和修改传输层服务

如何记录所有传入 TCP 连接的 IP 地址

如何添加使用 SCTP 协议的服务

如何使用 TCP 包装控制对 TCP 服务的访问

4.  在网络上启用 IPv6

5.  管理 TCP/IP 网络

6.  配置 IP 隧道

7.  IPv4 参考信息

8.  IPv6 参考信息

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

监视和修改传输层服务

传输层协议 TCP、SCTP 和 UDP 是标准 Oracle Solaris 软件包的一部分。这些协议通常无需进行干预即可正常运行。但是,站点上的具体情况可能要求您记录或修改通过传输层协议运行的服务。然后,您必须使用服务管理工具 (Service Management Facility, SMF) 来修改这些服务的配置文件,如《在 Oracle Solaris 11.1 中管理服务和故障》中的第 1  章 "管理服务(概述)"中所述。

inetd 守护进程负责在系统引导时启动标准 Internet 服务。这些服务包括将 TCP、SCTP 或 UDP 用作其传输层协议的应用程序。可以使用 SMF 命令修改现有的 Internet 服务或添加新服务。有关 inetd 的更多信息,请参阅inetd Internet 服务守护进程

涉及传输层协议的操作包括:

有关 inetd 守护进程的详细信息,请参阅 inetd(1M) 手册页。

如何记录所有传入 TCP 连接的 IP 地址

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 对于 inetd 管理的所有服务,将 TCP 跟踪设置为“启用”。
    # inetadm -M tcp_trace=TRUE

如何添加使用 SCTP 协议的服务

SCTP 传输协议以与 TCP 类似的方式为应用层协议提供服务。但是,SCTP 允许单方或双方为多宿主系统的两个系统进行通信。SCTP 连接称为关联。在关联中,应用程序将要传输的数据分为一个或多个消息流,即多流化。SCTP 连接可以转到有多个 IP 地址的端点,这对电话应用程序尤其重要。如果站点使用 IP 过滤器或 IPsec,则 SCTP 的多宿主功能是出于安全考虑。sctp(7P) 手册页介绍了其中一些安全方面的考虑。

缺省情况下,SCTP 包括在 Oracle Solaris 中,且不需要其他配置。但是,可能需要显式配置某些应用层服务才能使用 SCTP。echodiscard 就是这样的应用程序。下一过程说明如何添加使用 SCTP 一对一样式套接字的回显服务。


注 - 也可以使用以下过程为 TCP 和 UDP 传输层协议添加服务。


以下任务说明如何将 inetd 守护进程管理的 SCTP inet 服务添加到 SMF 系统信息库。然后,该任务说明如何使用服务管理工具 (Service Management Facility, SMF) 命令添加该服务。

开始之前

执行以下过程之前,请为服务创建清单文件。该过程以 echo 服务的清单 echo.sctp.xml 为例。

  1. 使用拥有系统文件的写入特权的用户帐户,登录到本地系统。
  2. 编辑 /etc/services 文件并添加新服务的定义。

    对于服务定义,使用以下语法。

    service-name |port/protocol | aliases
  3. 添加新服务。

    转到存储服务清单的目录,然后键入以下内容:

    # cd dir-name
    # svccfg import service-manifest-name

    有关 svccfg 的完整语法,请参阅 svccfg(1M) 手册页。

    假定您希望使用当前位于 service.dir 目录中的清单 echo.sctp.xml 添加新的 SCTP echo 服务,应键入以下内容:

    # cd service.dir
    # svccfg import echo.sctp.xml
  4. 验证是否已添加服务清单:
    # svcs FMRI

    对于 FMRI 参数,使用服务清单的故障管理资源标识符 (Fault Managed Resource Identifier, FMRI)。例如,对于 SCTP echo 服务,应使用以下命令:

    # svcs svc:/network/echo:sctp_stream

    输出应该与如下所示类似:

        STATE          STIME    FMRI
    disabled       16:17:00 svc:/network/echo:sctp_stream

    有关 svcs 命令的详细信息,请参阅 svcs(1) 手册页。

    该输出指明,新的服务清单当前处于禁用状态。

  5. 列出服务的属性以确定是否必须进行修改。
    # inetadm -l FMRI

    有关 inetadm 命令的详细信息,请参阅 inetadm(1M) 手册页。

    例如,对于 SCTP echo 服务,应键入以下内容:

    # inetadm -l svc:/network/echo:sctp_stream
    SCOPE    NAME=VALUE
                 name="echo"
                 endpoint_type="stream"
                 proto="sctp"
                 isrpc=FALSE
                 wait=FALSE
                 exec="/usr/lib/inet/in.echod -s"
             .
             .
             default  tcp_trace=FALSE
               default  tcp_wrappers=FALSE
  6. 启用新服务:
    # inetadm -e FMRI
  7. 验证服务是否已启用:

    例如,对于新的 echo 服务,应键入以下内容:

    # inetadm | grep sctp_stream
    .
    .
        enabled   online         svc:/network/echo:sctp_stream

示例 3-7 添加使用 SCTP 传输协议的服务

以下示例给出要使用的命令以及使回显服务使用 SCTP 传输层协议所需的文件项。

$ cat /etc/services
.
.
echo            7/tcp
echo            7/udp
echo            7/sctp

# cd service.dir

    # svccfg import echo.sctp.xml

# svcs network/echo*
    STATE          STIME    FMRI
    disabled       15:46:44 svc:/network/echo:dgram
    disabled       15:46:44 svc:/network/echo:stream
    disabled       16:17:00 svc:/network/echo:sctp_stream

# inetadm -l svc:/network/echo:sctp_stream
    SCOPE    NAME=VALUE
             name="echo"
             endpoint_type="stream"
             proto="sctp"
             isrpc=FALSE
             wait=FALSE
             exec="/usr/lib/inet/in.echod -s"
             user="root"
    default  bind_addr=""
    default  bind_fail_max=-1
    default  bind_fail_interval=-1
    default  max_con_rate=-1
    default  max_copies=-1
    default  con_rate_offline=-1
    default  failrate_cnt=40
    default  failrate_interval=60
    default  inherit_env=TRUE
    default  tcp_trace=FALSE
    default  tcp_wrappers=FALSE

# inetadm -e svc:/network/echo:sctp_stream

# inetadm | grep echo
    disabled  disabled       svc:/network/echo:stream
    disabled  disabled       svc:/network/echo:dgram
    enabled   online         svc:/network/echo:sctp_stream

如何使用 TCP 包装控制对 TCP 服务的访问

tcpd 程序可实现 TCP 包装。TCP 包装介于守护进程和传入的服务请求之间,为诸如 ftpd 之类的服务守护进程提供了安全措施。TCP 包装记录成功的和不成功的连接尝试。此外,TCP 包装可以提供访问控制,根据发出请求的位置允许或拒绝连接。可以使用 TCP 包装保护诸如 SSH、Telnet 和 FTP 之类的守护进程。sendmail 应用程序也可以使用 TCP 包装,如《在 Oracle Solaris 11.1 中管理 sendmail 服务》中的"sendmail 版本 8.12 支持 TCP 包装"中所述。

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 将 TCP 包装设置为“启用”。
    # inetadm -M tcp_wrappers=TRUE
  3. 配置 TCP 包装访问控制策略,如 hosts_access(3) 手册页中所述。

    此手册页可以在 /usr/sfw/man 目录中找到。