Tru64 UNIX系统的网络配置与维护

来源:岁月联盟 编辑:zhu 时间:2008-02-20
Tru64 UNIX系统的网络配置与维护内容简介:【Tru64教程】 Tru64 UNIX原为DIGITAL UNIX(OSF/1),具有64位的先进内核体系结构,是一个开放、先进、成熟的全 64 位操作系统。它支持 AlphaServer 全系列产品,并在所有 Alpha 平台上全线二进制兼容。在此

  【Tru64教程】Tru64 UNIX原为DIGITAL UNIX(OSF/1),具有64位的先进内核体系结构,是一个开放、先进、成熟的全 64 位操作系统。它支持 AlphaServer 全系列产品,并在所有 Alpha 平台上全线二进制兼容。在此就Alpha 服务器+Tru64 UNIX在不同版本下的网络设置经验与大家共享。

  网卡配置

  这里,我们主要讨论使用比较广泛的以太网卡的配置。配置网卡之前,首先需要确认网卡的设备文件名。型号较早的Alpha服务器,如Alpha8200上一般使用DECchip 21040和DECchip 21140两种型号芯片的网络接口卡,这两种接口卡的速率分别为10M和10/100M自适应的,设备文件名一般为tun(n为数字);型号较新的Alpha服务器上的网络接口卡,10M/100M以太网一般使用COMPAQ Intel 82558芯片型号的网卡,设备文件名类似于een(n为数字);千兆以太网使用DEGPA型号的网卡,设备文件名类似于alt n(n为数字)。具体的设备文件名随型号、版本的不同而不同。
  当系统正确识别网络接口卡之后,一般可以通过以下三种方法确认网卡的设备文件名:

  (1) 使用ifconfig命令列出系统上所有接口的名称和配置参数。如:
  #/usr/sbin/ifconfig –l
  lo0 sl0 tu0 tun0
  命令显示系统有四个接口,其中以太网接口名为:tu0。

  (2) 使用uerf 命令显示系统启动时识别的网络接口名称。

  (3) 查看文件/var/adm/messages的内容。该文件包含系统启动的所有信息,包括系统识别的网络接口卡名称。
  系统启动后,假如不能正确识别网卡,需要使用通用内核(genvmunix)启动机器,并重建内核。具体操作见命令doconfig的帮助文件或系统治理手册。以太网网卡被系统正确识别后,还需设置它的工作模式、接口类型和工作速率。以太网有AUI、BNC、UTP和光纤接口等接口类型,前两种接口已经很少使用,目前主要使用UTP和光纤接口。工作模式、接口类型和速率可在主控台上设置,如:
  >>>set ew*0_mode ? (*为某个网卡的名字,如 ewa0_mode,可用show config看) ,主控台上设置的结果可通过命令lan_config或ifconfig改变。如:
  #/usr/sbin/lan_config -i tu0 -m utp -x 1
  此命令表示设置网卡tu0以全双工进行操作,使用UTP接口。若要求每次启动都使用同样的配置,可编辑/etc/rc.config文件中IFCONFIG_n(n为数字)参数,如:
  #/usr/sbin/rcmgr set IFCONFIG_0 “speed 200”。此命令设置与IFCONFIG_0绑定的网卡以100M 、全双工方式工作。
  在上述操作过程中,应注重DEGPA型号的千兆以太网卡的工作模式和速率不能在主控台上进行设置,只能在系统模式下设置,如:
  #/usr/sbin/lan_config -i alt0 -a 0
  此命令表示千兆以太网卡alt0不使用自适应模式。虽然服务器、连接服务器的交换机都支持IEEE 802.3u自适应模式(autonegotiation),但从实际使用效果来看,假如把服务器设为自适应模式,无论将交换机设置为自适应模式还是指定速率、工作模式,服务器的网络速度都非常慢;假如两端以指定的模式和速率工作,网络速度则恢复正常。此现象产生的原因不知是不同厂商设备之间的匹配问题还是其它原因。
  Tru64 UNIXV5.X提供了一种新的网络技术:NETRAIN(Redundant Array of Independent Network Adapters ),即冗余网络接口阵列。NETRAIN由两个或多个网络接口卡组成一虚拟的网络接口,提供网络冗余备份,其中只有一个接口处于激活状态,其它网络接口处于空闲状态。当激活的网络接口/卡发生错误时,某个处于空闲状态的网络接口/卡将接管网络连接,确保网络畅通。接管缺省时间为10秒,这个参数可以调整。如:#sysconfig -r nr nr_timeout_o = 8 -v
  此命令定义网络接口冗余阵列接管时间为8 秒。参数nr_timeout_o定义接管的时间,最小值为0,最大值根据INT_MAX来确定,缺省值为10秒。网络冗余接口的设备名类似于nrn(n为数字),其设置也是通过命令ifconfig完成。

  配置协议

  正确识别、设置网卡后,就需为网卡配置网络连接的协议地址和操作参数。目前广泛使用的协议为TCP/IP协议。在Tru64 UNIX环境下,可使用命令ifconfig为指定网卡配置IP协议和操作参数。格式为:# /usr/sbin/ifconfig

  网卡设备名 [协议类型] [ip地址/掩码位数] [操作参数]其中:协议类型有AF_INET和 AF_INET6两种。缺省为AF_INET,也就是目前广泛使用的ipV4,AF_INET6为ipV6;利用操作参数可以激活或宕掉该接口、是否使用ARP协议和为该接口设置速率等,具体操作参数见ifconfig的帮助文件。如:

  # ifconfig tu0 112.232.32.1/24 speed 200

  此命令表示为以太网接口tu0配置ip地址为:112.232.32.1,掩码为255.255.255.0,以100M、全双工模式工作。

  配置完成后可用以下命令看接口是否配置正确:
  
  #/usr/sbin/ifconfig tu0
  tu0: flags=c63<UP
  BROADCAST
  NOTRAILERS
  RUNNING
  MULTICAST
  SIMPLEX>
  inet 112.232.32.1 netmask ffffff00 broadcast 112.232.32.255 ipmtu 1500

  以上结果显示网卡tu0的配置和状态都是正确的。用命令ifconfig为网卡配置的信息,在网络重新启动或系统重新启动后,就会丢失。如要求网络重启或系统重启后,网卡的配置信息仍能保存,可通过以下有两种方法实现:

  (1)将网络接口卡的配置信息保存在文件/etc/rc.config中。
  
  (2)编写脚本,文件内容为网卡的配置命令。文件放置在目录/sbin/rc3.d下,文件名类似于Snnfilename(nn为数字),当网络重启或系统重新启动到多用户网络模式,会自动执行/sbin/rc3.d目录下的脚本。这样保证在在重启之后,仍能保证网络接口卡的配置信息不变。
  路由信息
  
  在Tru64 UNIX环境中,提供了两种运行动态路由协议方式:routed和gated ,但两者不能同时运行。routed选用的是RIP协议(路由选择信息协议),它根据RIP更新报文所接收的信息,来动态地建立路由表。此外,routed启动时,还读取文件/etc/gateways文件内容建立路由信息。/etc/gateways文件格式有:目的类型、目的地址/名字、gateway 网关地址/名字、metric 路由度量值、路由类型。其中:

  (1)目的类型有两类:net和host,分别指明到网络还是到主机的路由
  
  (2)目的地址和名字是指目的ip地址或定义在文件/etc/hosts 或文件/etc/networks中的网络或主机名字

  (3)路由类型有两类:passive和active。Passive表示该项列出的路由信息不提供RIP更新信息;active表示建立一条能被RIP更新的路由。
  gated组合了RIP、OSPF、BGP、EGP等多种路由协议。它在运行的多个协议中,把各个协议中取得的路由选择信息组合在一起,选择最佳路由,所有路由协议都在一个文件/etc/gated.conf中配置,使用同样的配置命令。
  实际上,服务器仅为网络上的一个支节点,它的主要功能是提供数据服务或应用服务功能,而且处理动态路由协议要占用大量的系统资源和网络资源,因此,服务器上不建议运行动态路由协议,只需设置静态路由即可满足路由要求,而动态路由信息处理应由网络上的专用网络设备来处理。
  Tru64 UNIX利用命令/usr/sbin/route构建静态路由表。格式为:
  route [选项] 命令 [-net|-host] 目的地址[/掩码] 网关地址/接口参数
  其中命令有:add 增加路由
   flush 清空路由表的所有信息
  delete 删除指定路由
  change 更改路由
  monitor 监控路由表的变更情况。
  如:(1) 增加一条到网络112.232.32.0的静态路由,网关为112.232.32.1
  #/usr/sbin/ route add -net 112.232.32.0/24 112.232.32.1

  (2) 增加 一条缺省路由

  #/usr/sbin/ route default 112.232.32.1
  
  具体使用参见route的帮助文件。使用命令/usr/sbin/route应注重:

  (1)命令/usr/sbin/route设置的路由不能立即生效,非凡是路由表中有老的路由存在时,此时需要用以下命令清除路由表,新设置的路由才能起效。
  #/usr/sbin/ route flush

  (2) 命令/usr/sbin/ route手工增加的路由在系统重启后就会丢失。为了避免每一次网络重启或系统重新启动后再手工增加路由,可以手工编辑/etc/routes文件。/etc/routes文件定义了系统的静态路由信息。当网络重启或系统重新启动时,系统自动执行/sbin/init.d/route脚本,脚本中的/usr/sbin/route add语句将定义在文件/etc/routes中的内容加入系统静态路由信息表中。这样,通过定制文件/etc/routes内容,即使网络重启或系统重新启动,静态路由表也不会丢失。

  编辑与网络配置有关的常用文件
  作为系统网络治理员,要做好系统的网络设置和维护,有必要熟悉、了解与网络有关配置的文件。前面介绍网络配置时,已经提到了一些。系统中与网络配置有关的配置文件很多,经常用到的主要包括/etc/hosts、/etc/networks、/etc/rc.config、/etc/routes和/etc/inetd.conf等几个常用文件。

  (1)/etc/hosts定义主机名与ip地址的对应关系。

  格式为:IP地址 主机名 别名
  如:#more /etc/hosts
  112.232.32.100 hosttest
  其中:定义了地址112.232.32.100的主机名为hosttest。
  在定义cluster中的service时,必须在/etc/hosts中定义共享service主机的ip信息。与/etc/hosts文件类似的文件还有/etc/hosts.equiv,它是一个定义主机之间信任关系的文件。

  (2)/etc/networks文件定义了网络名和网络号的对应关系。格式为:

  网络名 网络号 别名
  如:#more /etc/networks
  main1 112.232.32.0
  其中:定义了网络112.232.32.0的网络名为main1。

  (3)/etc/rc.config文件中保存与系统网络特性有关的一些参数。

  当网络或系统重新启动,命令/sbin/init.d/inet会自动根据该文件的内容配置系统网络。rc.config文件是文本类型文件,可以用vi或其它编辑工具对它进行编辑或查看,但最好不要直接对这个文件进行操作,Tru64 UNIX有专用维护这个文件的命令:rcmgr。
  设置变量:
  # /usr/sbin/rcmgr set 变量值
  如:# /usr/sbin/rcmgr set NETDEV_0 tu0
  # /usr/sbin/rcmgr set IFCONFIG _0 "112.232.32.1/24 speed 200"
  获取变量的值:
  #/usr/sbin/rcmgr get 变量
  如:# /usr/sbin/rcmgr get IFCONFIG _0
  具体可以操作那些变量可参见rc.config的帮助文件,在这里只介绍几个常用的、典型的变量及其含义:
  HOSTNAME:定义主机名
  l NUM_NETCONFIG:系统配置网络接口卡的数目
  l * MAX_NETDEVS:系统中可配置的最大网络接口卡的数目
  l * NETDEV_n(n为0,1.... MAX_NETDEVS-1)
  l * IFCONFIG _n(n为0,1.... MAX_NETDEVS-1)
  l 系统中每一网络接口卡对应一个NETDEV_n和IFCONFIG_n,就是为以上的接口定义的ifconfig参数。
  l * RWHOD:是否启动rwho守护进程。
  l * ROUTED:是否启动routed守护进程
  l * GATED:是否启动gated守护进程
  通过sysman 、netsetup、 lan_config等菜单导航方式设置网络,系统会自动更新、维护文件/etc/rc.config,不必再手工编辑它了。

  (4)文件/etc/routes定义了系统的静态路由信息
  文件格式为:目的类型 目的地址/名字 网关地址/名字
  其中目的类型有两种:-net|-host,-net定义到某网络的静态路由,-host定义到指定主机的静态路由;名字指定义在/etc/hosts、/etc/networks中的主机或网络名。

  (5)/etc/inetd.conf 和/etc/inetd.conf.local
  Tru64 UNIX环境下网络守护进程为inetd, 它负责启动和响应各种网络服务。Inetd 读取配置文件/etc/inetd.conf内容,决定采用何种方式、何种服务类型、何种协议并启动哪些internet服务。
  文件/etc/inetd.conf的格式为:
  服务名 Socket类型 协议名 操作方式(Wait/NoWait)用户名 服务程序路径 参数
  其中:服务名提供的Internet服务名。如telnet、ftp等;

  socket类型指服务使用的socket类型,有dgram 和stream两种,dgram为数据报方式;

  协议名指定义在文件/etc/protocols中的常用的internet协议;

  用户名指启动服务的系统用户。

  如:#more /etc/inetd.conf file
   ftp stream tcp nowait root /usr/sbin/ftpd ftpd

  文件内容表明inetd启动后,将启动ftpd守护进程。

  与文件/etc/inetd.conf类似的文件还有文件/etc/inetd.conf.local。二者的区别在于文件/etc/inetd.conf定义组成cluster所有成员之间共享internet服务信息,而文件/etc/inetd.conf.local主要定义本系统internet服务信息,并在文件/etc/inetd.conf后被调用。

  在进行系统维护时,假如某个internet服务不能使用,我们可以先查看这两个文件的内容,检查与此相关的服务守护进程是否启动,然后再去检查别的原因。

  启动网络

  当网络设置完后,可使用命令rcinet重新启动网络,使设置生效。格式为:

  # /usr/sbin/rcinet start|stop|restart

  以上命令分别表示启动网络、停止网络和重新启动网络。

  ru64 UNIX提供了多种设置网络的方式:通过菜单导航的“/usr/sbin/sysman net_wizard”、lan_config、netsetup、netconfig等工具,并在系统引导下完成网络设置。但我认为了解网络的配置过程和配置要点,将对系统网络的维护、故障判定和排除提供很大的帮助。

图片内容