跳过导航链接 | |
退出打印视图 | |
![]() |
配置和管理 Oracle Solaris 11.1 网络 Oracle Solaris 11.1 Information Library (简体中文) |
每个系统的主机名。
每个系统的 IP 地址和网络掩码。如果网络被细分为子网,则您必须提供子网号和 IP 地址架构,才能应用于每个子网中的系统,包括其各自的网络掩码。
每个系统所属的域名。
缺省路由器地址。
如果在一个简单的网络拓扑中,每个网络仅连接有一个路由器,则可以提供此信息。如果路由器不运行路由协议,如路由器搜索 (Router Discovery, RDISC) 服务器协议或路由器信息协议 (Router Information Protocol, RIP),则也可以提供此信息。有关路由器以及 Oracle Solaris 支持的路由协议列表的更多信息,请参见Oracle Solaris 中的路由协议。
可参考下节中的图 3-1 配置网络组件系统。
具有多个路由器和网络的站点通常将其网络拓扑作为单个路由域或自治系统 (autonomous system, AS) 进行管理。
图 3-1 具有多个 IPv4 路由器的自治系统
图 3-1 展示了一个 AS,它分成了三个本地网络 10.0.5.0、172.16.1.0 和 192.168.5.0。该网络由以下类型的系统组成:
路由器使用路由协议管理网络包如何从其源定向或路由至本地网络中的目标,或者定向或路由至外部网络。有关 Oracle Solaris 支持的路由协议的信息,请参见Oracle Solaris 中的路由协议表。
路由器的类型划分如下:
客户机系统
本节介绍了将系统设置为以本地文件模式或网络客户机模式运行的过程。以本地文件模式运行时,系统会从本地目录中的文件获取所有 TCP/IP 配置信息。在网络客户机模式下,配置信息通过远程网络配置服务器提供给网络中的所有系统。
通常,网络中的服务器是以本地文件模式运行的,例如以下服务器:
网络配置服务器
NFS 服务器
提供 NIS、LDAP 或 DNS 服务的名称服务器
邮件服务器
路由器
客户机可在任意一种模式下运行。因此,在网络中,您可以组合这些用于配置不同系统的模式,如下图所示。
图 3-2 IPv4 网络拓扑方案中的系统
图 3-2 显示了 192.9.200 网络中的系统。
所有系统均属于组织域 deserts.worldwide.com。
sahara 为配置服务器。该服务器在本地文件模式下运行,其中 TCP/IP 配置信息是从系统的本地磁盘获取的。
注 - 如果您将客户机配置为在网络客户机模式下运行,则必须至少配置一个网络配置服务器,用于为这些客户机提供配置信息。
tenere、nubian 和 faiyum 为网络中的客户机。tenere 和 nubian 在本地文件模式下运行。无论 faiyum 的本地磁盘如何,该系统都会配置为以网络客户机模式运行。
timbuktu 配置为路由器,因此在本地文件模式下运行。该系统包括两个 NIC,每一个 NIC 都有各自的已配置 IP 接口。第一个 IP 接口名为 timbuktu 并连接到网络 192.9.200。第二个 IP 接口名为 timbuktu-201 并连接到网络 192.9.201。
使用以下过程配置任何要以本地文件模式运行的系统。
有关过程,请参阅《在 Oracle Solaris 11.1 中使用固定网络配置连接系统》中的"如何配置 IP 接口"。
Oracle Solaris 安装程序为主网络接口、回送地址和在安装过程中配置的任何其他接口(如果适用)创建项。
此文件还必须包含缺省路由器的名称和路由器的 IP 地址。
例如,可以将 deserts.worldwide.com 指定为 nis/domain SMF 服务的 domainname 属性的值,如下所示:
# domainname domainname
该步骤将影响持久性更改。
注 - 如果您使用的是 DHCP 服务,请跳过此步骤。
要创建项,请使用格式 network-number netmask。例如,对于 C 类网络号 192.168.83,请键入:
192.168.83.0 255.255.255.0
对于 CIDR 地址,将网络前缀转换为等效的用点分十进制表示法表示的项。网络前缀及其点分十进制等效项可以在表 1-1 中找到。例如,使用以下内容可以表示 CIDR 网络前缀 192.168.3.0/22。
192.168.3.0 255.255.252.0
# svccfg -s name-service/switch setprop config/host = astring: '"files nis"' # svccfg -s name-service/switch:default refresh
开始之前
网络客户机从网络配置服务器接收其配置信息。因此,在将系统配置为网络客户机之前,必须确保至少为网络设置了一个网络配置服务器。
有关过程,请参阅《在 Oracle Solaris 11.1 中使用固定网络配置连接系统》中的"如何配置 IP 接口"。
# cat /etc/inet/hosts # Internet host table # 127.0.0.1 localhost
# domainname "
该步骤将影响持久性更改。
用于设置安装服务器和引导服务器的信息可在《安装 Oracle Solaris 11.1 系统》中找到。
# mkdir /tftpboot
此命令将系统配置为 TFTP、bootparams 和 RARP 服务器。
# ln -s /tftpboot/. /tftpboot/tftpboot
该行应显示如下:
tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot
此行可防止 in.tftpd 检索除位于 /tftpboot 中的文件之外的任何文件。
此数据库中的项使用以下格式:
MAC Address host name #comment
有关更多信息,请参见 ethers(4) 手册页。
有关编辑此数据库的信息,请参见 bootparams(4) 手册页。
# /usr/sbin/inetconv
# svcs network/tftp/udp6
应该看到与如下所示类似的输出:
STATE STIME FMRI online 18:22:21 svc:/network/tftp/udp6:default
in.tftpd 守护进程由服务管理工具管理。可以使用 svcadm 命令对 in.tftpd 执行管理操作(如启用、禁用或重新启动)。启动和重新启动此服务的职责已委托给 inetd。使用 inetadm 命令可以进行配置更改以及查看 in.tftpd 的配置信息。使用 svcs 命令可以查询服务的状态。有关服务管理工具的概述,请参阅《在 Oracle Solaris 11.1 中管理服务和故障》中的第 1 章 "管理服务(概述)"。
路由器用于提供两个或多个网络之间的接口。因此,您必须为路由器的每个物理网络接口指定唯一的名称和 IP 地址。这样,每个路由器都有与其主网络接口关联的主机名和 IP 地址,以及其他每个网络接口的至少一个唯一名称和 IP 地址。
也可以使用以下过程将只有一个物理接口的系统(缺省情况下为主机)配置为路由器。如果某个单接口系统充当 PPP 链路上的一个端点,则可以将该系统配置为路由器,如《在 Oracle Solaris 11.1 中使用 UUCP 和 PPP 管理串行网络》中的"规划拨号 PPP 链路"中所述。
以下说明假定要在安装后配置路由器的接口。
开始之前
在将路由器以物理方式安装到网络上后,请将路由器配置为以本地文件模式运行,如如何以本地文件模式配置系统中所述。此配置可确保即使网络配置服务器关闭路由器也会引导。
有关配置 IP 接口的详细步骤,请参见《在 Oracle Solaris 11.1 中使用固定网络配置连接系统》中的"如何配置 IP 接口"。
确保每个 IP 接口都配置有系统将路由其包的网络的 IP 地址。因此,如果系统为 192.168.5.0 和 10.0.5.0 网络提供服务,则必须为每个网络配置一个 NIC。
![]() | 注意 - 如果您要配置 IPv4 路由器以使用 DHCP,则必须完全了解 DHCP 管理。 |
例如,假定您为路由器 1 的两个接口指定的名称分别为 krakatoa 和 krakatoa-1。/etc/inet/hosts 文件中的项将如下所示:
192.168.5.1 krakatoa #interface for network 192.168.5.0 10.0.5.1 krakatoa-1 #interface for network 10.0.5.0
请参见如何以本地文件模式配置系统。
例如,对于传统的 IPv4 地址表示法(如 192.168.5.0),应键入:
192.168.5.0 255.255.255.0
# ipadm set-prop -p forwarding=on ipv4
使用以下命令语法之一:
# routeadm -e ipv4-routing -u
# svcadm enable route:default
与 in.routed 守护进程关联的 SMF FMRI 是 svc:/network/routing/route。
当您启动路由协议时,路由守护进程 /usr/sbin/in.routed 将自动更新路由表(该过程称为动态路由)。有关路由类型的更多信息,请参见路由表和路由类型。有关 routeadm 命令的信息,请参见 routeadm(1M) 手册页。
示例 3-1 配置网络的缺省路由器
此示例基于图 3-1。路由器 2 包含两个有线网络连接,一个是与网络 172.16.1.0 的连接,另一个是与网络 10.0.5.0 的连接。此示例说明如何配置路由器 2,使其成为 172.16.1.0 网络的缺省路由器。此示例还假定路由器 2 已配置为在本地文件模式下工作,如如何以本地文件模式配置系统中所述。
成为超级用户或承担等效角色后,可以确定系统接口的状态。
# dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- -- net1 phys 1500 up -- -- net2 phys 1500 up -- -- # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 172.16.1.10/24
只有 net0 配置有 IP 地址。要将路由器 2 设置为缺省路由器,应将 net1 接口以物理方式连接到 10.0.5.0 网络。
# ipadm create-ip net1 # ipadm create-addr -a 10.0.5.10/24 net1 # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 172.16.1.10/24 net1/v4 static ok 10.0.5.10/24
接下来,应使用有关新配置的接口和与该接口相连的网络的信息,更新以下网络数据库:
# vi /etc/inet/hosts 127.0.0.1 localhost 172.16.1.10 router2 #interface for network 172.16.1 10.0.5.10 router2-out #interface for network 10.0.5 # vi /etc/inet/netmasks 172.16.1.0 255.255.255.0 10.0.5.0 255.255.255.0
最后,启用包转发以及 in.routed 路由守护进程。
# ipadm set-prop -p forwarding=on ipv4 # svcadm enable route:default
现在,在路由器 2 上启用了 IPv4 包转发和通过 RIP 的动态路由。但是,网络 172.16.1.0 的缺省路由器配置尚未完成。您需要执行以下操作:
修改 172.16.1.0 网络中的每个主机,以便主机从新的缺省路由器获取其路由信息。有关更多信息,请参阅如何在单接口主机上启用静态路由。
在路由器 2 的路由表中定义边界路由器的静态路由。有关更多详细信息,请参阅路由表和路由类型。
路由器和主机都维护路由表。路由表列出了系统知晓的网络的 IP 地址,包括系统本地缺省网络的 IP 地址。该表还列出了每个已知网络的网关系统的 IP 地址。网关是一个系统,可接收传出包并将它们转发到距本地网络一个跃点的位置。
以下是一个仅启用了 IPv4 的网络中某系统的简单路由表。
Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.16.1.10 UG 1 532 net0 224.0.0.0 10.0.5.100 U 1 0 net1 10.0.0.0 10.0.5.100 U 1 0 net1 127.0.0.1 127.0.0.1 UH 1 57 lo0
可以在 Oracle Solaris 系统上配置以下两种类型的路由:静态路由和动态路由。可以在单个系统上配置其中一种或两种路由类型。实现动态路由的系统依赖路由协议(如用于 IPv4 网络的 RIP 和用于 IPv6 网络的 RIPng),以路由网络通信流量以及更新表中的路由信息。对于静态路由,路由信息是通过 route 命令手动维护的。有关完整的详细信息,请参阅 route(1M) 手册页。
为本地网络或自治系统配置路由时,请考虑在特定的路由器和主机上支持哪种路由类型。
下表显示了不同的路由类型,以及各个路由类型分别最适用于哪种网络方案。
|
图 3-1 所示的 AS 将静态路由和动态路由组合在一起。
注 - 到同一目标的两个路由不会自动导致系统进行负载平衡或故障转移。如果您需要这些功能,请使用 IPMP,如《管理 Oracle Solaris 11.1 网络性能》中的第 5 章 "IPMP 介绍"中所述。
使用一般用户帐户运行以下形式的 netstat 命令:
% netstat -rn
输出将与如下所示类似:
Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 192.168.5.125 192.168.5.10 U 1 5879 net0 224.0.0.0 198.168.5.10 U 1 0 net0 default 192.168.5.10 UG 1 91908 127.0.0.1 127.0.0.1 UH 1 811302 lo0
# route flush
# route -p add -net network-address -gateway gateway-address
创建一个在系统重新引导后必须继续存在的路由。如果希望路由仅对当前会话有效,则不要使用 -p 选项。
指定路由将转到具有 network-address 中地址的网络。
指示指定路由的网关系统具有 IP 地址 gateway-address。
示例 3-2 将静态路由添加到路由表
以下示例说明如何将静态路由添加到图 3-1 的路由器 2。AS 的边界路由器 10.0.5.150 需要静态路由。
要查看路由器 2 上的路由表,请执行以下操作:
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.16.1.10 UG 1 249 ce0 224.0.0.0 172.16.1.10 U 1 0 ce0 10.0.5.0 10.0.5.20 U 1 78 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0
路由表指示路由器 2 知晓的两个路由。缺省路由将路由器 2 的 172.16.1.10 接口用作其网关。在路由器 2 上运行的 in.routed 守护进程搜索到第二个路由 10.0.5.0。此路由的网关是 IP 地址为 10.0.5.20 的路由器 1。
要将另一个路由添加到网络 10.0.5.0(它将其网关作为边界路由器),请执行以下操作:
# route -p add -net 10.0.5.0/24 -gateway 10.0.5.150 add net 10.0.5.0: gateway 10.0.5.150
现在,路由表具有边界路由器(其 IP 地址为 10.0.5.150/24)的路由。
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.16.1.10 UG 1 249 ce0 224.0.0.0 172.16.1.10 U 1 0 ce0 10.0.5.0 10.0.5.20 U 1 78 bge0 10.0.5.0 10.0.5.150 U 1 375 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0
在 Oracle Solaris 中,具有多个接口的系统被视为多宿主主机。多宿主主机的接口可以与不同物理网络或同一物理网络中的多个子网连接。
如果一个系统的多个接口连接到同一子网,必须首先将这些接口配置到一个 IPMP 组中。否则,该系统无法成为多宿主主机。有关 IPMP 的更多信息,请参见《管理 Oracle Solaris 11.1 网络性能》中的第 5 章 "IPMP 介绍"。
多宿主主机不会转发 IP 包,但可以配置为运行路由协议。通常,可以将以下类型的系统配置为多宿主主机:
可以将 NFS 服务器(尤其是用作大型数据中心的那些服务器)连接到多个网络,以便在大量用户之间共享文件。这些服务器无需维护路由表。
数据库服务器可以具有多个网络接口,从而可为大量用户提供资源,就像 NFS 服务器那样。
防火墙网关是连接公司网络和公共网络(如 Internet)的系统。管理员将设置防火墙作为一项安全措施。当配置为防火墙时,主机不在连接到主机接口的网络之间传递包。但是,主机仍可以为授权用户提供标准 TCP/IP 服务,如 ssh。
注 - 当多宿主主机在其任一接口上具有不同类型的防火墙时,请小心谨慎以免无意中中断主机的包。对于有状态防火墙,尤其容易出现此问题。针对此问题的一种解决方案是配置无状态防火墙。有关防火墙的更多信息,请参阅《Oracle Solaris 11.1 管理:安全服务》中的"防火墙系统"或第三方防火墙的相应文档。
# ipadm show-prop -p forwarding ipv4 PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE ipv4 forwarding rw on -- off on,off ipadm set-prop -p forwarding=off ipv4
使用以下命令语法之一:
# routeadm -e ipv4-routing -u
# svcadm enable route:default
与 in.routed 守护进程关联的 SMF FMRI 是 svc:/network/routing/route。
示例 3-3 配置多宿主主机
以下示例说明如何配置图 3-1 中所示的多宿主主机。在该示例中,系统具有主机名 hostc。此主机具有两个接口,这两个接口都已连接到网络 192.168.5.0。
要开始操作,请显示系统接口的状态。
# dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- -- net1 phys 1500 up -- -- # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 192.168.5.82/24
dladm show-link 命令报告 hostc 具有两个数据链路。但是,只有 net0 配置有 IP 地址。要将 hostc 配置为多宿主主机,应使用同一 192.168.5.0 网络中的 IP 地址配置 net1。确保 net1 的底层物理 NIC 已实际连接到网络。
# ipadm create-ip net1 # ipadm create-addr static -a 192.168.5.85/24 net1 # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 192.168.5.82/24 net1/v4 static ok 192.168.5.85/24
接下来,将 net1 接口添加到 /etc/hosts 数据库:
# vi /etc/inet/hosts 127.0.0.1 localhost 192.168.5.82 hostc #primary network interface for host3 192.168.5.85 hostc-2 #second interface
接下来,关闭包转发(如果此服务正在 hostc 上运行):
# ipadm show-prop -p forwarding ipv4 PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE ipv4 forwarding rw on -- off on,off # ipadm set-prop -p forwarding=off ipv4 # routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing enabled enabled IPv6 routing disabled disabled Routing services "route:default ripng:default"
routeadm 命令报告当前启用了通过 in.routed 守护进程的动态路由。
单接口系统可以使用静态路由或动态路由进行配置。对于静态路由,主机必须依赖于缺省路由器的服务来获取路由信息。以下过程包含启用这两种路由类型的说明。
也可以使用以下过程在多宿主主机上配置静态路由。
有关说明,请参见《在 Oracle Solaris 11.1 中使用固定网络配置连接系统》中的"如何配置 IP 接口"。
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing enabled disabled IPv6 routing disabled disabled Routing services "route:default ripng:default" # svcadm disable route:default
# # ipadm show-prop -p forwarding ipv4 PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE ipv4 forwarding rw on -- off on,off # ipadm set-prop -p forwarding=off ipv4
示例 3-4 在单接口系统上配置静态路由
以下示例说明如何为图 3-1 所示的 172.16.1.0 网络中的单接口系统 hostb 配置静态路由。hostb 需要将路由器 2 用作其缺省路由器。此示例假定您已配置了系统的 IP 接口。
首先,您应使用管理员权限登录 hostb。接下来,确定系统中是否存在 /etc/defaultrouter 文件:
# cd /etc # ls | grep defaultrouter # vi /etc/defaultrouter 172.16.1.10
IP 地址 172.16.1.10 属于路由器 2。
# vi /etc/inet/hosts 127.0.0.1 localhost 172.16.1.18 host2 #primary network interface for host2 172.16.1.10 router2 #default router for host2 # ipadm show-prop -p forwarding ipv4 PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE ipv4 forwarding rw on -- off on,off # ipadm set-prop -p forwarding=off ipv4 # routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing enabled disabled IPv6 routing disabled disabled Routing services "route:default ripng:default" # svcadm disable route:default
使用路由协议的动态路由是管理系统上的路由的最简便方法。
有关说明,请参见《在 Oracle Solaris 11.1 中使用固定网络配置连接系统》中的"如何配置 IP 接口"。
/etc/defaultrouter 文件为空会强制系统使用动态路由。
# ipadm set-prop -p forwarding=off ipv4
使用以下命令之一:
# routeadm -e ipv4-routing -u
# svcadm enable route:default
示例 3-5 在单接口系统上运行动态路由
以下示例说明如何为图 3-1 所示的网络 192.168.5.0 中的单接口系统 hosta 配置动态路由。该系统将路由器 1 用作其缺省路由器。此示例假定您已配置了系统的 IP 接口。
首先,您应使用管理员权限登录 hosta。如果系统上存在 /etc/defaultrouter 文件,接下来您需要将该文件删除:
# cd /etc # ls | grep defaultrouter defaultrouter # rm defaultrouter
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing disabled disabled IPv6 routing disabled disabled Routing services "route:default ripng:default" # svcadm enable route:default # ipadm show-prop -p forwarding ipv4 PROTO PROPERTY PERM CURRENT PERSISTENT DEFAULT POSSIBLE ipv4 forwarding rw on -- off on,off # ipadm set-prop -p forwarding=off ipv4
如果要将不使用子网的网络更改为使用子网的网络,请执行以下列表中的任务。该列表假定您已准备好子网架构。
将含有新子网号的 IP 地址指定给子网所属的系统。
有关参考信息,请参见《在 Oracle Solaris 11.1 中使用固定网络配置连接系统》中的"如何配置 IP 接口"。
将正确的 IP 地址和网络掩码添加到每个系统的 /etc/netmasks 文件中。
使用正确的 IP 地址修正每个系统的 /etc/inet/hosts 文件,以便与主机名相符。
重新引导子网中的所有系统。
以下过程与子网密切相关。如果您实现子网划分的时间远迟于初始配置网络而未划分子网后的时间,请执行以下过程实现更改。
此过程说明如何在以前安装的系统上修改 IPv4 地址、主机名和其他网络参数。使用此过程可以修改服务器或联网独立系统的 IP 地址。此过程不适用于网络客户机或设备。这些步骤创建一个在重新引导后继续存在的配置。
在几乎所有情况下,以下步骤都使用传统的 IPv4 点分十进制表示法指定 IPv4 地址和子网掩码。另外,在此过程中也可以使用 CIDR 表示法在所有适用文件中指定 IPv4 地址。
您不能使用 ipadm 命令直接修改 IP 地址。您应该首先删除表示想要修改的 IP 地址的地址对象。然后使用相同的地址对象名称来指定一个新地址。
# ipadm delete-addr addrobj # ipadm create-addr -a IP-address interface
# hostname newhostname
该步骤将影响持久性更改。
# reboot -- -r
示例 3-6 更改 IP 地址和主机名
此示例说明如何更改主机名、主网络接口的 IP 地址和子网掩码。主网络接口 net0 的 IP 地址从 10.0.0.14 更改为 192.168.34.100。
# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 10.0.0.14/24 # ipadm delete-addr net0/v4 # ipadm create-addr -a 192.168.34.100/24 net0 # hostname mynewhostname # ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 192.168.34.100/24 # hostname mynewhostname
另请参见
要更改主网络接口以外的接口的 IP 地址,请参阅《在 Oracle Solaris 11.1 中使用固定网络配置连接系统》中的"如何配置 IP 接口"。