JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:IP 服务     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分TCP/IP 管理

1.  规划网络部署

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

3.  配置 IPv4 网络

4.  在网络上启用 IPv6

5.  管理 TCP/IP 网络

6.  配置 IP 隧道

7.  对网络问题进行故障排除

8.  IPv4 参考

9.  IPv6 引用

第 2 部分DHCP

10.  关于 DHCP(概述)

11.  管理 ISC DHCP 服务

12.  配置和管理 DHCP 客户机

13.  DHCP 命令和文件(参考)

第 3 部分IP 安全性

14.  IP 安全体系结构(概述)

15.  配置 IPsec(任务)

使用 IPsec 保护通信

如何使用 IPsec 保证两个系统之间的通信安全

如何使用 IPsec 保护 Web 服务器使之免受非 Web 通信影响

如何显示 IPsec 策略

使用 IPsec 保护 VPN

在隧道模式下使用 IPsec 保护 VPN 的示例

用于保护 VPN 的 IPsec 任务的网络拓扑说明

如何在隧道模式下使用 IPsec 保护 VPN

管理 IPsec 和 IKE

如何手动创建 IPsec 密钥

如何配置网络安全角色

如何管理 IPsec 和 IKE 服务

如何检验包是否受 IPsec 保护

16.  IP 安全体系结构(参考)

17.  Internet 密钥交换(概述)

18.  配置 IKE(任务)

19.  Internet 密钥交换(参考资料)

20.  Oracle Solaris 中的 IP 过滤器(概述)

21.  IP 过滤器(任务)

第 4 部分网络性能

22.  集成负载平衡器概述

23.  配置集成负载平衡器(任务)

24.  虚拟路由器冗余协议(概述)

25.  VRRP 配置(任务)

26.  实施拥塞控制

第 5 部分IP 服务质量 (IP Quality of Service, IPQoS)

27.  IPQoS 介绍(概述)

28.  规划启用了 IPQoS 的网络(任务)

29.  创建 IPQoS 配置文件(任务)

30.  启动和维护 IPQoS(任务)

31.  使用流记帐和统计信息收集功能(任务)

32.  IPQoS 的详细介绍(参考)

词汇表

索引

使用 IPsec 保护 VPN

Oracle Solaris 可以配置受 IPsec 保护的 VPN。可在隧道模式传输模式下创建隧道。有关介绍,请参见IPsec 中的传输模式和隧道模式。本节中的示例和过程使用 IPv4 地址,但这些示例和过程同样适用于 IPv6 VPN。有关简短介绍,请参见使用 IPsec 保护通信

有关处于隧道模式的隧道的 IPsec 策略示例,请参见在隧道模式下使用 IPsec 保护 VPN 的示例

在隧道模式下使用 IPsec 保护 VPN 的示例

图 15-1 受 IPsec 保护的隧道

image:图中显示了一个连接着两个 LAN 的 VPN。每个 LAN 具有四个子网。

以下示例假设这些 LAN 的所有子网都配置了隧道:

## Tunnel configuration ##
# Tunnel name is tun0
# Intranet point for the source is 10.1.2.1
# Intranet point for the destination is 10.2.3.1
# Tunnel source is 192.168.1.10
# Tunnel destination is 192.168.2.10
# Tunnel name address object is tun0/to-central
# Tunnel name address object is tun0/to-overseas

示例 15-2 创建一个所有子网都可以使用的隧道

在此示例中,来自图 15-1 中的中心 LAN 的本地 LAN 的所有通信都可以通过隧道从路由器 1 传送到路由器 2,然后再传送到国外 LAN 的所有本地 LAN。通信使用 AES 进行加密。

## IPsec policy ##
{tunnel tun0 negotiate tunnel} 
 ipsec {encr_algs aes encr_auth_algs sha512 sa shared}

示例 15-3 创建一个仅连接两个子网的隧道

在此示例中,仅为中心 LAN 的子网 10.1.2.0/24 和国外 LAN 的子网 10.2.3.0/24 之间的通信建立了隧道并对通信进行了加密。在中心 LAN 没有其他 IPsec 策略的情况下,如果中心 LAN 尝试通过此隧道路由其他 LAN 的任何通信,则通信会在路由器 1 处被丢弃。

## IPsec policy ##
{tunnel tun0 negotiate tunnel laddr 10.1.2.0/24 raddr 10.2.3.0/24} 
 ipsec {encr_algs aes encr_auth_algs sha512 shared}

用于保护 VPN 的 IPsec 任务的网络拓扑说明

本节中的过程假设您已经进行了以下设置。有关此网络的描述,请参见图 15-2

图 15-2 通过 Internet 连接的办公室之间的 VPN 样例

image:图中显示了欧洲办公室和加利福尼亚办公室之间的 VPN 的详细信息。

如上图所示,这些过程使用以下配置参数。

参数
欧洲
加利福尼亚
系统名称
euro-vpn
calif-vpn
系统内联网接口
net1
net1
系统内联网地址,也是步骤 7 中的 -point 地址
10.16.16.6
10.1.3.3
系统内联网地址对象
net1/inside
net1/inside
系统 Internet 接口
net0
net0
系统 Internet 地址,也是步骤 7 中的 tsrc 地址
192.168.116.16
192.168.13.213
Internet 路由器名称
router-E
router-C
Internet 路由器地址
192.168.116.4
192.168.13.5
隧道名称
tun0
tun0
隧道名称地址对象
tun0/v4tunaddr
tun0/v4tunaddr

有关隧道名称的信息,请参见使用 dladm 命令进行隧道配置和管理。有关地址对象的信息,请参见如何配置 IP 接口ipadm(1M) 手册页。

如何在隧道模式下使用 IPsec 保护 VPN

在隧道模式下,内部 IP 包决定保护其内容的 IPsec 策略。

此过程扩展了如何使用 IPsec 保证两个系统之间的通信安全过程。用于保护 VPN 的 IPsec 任务的网络拓扑说明介绍了具体设置。

有关运行特定命令的更详尽的原因说明,请参见如何使用 IPsec 保证两个系统之间的通信安全中的相应步骤。


注 - 在两个系统中执行此过程中的步骤。


除了连接两个系统之外,还要连接两个连接到这两个系统的内联网。此过程中的系统作为网关使用。


注 - 要在 Trusted Extensions 系统上在隧道模式下使用带标签的 IPsec,请参见《Trusted Extensions 配置和管理》中的"如何通过不可信网络配置通道"中此过程的扩展。


开始之前

必须位于全局区域中才能为系统或共享 IP 区域配置 IPsec 策略。对于专用 IP 区域,请在非全局区域中配置 IPsec 策略。

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。如果您以远程方式登录,请使用 ssh 命令实现安全的远程登录。有关示例,请参见示例 15-1

  2. 在配置 IPsec 之前控制包流。
    1. 禁用 IP 转发和 IP 动态路由。
      # routeadm -d ipv4-routing
      # ipadm set-prop -p forwarding=off ipv4
      # routeadm -u

      关闭 IP 转发功能可阻止包通过此系统从一个网络转发到另一个网络。有关 routeadm 命令的说明,请参见 routeadm(1M) 手册页。

    2. 打开 IP 严格多宿主。
      # ipadm set-prop -p hostmodel=strong ipv4

      打开 IP 严格多宿主要求发往系统的目标地址之一的包到达正确的目标地址。

      hostmodel 参数设置为 strong 时,到达特定接口的包的地址必须为该接口的本地 IP 地址之一。所有其他包,甚至是传送到系统其他本地地址的包,均被丢弃。

    3. 检验是否已禁用大多数网络服务。

      检验回送挂载和 ssh 服务是否正在运行。

      # svcs | grep network
      online         Aug_02   svc:/network/loopback:default
      …
      online         Aug_09   svc:/network/ssh:default
  3. 添加 IPsec 策略。

    编辑 /etc/inet/ipsecinit.conf 文件来为 VPN 添加 IPsec 策略。有关其他示例,请参见在隧道模式下使用 IPsec 保护 VPN 的示例

    在此策略中,本地 LAN 上的系统与网关的内部 IP 地址之间不需要 IPsec 保护,因此将添加 bypass 语句。

    1. euro-vpn 系统上,将以下项键入到 ipsecinit.conf 文件中:
      # LAN traffic to and from this host can bypass IPsec.
      {laddr 10.16.16.6 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-2.
      {tunnel tun0 negotiate tunnel} 
       ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
    2. calif-vpn 系统上,将以下项键入到 ipsecinit.conf 文件中:
      # LAN traffic to and from this host can bypass IPsec.
      {laddr 10.1.3.3 dir both} bypass {}
      
      # WAN traffic uses ESP with AES and SHA-2.
      {tunnel tun0 negotiate tunnel} 
       ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
  4. 在每个系统上,配置 IKE 以在两个系统之间添加一对 IPsec SA。

    按照配置 IKE(任务列表)中的配置过程之一来配置 IKE。有关 IKE 配置文件的语法,请参见 ike.config(4) 手册页。


    注 - 如果您必须手动生成并维护密钥,请参见如何手动创建 IPsec 密钥


  5. 验证 IPsec 策略文件的语法。
    # ipsecconf -c -f /etc/inet/ipsecinit.conf

    修复任何错误、检验文件的语法,然后继续。

  6. 刷新 IPsec 策略。
    # svcadm refresh svc:/network/ipsec/policy:default

    IPsec 策略缺省情况下处于启用状态,因此要对其进行刷新。如果您已禁用了 IPsec 策略,请将其启用。

    # svcadm enable svc:/network/ipsec/policy:default
  7. 创建并配置隧道 tunnel-name

    以下命令用于配置内部接口和外部接口、创建 tun0 隧道并为该隧道指定 IP 地址。

    1. calif-vpn 系统上,创建该隧道并进行配置。

      如果接口 net1 不存在,第一个命令将会创建该接口。

      # ipadm create-addr -T static -a local=10.1.3.3 net1/inside
      # dladm create-iptun -T ipv4 -a local=10.1.3.3,remote=10.16.16.6 tun0
      # ipadm create-addr -T static \
      -a local=192.168.13.213,remote=192.168.116.16 tun0/v4tunaddr
    2. euro-vpn 系统上,创建该隧道并进行配置。
      # ipadm create-addr -T static -a local=10.16.16.6 net1/inside
      # dladm create-iptun -T ipv4 -a local=10.16.16.6,remote=10.1.3.3 tun0
      # ipadm create-addr -T static \
      -a local=192.168.116.16,remote=192.168.13.213 tun0/v4tunaddr

      注 - ipadm 命令的 -T 选项用于指定要创建的地址类型。dladm 命令的 -T 选项用于指定该隧道。


      有关这些命令的信息,请参见 dladm(1M)ipadm(1M) 手册页以及如何配置 IP 接口。有关定制名称的信息,请参见《Oracle Solaris 管理:网络接口和网络虚拟化》中的"网络设备和数据链路名称"

  8. 在每个系统上配置转发。
    # ipadm set-ifprop -m ipv4 -p forwarding=on net1
    # ipadm set-ifprop -m ipv4 -p forwarding=off net0

    IP 转发指可以转发来自其他位置的包。IP 转发也指由此接口发出的包可能源于其他位置。要成功转发包,必须打开接收接口和传送接口的 IP 转发功能。

    因为 net1 接口在内联网内部,所以必须打开 net1 的 IP 转发功能。由于 tun0 通过 Internet 连接两个系统,因此 IP 转发必须对 tun0 保持打开状态。net0 接口已关闭其 IP 转发功能以阻止外部入侵者向受保护的内联网中注入包。外部是指 Internet。

  9. 在每个系统上,禁止公布专用接口。
    # ipadm set-addrprop -p private=on net0

    即使 net0 关闭 IP 转发功能,路由协议实现仍会通告接口。例如,in.routed 协议仍会通告 net0 可将包转发到内联网中的对等接口。可以通过设置接口的专用标志,阻止这些通告。

  10. 重新启动网络服务。
    # svcadm restart svc:/network/initial:default
  11. 手动添加通过 net0 接口实现的缺省路由。

    缺省路由必须是可以直接访问 Internet 的路由器。

    1. calif-vpn 系统上,添加以下路由:
      # route -p add net default 192.168.13.5
    2. euro-vpn 系统上,添加以下路由:
      # route -p add net default 192.168.116.4

      即使 net0 接口不是内联网的一部分,net0 也需要通过 Internet 访问其同级系统。要找到其同级系统,net0 需要有关 Internet 路由的信息。对于 Internet 的其他部分来说,VPN 系统像是一台主机,而不是路由器。因此,您可以使用缺省的路由器或运行路由器搜索协议来查找同级系统。有关更多信息,请参见 route(1M)in.routed(1M) 手册页。