系统管理指南:IP 服务

配置多宿主主机

在 Oracle Solaris : 中,有多个接口的系统被视为多宿主主机。多宿主主机不转发 IP 包。但是,您可以将多宿主主机配置为运行路由协议。通常,可以将以下类型的系统配置为多宿主主机:

Procedure如何创建多宿主主机

  1. 在预期的多宿主主机上,承担主管理员角色或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 配置并检测在 Oracle Solaris : 安装过程中没有配置的其他每个网络接口。

    请参阅如何在安装系统后配置物理接口

  3. 验证是否未在多宿主主机上启用 IP 转发。


    # routeadm
     
    

    不带选项的 routeadm 命令可报告路由选择守护进程的状态。routeadm 的以下输出说明已启用 IPv4 转发:


       Configuration   Current              Current
                         Option   Configuration        System State
    ---------------------------------------------------------------
                   IPv4 routing   disabled             disabled
                   IPv6 routing   disabled             disabled
                IPv4 forwarding   enabled              disabled
                IPv6 forwarding   disabled             disabled
    
                Routing services   "route:default ripng:default"
  4. 如果在系统上启用了包转发,请禁用它。

    使用以下命令之一:

    • 对于 routeadm 命令,请键入以下内容:


      # routeadm -d ipv4-forwarding -u
      
    • 要使用 SMF,请键入以下内容:


      # svcadm disable ipv4-forwarding
      
  5. (可选)为多宿主主机打开动态路由。

    使用以下命令之一打开 in.routed 守护进程:

    • 对于 routeadm 命令,请键入以下内容:


      # routeadm -e ipv4-routing -u
      
    • 要使用 SMF,请键入以下内容:


      # svcadm enable route:default
      

示例 5–6 配置多宿主主机

以下示例说明如何配置图 5–3 所示的多宿主主机。在该示例中,系统具有主机名 hostc。此主机具有两个接口,这两个接口都已连接到网络 192.168.5.0

要开始操作,请显示系统接口的状态。


# dladm show-link
hme0           type: legacy    mtu: 1500       device: hme0 
qfe0           type: legacy    mtu: 1500       device: qfe0 
qfe1           type: legacy    mtu: 1500       device: qfe1 
qfe2           type: legacy    mtu: 1500       device: qfe2 
qfe3           type: legacy    mtu: 1500       device: qfe3
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
hme0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
      inet 192.168.5.82 netmask ff000000 broadcast 192.255.255.255
      ether 8:0:20:c1:1b:c6 
 

dladm show-link 命令报告,hostc 具有两个接口,共有五个可能的链路。但是,仅检测到 hme0。要将 hostc 配置为多宿主主机,必须在 qfe NIC 上添加 qfe0 或其他链路。首先,请将 qfe0 接口物理连接到 192.168.5.0 网络。然后,检测 qfe0 接口,并使其在重新引导后继续存在。


# ifconfig qf0 plumb up
# ifconfig qfe0 192.168.5.85
# ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
hme0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.5.82 netmask ff0000 broadcast 192.255.255.255
        ether 8:0:20:c1:1b:c6 
qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.5.85 netmask ff000000 broadcast 192.255.255.255
        ether 8:0:20:e1:3b:c4
 # vi /etc/hostname.qfe0
192.168.5.85
255.0.0.0

使用重新配置命令,重新引导系统:


# reboot -- -r

接下来,将 qfe0 接口添加到 hosts 数据库:


# vi /etc/inet/hosts
127.0.0.1           localhost
192.168.5.82        host3    #primary network interface for host3
192.168.5.85        host3-2  #second interface

然后,在 host3 上检查包转发和路由的状态:


# routeadm
              Configuration   Current              Current
                     Option   Configuration        System State
---------------------------------------------------------------
               IPv4 routing   enabled              enabled
               IPv6 routing   disabled             disabled
            IPv4 forwarding   enabled              enabled
            IPv6 forwarding   disabled             disabled

           Routing services   "route:default ripng:default"

routeadm 命令报告,当前打开了通过 in.routed 守护进程的动态路由和包转发。但是,您将需要关闭包转发:


# svcadm disable ipv4-forwarding

也可以使用 routeadm 命令(如如何创建多宿主主机所示)关闭包转发。禁用包转发后,host3 将成为多宿主主机。