全面掌握Solaris网络管理工具
目前, 由于UNIX 操作系统的诸多优点, 主流ISP 基本采用UNIX 作为提供服务的系统平台, 其中Solaris 占了其中的很大比例。网络管理工具范围广泛, 本文从功能出发把网络管理工具分成不同
目前, 由于UNIX 操作系统的诸多优点, 主流ISP 基本采用UNIX 作为提供服务的系统平台, 其中Solaris 占了其中的很大比例。网络管理工具范围广泛, 本文从功能出发把网络管理工具分成不同的类, 然后分类介绍这些软件工具。工具使用上难易程度相差较大, 考虑到篇幅, 这里仅作简单的介绍。首先介绍Solaris 10 自身携带的工具软件。
一、状态监视工具
1.ifconfig
ifconfig 在UNIX 类操作系统内提供, 一般用于设置、查询网络接口的参数或状态。使用它来查询每个接口的配置信息时, 要使用-a 选项。查看命令的输出结果, 可以确定接口是否工作(UP),如果没有UP, 就说明接口未开启, 处于禁止状态。还可以查看到最大传输单元(MTU)为多少(对于以太网一般为1500B), 是否支持BROADCAST(广播) 、SIMPLEX(单播) 和MULTICAST(多播或组播) 或它们的组合方式等。
2.ping 及其替换工具
ping 命令用来检查是否可以到达目标节点, 显示目标是否响应, 以及收到响应所需的往返时间等。如果在传递过程中出现错误,ping 命令将显示错误消息。ping 在多种操作系统中提供(Windows和UNIX) 。ping 通过发送一个ICMPECHO 请求包到目标, 如果收到一个ICMPECHO 响应包, 说明目标是活动的, 否则可以判断目标节点没有在线、网络路由设置出错或者目标使用了某些过滤器过滤了
ICMP 的ECHO 报文。类似于ping 的工具还有fping, 可以并行地、多个主机同时检查, 主要的特点是探测的目标设备列表可以存入文件中, 然后用文件来控制操作。对于特殊情况, 可以使用arping, 它采用ARP 请求和响应来探测, 因此不会被阻塞, 当然只适用于本地网络。利用arping 可以很快找出某个IP 地址对应的MAC 地址, 也能够反向查找。
3.nslookup 、dig 和host
这几个命令在UNIX 和linux 系统中使用, 都可以进行域名的解析。nslookup 使用交互方式查询域名与IP 地址的映射关系。dig 的功能是发送域名查询信息包到域名服务器, 并获得结果。dig 有两种工作模式:简单交互模式和批处理模式。简单交互模式用于简单的查询, 而批处理模式则可以对包含多个查询条目的列表执
,行查询。host 命令向域名服务器查询, 获得本机或其他主机的域名。
二、流量监视工具
1. snoop命令
这个工具都是通过捕捉网络的分组, 然后按照不同的形式显示或输出这些分组。诊断网络故障的第一步就是收集信息。包括从用户收集一些反映问题本质的信息, 也包括来自网络的信息。成功与否在很大程度上取决于收集信息的效率和所收集的信息的质量。分组捕捉与分析是诊断故障的最终方法, 也是最复杂的方法, 通过实时地收集分组数据, 对流量加以分析, 能够了解网络内部到底发生了什么事情。当然不当的使用也会对系统安全造成威胁, 因为这些工具可能获得敏感的信息。
这类工具有多种不同的名称, 如分组嗅探器(PacketSniffer)、分组分析器(PacketAnalyzer)、协议分析仪(ProtocolAnalyzer)和流量监视器(TrafficMonitor)等。它们之间的主要差别是对捕捉到的分组所做的分析量的多少。如分组嗅探器是工作量最少的工具, 而协议分析仪是工作量最大的工具, 位于二者之间的是分组分析器工具。流量监视器以提供统计数据为主, 有时也可能提供原始的分组数据。snoop 属于分组嗅探器,tcpdump 属于分组分析器, 而ethereal 属于协议分析仪。 Solaris 提供了snoop 或etherfind, 前者是后者的替代, 后者在SunOS 老版本中提供。下面是运行了snoop 以后的输出,如图 -1 。
,
图 1 snoop命令输出
snoop 本身能够运行在以太网环境下的solaris 系统中,然后依靠网卡的混杂模式从网络中读 取流过的所有数据包,当然,这依赖于网络必须是共享式以太网(使用集线器) ,或者在交换机上 配置SPAN 功能把所有流量镜像到snoop 所运行的机器。如果网络是运行在除以上两者之外的交 换网络上的话,那么snoop 只能够获取到广播数据,以及发往主机自身的数据。
三、路由监视工具
1.traceroute
traceroute 的设计者为VanJacobson, 通过巧妙地利用IP 分组TTL 值, 让从源站到网络管理目标的路径中的路由器产生ICMP 超时报错报文, 从而了解路由的具体情况。traceroute 第
将TTL 从1开始, 逐个地增加, 向目标发送3次UDP 报文, 其中的目的端口号为随机的不同的值, 因此最终到达目标时, 将返回一个ICMP 的目标端口不可达的报文。
2.arp
arp 表是设备内存储的关于IP 地址和MAC 地址的对应关系, 每个设备都必须
,支持arp 协议。可以发现, 表中的每一项都是针对直接相连的节点或主机, 即位于本地局域网的节点或主机, 因为那些远程主机需要经过路由器才能到达, 而不能直接连接。一些UNIX 系统中查看当前的arp 表使用的开关是-a, 尽管不同系统之间有差别, 但是主要内容是一致的。通过检查arp 表, 可以了解各个节点的MAC 地址, 从而知道设备的生产厂商。如果本地局域网的一些主机可以访问, 而另一些却不能访问, 那么arp 问题就是首先要考虑的, 不正确的arp 解析将造成节点不能访问, 或者时通时断(间歇性故障) 。除了能够显示arp 表之外,arp 命令还可以增加、删除表项, 设置静态表项, 这些功能对于网络故障的纠错很有帮助。
3.netstat
可以说这是最有用的网络工具之一, 可以列出与网络有关的核心数据结构的内容。可以按照TCP 与UDP 来分析通信状态, 发现网络中的异常。如检查发送与接收队列的长度是否为0或接近0, 否则说明存在某种故障。可以检查各个TCP 连接的状态, 发现连接中可能存在的问题。它还可以统计每个接口收发分组的情况, 用于统计吞吐量。除了这些用途,netstat 还可以显示设备的路由表, 这可以用于解决路由问题。如果发现网络或主机不能到达, 检查路由表就是一个比较有效的方法。一般地, 系统的路由表表项的建立有4种途径:使用动态路由协议获得; 通过ICMP 的Rediect 获得; 使用ifconfig 配置接口后建立; 使用route 命令以人工维护方式设置。显示路由表使用-r 命令选项。
四、GUI 集成监控工具:性能监视器
以上的是命令行工具,Solaris 还提供了一个在GUI 界面下的工具:性能监视器(sdtperfmeter)。要想使所有的资源在经过线程优化的并行应用系统中具备顺畅的响应速度,就必须使用更为全面的性能监控工具,而传统的Unix 工具集是不具备这一能力的。使用“性能监视器”可以监视工作站的活动和性能。可以在该可定制窗口中以图形方式显示若干个性能参数,如 CPU 利用率、磁盘活动、网络包,等等。您可以监视本地主机或远程主机的性能,设置彩色的活动阀值以在性能出现异常时向您发出警告,并将样例记录到文件中。 性能监视器可以工作在JDS 或者CDE 桌面下。本文以JDS 桌面为例。
1. 启动性能监视器
单击“前面板”上的“性能监视器”控件。“性能监视器”打开并显示缺省图表
,(CPU 和磁盘活动) 。
2. 选择要显示的主机和参数
选择以进行监视的参数可能取决于: 所运行的应用程序类型; 网络; 您对 UNIX 进程和系统装入的了解程度。不熟悉系统参数的用户通常选择显示 CPU 和磁盘使用情况。对于那些比较熟悉系统参数的用户,典型设置是显示 CPU 使用、磁盘使用、系统负载和包。如果担心网络通信拥塞,您可以显示每秒钟传送的网络包数目,并在运行网络密集型活动(如因特网浏览或远程操作) 时监视此性能。如果“性能监视器”指示 CPU 使用率很高,则可以使用“进程管理器”来标识和中止错误的或 CPU 密集型的进程。如果在运行 CPU 密集型应用程序时退出系统,然后再登录回系统,则“性能监视器”的 CPU 显示可能表明 CPU 使用率非常高。意识到这一点后,可以使用“进程管理器”来中止任何错误的进程。
3. 指定要监视的主机和参数
从“选项”菜单中选择“设置”。“性能监视器”显示“设置”对话框。选择“远程”单选按钮以表明要键入远程主机的名称。键入系统名称(例如,jupiter) 或远程主机的 IP 地址。数打开“查看”菜单以显示可用参数的列表。每个参数都有一个复选框,用来表明当前是否选定该参数以进行显示。选择或撤消选择相关的菜单项以显示或移除任何参数。可以显示任何参数组合。如图2。

图2 指定要监视的主机和参数
4. 更改参数的阀值
从“选项”菜单中选择“设置”。“性能监视器”显示“设置”对话框,对于每个参数,该对话框中都包含一个“阀值“框。键入相关参数的新阀值,并单击“应用”。现在,底于新阀值的值将使用为低于阀值的值选择的颜色来显示,而高于该新阀值的值将使用为高于阀值的值选择的颜色来显示。网络封包缺省阀值: 16 /秒。图3是显示CPU 和网络监控参数的性能监视器界面。

图3 显示CPU 和网络监控参数的性能监视器界面 到处为止笔者介绍的是Solaris 自己的网络管理工具,下面看看可以安装的第三方的网络管理工具。
1. 使用inetmenu 快速修改IP 地址
对于工作站而言,网络的配置需要根据环境经常做改动,比如不同的上网方式,不同的IP 地址,不同的命名服务(NIS或DNS) 等。如果你有这样的需求,推荐你使用 OpenSolaris 提供的图形界面工具:inetmenu 。
inetmenu 的下载地址:http://www.opensolaris.org/os/community/laptop/inetmenu/ 。
,inetmenu 的下载安装方法如下:

inetmenu 将安装在/usr/bin/目录。使用方法为,在X-Window 的终端中运行命令:#/usr/bin/inetmenu即可。你可以选择上网方式和设置IP 地址等,非常方便。使用inetmenu 后,修改IP 不需要去同时更改多个配置文件,也不需要进行sys-unconfig 而重复设置其它信息了。下面通过inetmenu 为网卡pcn0 取

得IP 全过程:
∙
∙ 首先选择网卡接口 下面选择网卡IP 类型(静态、DHCP) 如图 1 。
图1 选择网卡IP 类型
∙
∙ 接着输入网卡IP 和子网掩码 最后按确定按钮完成配置,如图 2
,
图2 完成网卡配置
说明:inetmenu 对网络文件的影响,缺省情况下,在启动计算机后,inetmenu 将停止所有网卡的服务,/etc/nsswitch.conf被设置为files 方式。
2. 使用远程桌面实现和Windows 的桌面连接
使用rdesktop 远程管理Vista
rdesktop 是UNIX 和Linux 系统的一个远程桌面连接软件,它通过
Microsoft Windows NT、Windows 2000 提供的终端服务(Terminal Services)以及WindowsXP 、Windows 2003 Server、Windows Vista的远程桌面服务(Remote Desktop) ,能在Unix 系统下远程登录Windows 的窗口系统并使用。 下载安装rdesktop 工具
rdesktop 程序可以http://mirrors.easynews.com/sunfreeware/i386/10/上获取代码安装,非常方便。
wget http://www.mirrorservice.org/sit ... 5.8-i386-CSW.pkg.gz
gunzip
rdesktop-1.5.0,REV=2006.09.13-SunOS5.8-i386-CSW.pkg.gz pkgadd –d
rdesktop-1.5.0,REV=2006.09.13-SunOS5.8-i386-CSW.pkg
图 3 是远程桌面安装成功界面
,
图 3 远程桌面安装成功界面
首先在Windows 启动远程桌面,并且添加一个Solaris 10系统的存在的账号(如root 用户) 下面使用命令连接Windows 桌面,命令如下:

其中 “g 800*600”设置分辨率为g 800*600,“d 24”设置真彩24 位,192.168.1.14为 Windows 机器的IP 地址。另外rdesktop 使用微软的RDP 协议,仅能控制WinXP/2003/Vista系统,无法控制windows 98/me系统。接着系统会出现登陆对话框,通过口令验证即可开始进入Windows 桌面,如图4。
,
图4 Solaris 10 JDS桌面中的Windwos 桌面 在图4中Solaris 10 JDS 桌面中中内嵌的就是Windows Xp 。通过#rdesktop-h得到使用的帮助。另外当然除了本文介绍的方法还可以使用samba 、ssh 服务器和VNC 三种方式实现Solaris 服务器和Windows 工作站的互联。其中远程桌面是最简单的方法。
3. 使用iftop 工具监控Solaris 服务器网卡的流量
Iftop 工具用来实时监看网络状态和各ip 所使用的带宽。绝大多数的现代操作系统都提供了对底层网络数据包捕获的机制,在捕获机制之上可以建立网络监控(Network Monitoring)应用软件。网络监控也常简称为sniffer, 其最初的目的在于对网络通信情况进行监控,以对网络的一些异常情况进行调试处理。但随着互连网的快速普及和网络攻击行为的频繁出现,保护网络的运行安全也成为监控软件的另一个重要目的。
首先下载所有相关软件包:
