vmware下solaris_10网卡不能正常配置的解决办法

来源:互联网 发布:linux系统启动过程分析 编辑:程序博客网 时间:2024/06/01 07:31

vmware版本是vmware workstation ACE edition 6.0.0 build 45731,建立虚拟机时选择操作系统为Solaris 10,安装完成后网络无法使用,ifconfig -a也之能看到lo,但是网卡就是不能用,
至于网卡地址问题,发现原因是虚拟网卡的配置有问题,系统无法识别虚拟机的网卡类型,网卡的类型必须为:ethernet0.virtualdev ="e1000" ,ethernet1.virtualdev = "e1000"。开始我把这两句加入 虚拟机的 XXX.vmx配置文件中,但启动后系统把它修改为 :ethernet0.virtualdev ="vlance",ethernet1.virtualdev = "vlance" ,后来从网上查知,
在虚拟机的配置文件后要添加如下行:

ethernet0.virtualDev = "e1000"
ethernet1.virtualDev = "e1000"
uuid.action = "keep"

尤其是最后一句。只加前面两句是不行的,每次系统都会把它改回来。

并将/etc/hostname.pcn0改名为/etc/hostname.e1000g0

重新启动机器后可以正确识别网卡,ifconfig -a输出如下:

lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843 mtu 1500 index 2
        inet 192.168.10.56 netmask ffffff00 broadcast 192.168.10.255
        ether 0:c:29:a2:52:f

至此,虚拟机可以正常使用网络功能。

附Solaris 10.vmx配置文件

config.version = "8"
virtualHW.version = "6"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "512"
ide0:0.present = "TRUE"
ide0:0.fileName = "Solaris 10.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.autodetect = "TRUE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.wakeOnPcktRcv = "FALSE"
sound.present = "FALSE"
sound.fileName = "-1"
sound.autodetect = "TRUE"
svga.autodetect = "FALSE"
pciBridge0.present = "TRUE"
mks.keyboardFilter = "allow"
displayName = "Solaris 10"
guestOS = "solaris10"
nvram = "Solaris 10.nvram"
deploymentPlatform = "windows"
virtualHW.productCompatibility = "hosted"
tools.upgrade.policy = "useGlobal"

ide1:0.autodetect = "TRUE"
floppy0.present = "FALSE"
svga.maxWidth = "800"
svga.maxHeight = "600"
svga.vramSize = "1920000"

isolation.tools.hgfs.disable = "TRUE"

ethernet0.addressType = "generated"
uuid.location = "56 4d 2b 3f 6f db 47 dd-9e 0a 12 34 c7 a2 52 0f"
uuid.bios = "56 4d 2b 3f 6f db 47 dd-9e 0a 12 34 c7 a2 52 0f"
ide0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
scsi0.pciSlotNumber = "16"
ethernet0.pciSlotNumber = "32"
ethernet0.generatedAddress = "00:0c:29:a2:52:0f"
ethernet0.generatedAddressOffset = "0"
tools.remindInstall = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet1.virtualDev = "e1000"
uuid.action = "keep"

 

Solaris 10下配置IP(in details)

Solaris10 与 9不同需要多修改一个/etc/inet/ipnodes文件,内容和Hosts文件相同!

一、IP地址设置

1) /etc/hosts

192.168.10.55           sun280-1         loghost    #sun280-1为hostname

2) /etc/inet/ipnodes

127.0.0.1       localhost     

192.168.10.55    sun280-1    loghost

3) /etc/hostname.pcn0        #pcn0---网卡名

sun280-1

4)/etc/netmasks         #子网掩码

255.255.255.0

5)/etc/defaultrouter   #默认网关、默认没有需要添加

192.168.10.1

6) /etc/nodename #主机名,唯一

sun280-1

7) reboot

二、路由网关设置

静态路由

最长用的静态路由是一台主机到一台本地路由器,通常在 /etc/defaultrouter中定义,用于添加网关

#vi /etc/defaultrouter

192.168.8.1

注:/etc/defaultrouter里面只能有一条路由!!!

服务器的的静态路由也可以通过使用in.routed在文件/etc/gateways中定义,当使用静态路由时,在内核中的路由表在系统启动时被定义,并且通常不会改变,除非使用route或ifconfig 命令修改。当本地网络通过单一的网关与Internet的其余部分相连时静态路由是最合适的选择。

静态路由可用route或ifconfig 手工加入,生成后重起不变,如果使用动态路由则在重启后经常会导致路由表的改变,应为守护进程负责处理网络配置和可用路由的变化。
/etc/gateways文件

路由表文件
net gateway metric

dest. net 目标网段

router 下一跳路由器的地址

count 跳数

route命令

route add|delete [host|net] destination [gateway ]

Add a route

#route add net 128.50.3.0 192.168.1.1 1

delete a route

#route delete net 128.50.2.0 192.168.12.2

内核路由表

有三种路由

1.主机路由从一台主机映射一条到本地网络上的的其他主机上

commandformat:

route add -host destination_ip local_ip -interface interface

eg:

我们想为本地主机接口hme0(204.12.17.1)和另一台在相邻才C类网络上的主机(204.12.16.100)之间增加一条路由

#route add -host 204.12.16.100 204.12.17.1(通往目标主机的网关) -interface hme0

2.网络路由允许数据包从本地主机传输到在本地网络的其他主机上

增加一个到另一个网络的的直接路由

command format:

route add -net destination_network_ip local_ip -netmask mask

eg:

如果我们要想为C类网掩码在本地主机(204.12.17.1)和我们上面指出的网络之间增加一条路由(204.12.16.0网络)我们可以使用如下的命令:

#route add -net 204.12.16.0 204.12.17.1 -netmask 255.255.255.0

3.缺省路由将寻找一条路由的任务传送到一台路由器。RIP 和RDISC守护进程都可以使用缺省路由。

command format:

route add default hostname -interface interface

eg:增加一条到本地路由器(204.54.56.1)的缺省路由,通常用在添加网关并马上生效

#route add default 204.54.56.1 -interface hme1

把上述命令添加到 /etc/rc2.d/S90route(新建的文件,命名方式S+数字+自定义名称,数字代表执行顺序) 并在该文件中添加route add -net netip routeip这样每次机器

reboot的时候都会自动执行一次route add -net netip routeip添加路由的操作。

查看路由表

  # netstat -r

  Routing Table:

  Destination Gateway Flags Ref Use Interface

  localhost localhost UH 0 2272 lo0

  202.96.0.0 192.168.12.1 U 3 562 le0

  10.103.0.0 192.168.12.2 U 3 562 le0

  #

  Destination 目标网络或主机

  Gateway 转发数据包的主机

  Flags 这条路由的状态,这个参数有这样几个选项:

  U 端口处于激活状态(up)

  H 目标是个主机,而不是网段

  Ref 同一个网络接口地址拥有的路由条目数量

  Use 通过这条路由的包数量,对于localhost来说,这个数字代表 所以接收的包数量

  Interface 路由的网络接口


1、名称服务

(1)、名称服务概述

名称服务的核心设计思想是把网络中共享的信息集中到一起,这样可以减少相关的网络内主机的负荷,名称服务器能够提供诸如主机名,IP地址,用户名,密码,自动挂接地图等信息。但名称服务永远不会完全替代本地的文本文件,比如/etc/hosts

(2)、名称服务的基本流程
在名称服务域内的其他主机项名称服务器请求信息时,名称服务器回应客户机,从名称服务器的内存缓存中或者磁盘数据库中转换解析客户机的请求。

(a)由于某些进程的请求,客户机需要访问一些管理资料(administrator data),客户机查看它的本地服务名称切换文件(nsswitch.conf)来判断

(b)名称服务选择文件指示客户机先搜索本地文件,如果没有则根据nsswitch.conf文件的指示来继续搜索

(3)、名称服务切换文件

solaris系统通过名称服务切换文件/etc/nsswitch.conf文件来选择系统所使用的名称服务,可以在该文件中

指定域名服务的顺序。

模板有:

本地文件:/etc/nsswitch.files

DNS :/etc/nsswitch.dns

NIS :/etc/nsswitch.nis

NIS+ :/etc/nsswitch.nisplus

LDAP :/etc/nsswitch.ldap

(4)名称服务缓存守护进程(nscd)
名称服务缓存守护进程nscd为大部分常见的名称服务请求提供缓存。

2 DNS

(1)编译/etc/resolv.conf 文件
#vi /etc/resolv.conf

domain cau.edu.cn !本地域名,允许主机进行查询

nameserver 202.205.80.132 !DNS服务器的IP地址,最多可指定三个

(2)在/etc/nsswitch.conf文件中应当直接修改/etc/nsswitch.conf 在hosts,ipnodes,networks后添加dns

3 FAQ


(1)不存在etc/resolv.conf 文件:可能是自己的网卡系统不识别,可以先用ifconfig -a来检查是否存在网卡,并保证网卡在启用状态,如果不存在则下载相关的驱动.如果是在虚拟机上安装的Solaris操作系统,可以选择 VM->install vmware Tools来安装相关的驱动配置。

(2)配置结束后仍然无法ping通:

可使用nslookup来查看现在dns的状态,如果仍没有解决,可查看/etc/hosts文件中是否存在dns的相关设置。

 

 

 

 

 

网上找的solaris10下设置IP,按照步骤做,可以设置成功

用root,在/etc/hosts加一条纪录,例如,
   
66.218.71.198 loghost yahoo.com

在/etc/nodename加上机器名
yahoo

在/etc/hostname.xx(xx 是网卡名,例如hme0,qfe0. 根据你的网卡硬件型号)加上机器名
yahoo 

/etc/netmasks 设置工作站的子网掩

/etc/defaultrouter 设置工作站的网关

如何在solaris10下设置DNS
1、创建/etc/resolv.conf文件
一个示例的resolv.conf文件如下:

domain sun.com

nameserver 127.0.0.1

nameserver 192.1.0.11

nameserver 192.1.0.10

文件中主要包含二部分内容,第一行是

domain 你申请的域名,例,申请域名为piecust-cn.net.edu.cn,则写为:

domain piecust-cn.net.edu.cn

第二行是名称服务器,示例表示本机就是DNS服务器,其格式为

nameserver

IP地址,该段可以是DNS的主域名称服务器、备份域名称服务器或缓冲名称服务器,但是书写时不可以超过3个服务器。如果网络中只有一个DNS服务器且地址为192.1.0.11,则可以写为:

nameserver 192.1.0.11
2、
运行如下命令
cp /etc/nsswitch.conf /etc/nsswitch.conf.orgi
cp /etc/nsswitch.dns /etc/nsswith.conf
然后就可以了