8 网络连接
8.1 /etc目录下的文件
Solaris 软件在/etc目录下存放网络配置文件。所有的配置数据比如ip地址、网关等可以被定义或者在运行层进行修改,而只有那些存放在/etc目录文件中的定义可以在系统重启后可以保存下来,永久生效。
可以在这些文件中找到主机名(hostname):
/etc/nodename
/etc/hostname.<interface-name>
/etc/inet/hosts
/etc/net/{ticlts,ticots,ticotsord}/hosts
/etc/nodename 这个文件定义了系统名,从网络的观点看,一个有多块网卡和多个ip地址的系统可以有多个名字。每个都在/etc/inet/hosts中有定义。 这些名字中的任何一个都等价于系统名( nodename),但是他们不是必须的 。
有些文件产生了ip地址跟网卡接口名之间的连接。他们是/etc/hostname.<interface-name><number>。
最常见interface name是:
le 老式sparc系统上的以太网网卡名
hme Ultra sparc系统上的快速以太网网卡名
eri UltraSPARC-III 系统上的快速以太网网卡名
qfe 基于四口扩展以太网卡上的快速以太网网卡名
举例: 一台有QFE (QuadFastEthernet)的Ultra 60 工作站有五个网络接口: hme0 (on board),qfe0,qfe1,qfe2 and qfe3 (on the QFE-card)。主机名是 hermione, 则 /etc/inet/hosts文件的内容如下:
127.0.0.1 localhost
157.168.34.12 hermione hermione.domain.com loghost
191.133.23.10 dumbledore
在公司的局域网上地址是157.168.34.12的系统就叫hermione,相应的,文件 hostname.hme0 必须包含 hermione 这个名字。
Dumbledore(191.133.23.10)是网络服务提供商分配的地址。这根缆线连接到QFE的第一个端口 qfe0 ,所以文件 hostname.qfe0 包含 dumbledore 这个字符串。
qfe1-3 现在没有使用。为了避免solaris出现“没有缆线连接”这种错误信息,对于没有使用的接口不要生成hostname.* 这种文件。
一个具有多个网络接口的系统会在各个子网之间自动路由,例如在我们例子中的157.168.*.* 和 191.133.*.* 子网之间。在系统启动的时候,会显示出来"machine is a router"这条信息。 如果不希望启动路由服务,手工生成一个空文件 /etc/notrouter 接着重新启动系统就可以了。
Ip地址的子网掩码定义在文件/etc/netmasks中。在X-Server运行时不要更改nodename,最好更改nodename或hostname之前,从当前的会话中退出来然后使用命令行界面重新登陆。
8.2 虚拟网络接口
有时候,对于只有一块网卡的系统定义2个ip地址是很有用的。例如,商业演示用的demo工作站了为了与其它的主机通信而需要添加另一个地址的同时也需要保留自己公司的ip地址,这个需求可以通过虚拟网络接口得以实现。实现方法就和上一章节描述2块物理网卡的情形一样, 仅有的不同是我们这次不使用 hme0 和 qfe0 ,而是使用 hme0 和 hme0:1,所以如果你写dumbledore 字符串到/etc/hostname.hme0:1 文件,在商业演示时ISP提供的网线就可以接到 hme0, QFE网卡就不再需要了。
8.3 ifconfig工具
ifconfig -a 列出所有物理和虚拟的接口定义,包括ip地址和子网掩码。 另外在系统运行期间我们还可以用ifconfig去定义ip地址和子网掩码(在hpux系统中这样的定义当系统重新启动后就不存在了,不知solaris是不是这样)。 让我们再来看Ultra 60 工作站的例子,这次首先假定dumbledore在/etc/inet/hosts中没有定义,那么 qfe0 在系统重新启动后就不再被使用。
现在第一步是去激活qfe0(加载驱动):ifconfig qfe0 plumb
开始配置这种网络接口:
ifconfig qfe0 191.133.23.10 netmask 255.255.255.0 up
ifconfig -a 可以看到新的配置
对于虚拟网络接口这个步骤是相同的:
ifconfig hme0:1 plumb
ifconfig hme0:1 191.133.23.10 netmask 255.255.255.0 up
8.4路由
可以将IP地址加入/etc/defaultrouter文件来设定默认路由(或者是标准网关)。如果在此文件中加入的是主机名,要确认/etc/inet/hosts文件中已经定义了此主机名。 等价的命令是:
*删除所有当前路由:route flush
*将1.2.3.4定义为默认路由:route add default 1.2.3.4
*用netstat -r命令可以查看更改结果。
如果机器上有两个以上可用的网络接口,Solaris会自动启用IP转发。
要检查IP转发是否已经启用:ndd -get /dev/ip_forwarding
启用IP转发:ndd -set /dev/ip_forwarding 1
关闭IP转发:ndd -set /dev/ip_forwarding 0
另一种关闭IP转发的方法是创建/etc/norouter文件,例如touch /etc/norouter
8.5NIS客户机
-首先将NIS域名加入/etc/defaultdomain文件(区分大小写)
-然后在/etc/inet/hosts文件中加入NIS服务器
-运行ypinit -c,输入NIS服务器名称 -运行/usr/lib/netsvc/yp/ypstart或者重启。
现在要告诉Solaris操作环境,对于哪些项目(主机名,用户等等)使用NIS。/etc/nsswitch.conf文件对此进行控制。要使Solaris软件在/etc/inet/hosts文件中找不到主机名时查询NIS服务器,可以在hosts开头的行中在files后面加上nis。
在/etc目录中有名为nsswitch.nis的预设文件,对于所有可用项目都带有nis定义。
8.6 DNS客户机
1. 在/etc/resolv.conf文件中输入DNS服务器地址:
nameserver 192.168.0.1
现在可以用nslookup www.sun.com测试DNS服务。
2. 告知Solaris解析主机名时使用DNS。编辑/etc/nsswitch.conf,在hosts开头的行的files后面加上dns。现在不只是可以使用nslookup www.sun.com,也可以ping www.sun.com
8.7 DHCP客户机
如果创建两个空文件/etc/hostname.<网络接口名称>和/etc/dhcp.<网络接口名称>,此接口就配置为使用DHCP。Solaris会用30秒等待DHCP服务器应答。可以在/etc/dhcp.<网络接口名称>修改此时间: WAIT <以秒计的时间>
可以在网络接口运行时启用DHCP(在此例中是对接口qfe0):
ifconfig qfe0 plumb
ifconfig qfe0 dhcp start
8.8 sys-unconfig
如果要更改网络配置,但是对相关的文件不确定,有一个简单的方法:sys-unconfig,关闭机器。在下一次重启(在OK提示符下输入boot)时所有Solaris安装时网络相关的问题都会再次问到。(IP地址,网关,掩码等等)。
8.9 10Mb还是100Mb,全双工还是半双工?
可以用ndd /dev/<interface-driver>命令查询网络接口状态。<interface-driver>一般是le, hme, eri或者是qfe。
-ndd /dev/eri link_status: 0=down, 1=up
-ndd /dev/eri link_speed: 0=10Mb, 1=100Mb
Solaris对于所有网络接口的参数默认为“自适应”。如果添加的网络设备不支持自适应,就要手动设置参数。将多余的参数设为0。
10Mb半双工的例子:
ndd -set /dev/eri adv_100fdx_cap 0
ndd -set /dev/eri adv_100hdx_cap 0
ndd -set /dev/eri adv_10fdx_cap 0
ndd -set /dev/eri adv_10hdx_cap 1
ndd -set /dev/eri adv_autoneg_cap 0
用ifconfig unplumb关闭网络接口然后用ifconfig plumb重启接口。也可以在/etc/system文件中定义这些设置。(set eri: eri_adv_10hdx_cap=1)
8.10 网络设置:temporary VS. persistent
Solaris 常见问题
0
相关文章