Solaris 10网络服务

简介:
作者:田逸( sery@163.com ) <开放系统世界> 2006年10期 

多年前,sun 微系统公司提出“网络就是计算机”这一著名的口号,从而使得网络的概念逐渐为世人所理解并加速了信息网络化的步伐。今天,信息网络已经无处不在,用性能卓越的solaris 10 来提供各种各样的网络服务,是顺理成章的事情。由于solaris 10 开源的进一步推进,越来越多的软件提供商、软件开发者开始对solaris提供支持,这就意味着在solaris 10下可使用的软件越来越丰富。 
solaris 10作为主流的unix操作系统,支持几乎所有流行的网络服务。我们在安装solaris 10的时候,就会把诸如apache、nfs等等这样的网络服务默认安装到服务器中。但是在实际的应用中,一般不采用系统自带的那些网络服务(通过定制安装的方式,选择所需的软件包而取消系统默认的某些包如apache等),在需要的时候下载相应的源码,然后手动安装。与自动安装相比而言,手动安装更灵活一些,也更能满足实际需求。由于不是每个软件都有solaris包提供,也为了顾及其他的unix/linux平台,因此笔者建议尽可能使用二进制源码包来安装。 

设置和修改网络参数 
相对于linux而言,solaris 的网络设置或修改要麻烦一些。请照下面的步骤来设置或修改网络参数: 
1、 查看接口的名字: # ifc ╟a 
-bash-3.00# ifc -a 
lo0: flags=2001000849<up,loopback,running,multicast,ipv4,virtual> mtu 8232 index 1 
inet 127.0.0.1 netmask ff000000 
iprb0: flags=1000843<up,broadcast,running,multicast,ipv4> mtu 1500 index 2 
inet 192.168.2.16 netmask ffffff00 broadcast 192.168.2.255 
ether 0:e:c:9b:cc:80 
上面的输出可以看出网络接口的名称为 iprb0. 
2、 打开文件/etc/hostname.iprb0,查看对应主机名。本例中只有一个名字sery. 
# cat /etc/hostname.iprb0 
sery 
3、 修改文件 /etc/hosts , 把ip地址与主机名影射起来。 
   
4、 修改文件 /etc/netmasks,其形式如下: 
# the netmasks file associates internet protocol (ip) address 
# masks with ip network numbers. 

# network-number netmask 

# the term network-number refers to a number obtained from the internet netwo 
rk 
# information center. 

# both the network-number and the netmasks are specified in 
# "decimal dot" notati e.g: 

# 128.32.0.0 255.255.255.0 

192.168.2.0 255.255.255.0  //这行是手动添加的 
   
5、 修改文件/etc/defaultrouter,设置默认网关。只能设置一个默认网关,否则发生混乱。我的例子如下: 
-bash-3.00# cat /etc/defaultrouter 
192.168.2.254 
   
6、 设置dns客户端。由于/etc目录没有文件resolv.c 61.135.154.50”这样的文本行,可以添加3个dns服务器,多了无用。 
7、 修改文件 /etc/nsswitch.c file ”改成“hosts: dns file ”。注意中间有空格。这一步必不可少,否则 dns将不起作用。 

8、 验证一下网络配置。# ping www.163.com看是否正常。 

一些准备工作 
为了后面的操作更容易和方便,还需要安装一些软件(如wget)以及对环境变量的路径做些更改。 
1、 安装软件包wget,此软件用来从远程网站下载文件到用户的当前目录;通过比较,wget的下载比用windows 的下载工具要快很多。由于系统本身没有默认安装wget,这里需要我们手动安装它。到网站http://www.sunfreeware.com/indexintel10.html 下载包wget-1.10.2-sol10-x86-local.gz(用windows工具下载),然后通过ssh客户端工具 ssh secure file transfer client把文件传输到solaris 服务器;远程登陆到 solaris10 ,在包wget-1.10.2-sol10-x86-local.gz所在的目录执行命令 # gzip ╟d wget-1.10.2-sol10-x86-local.gz , 安装包 # pkgadd ╟d wget-1.10.2-sol10-x86-local。 
2、 设置环境变量之路径。solaris 10 默认的环境变量不太符合实际的需求,使用者有必要对它进行修改;常见的情况就是设置path(路径)。实验一下:执行命令 # make 系统提示 “make command not found”,但实际上命令是存在的,不信你用 # find / -name make搜。请按照笔者的样式设置path, 
-bash-3.00# echo $path 
/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/ccs/bin:/usr/openwin/bin:/usr/sfw/bin 
修改文件/etc/profile,把上面的输出行追加到文件,保存后运行 # source /etc/profile 使环境变量的修改生效。这时我们在运行刚才的命令 # make 输出如下内容“make: fatal error: no arguments to build”,这没关系,只是说明命令后面没有带参数而已,同时也说明路径的设置是正确无误的。 

现在一切都准备就绪,接着我们就来向大家介绍几个solaris 10主要的网络服务。 

web 服务apache 
到目前为止,web服务仍然是internet上数量最大的网路服务。有为数众多的web服务器软件,但出于领导地位的当属开源软件apache,它占据了web服务器70%以上的份额。 
1、 取得apache的安装包。 # wget http://mirror.vmmatrix.net/apache/httpd/httpd-2.2.3.tar.gz,笔者一般习惯在/root目录执行命令wget,也意味把软件包下载到目录/root。solaris 10系统本来没有目录/root,这个目录是手工创建的,通过修改文件/etc/passwd把root用户的主目录设置为/root(默认是根目录 / ),然后修改/root目录权限为 700。 
2、 解压解包。在下载文件的目录(这里是/root)运行 # gzip ╟d httpd-2.2.3.tar.gz,命令完成后再执行 # tar xvf httpd-2.2.3.tar。 
3、 配置、编译、安装apache.执行命令 # cd httpd-2.2.3 切换到解压生成的目录httpd-2.2.3,然后查看一下目录,看是否有关于安装方面的帮助文件如install或readme,有幸的是,在目录下有这两个文本文件,打开install文件可以得到软件包的安装方法。 

从这个install文件可以得到apache在unix中的快速安装启动等方法。接着我们就在当前目录执行命令 # ./c ╟prefix=/usr/local/apache2 ╟enable-so 。说明:c # make ; make install 等一段时间就可正常完成apache 的安装。 
4、 修改配置文件/usr/local/apache2/conf/httpd.c 
5、 修改完配置文件以后,需要用命令apachectl检查是否有语法错误。执行命令# /usr/local/apache2/bin/apachect ╟t ,没有语法错误方可启动apache服务。 
6、 启动和停止apache服务。启动apache服务真的是一项有趣的事情,运行命令 # /usr/local/apache2/bin/apachect start启动apache .怎么知道 apache按照我们的意愿启动起来呢?需要验证一下。方法一:查看apache进程,命令是 # ps ╟aef |grep httpd。方法二:在另外一个windows机器的浏览器输入solaris服务器的ip地址,能正常显示页面内容就表明成功了。经验表明,apache不能正常启动的最主要的原因就是配置文件修改得不正确。一个建议就是在修改配置文件前先给它在同一个目录(这里是c # /usr/local/apache2/bin/apachectl stop即可。 

mysql数据库服务 
mysql数据库是一个在linux下很受欢迎的数据库服务器,对于solaris 10这个操作环境,mysql也是支持的-mysql有针对solaris平台的安装包,在本案中,我们采用mysql的二进制源码来安装。 
1、 下载源码安装包。# wget http://mysql.easynet.be/downloads//mysql-4.1/mysql-4.1.21.tar.gz 
2、 解包解压mysql。# gzip ╟d mysql-4.1.21.tar.gz , # tar xvf mysql-4.1.21.tar。 
3、 切换目录,执行配置操作。# cd mysql 4.1.21 , # 。/c ╟prefix=/usr/local/mysql。 
4、 编译安装. # make ;make install。 
5、 添加mysql用户及组。# groupadd mysql ,# useradd ╟g mysql mysql。 
6、 更改目录属主。切换到目录 /usr/local/mysql ,运行命令 # chown ╟r mysql:mysql lib。 
7、 初始化数据库。# /usr/local/mysql/bin/mysql_install_db ╟user=mysql。下面是初始化的截图: 

8、 启动mysql服务. # /usr/local/mysql/bin/mysqld_safe ╟user=mysql &。 
9、 验证mysql服务是否正常启动。先查看进程 # ps ╟aef | grep mysql ,发现mysql进程确实在运行后,再用mysql的客户端程序连接测试 # /usr/local/mysql/bin/mysql ╟u root 。因为初始的mysql的用户root没有设置密码,直接就可以连接到mysql服务器.只要mysql的提示符 “mysql > ”出现了,就可以认为mysql服务是正常的。 
10、 其他的操作。与linux下的操作完全相同,不再多叙。 
11、 关闭mysql服务。 # /usr/local/mysql/bin/mysqladmin shutdown。 
提示:mysql的某些版本如mysql-standard-5.0.18-linux-i686-glibc23.tar.gz不需要配置、编译、安装这些过程,解包解压后直接初始化数据库。 

nfs(网络文件系统) 
前面的两个网络服务都是第三方提供的开源软件,但nfs(network file system)却是sun公司自家东西。由于nfs已经被默认的安装到solaris 10,因此不需要手动安装它。笔者曾尝试安装二进制源码的nfs包,但花费了很多精力却不太如愿。 
1、共享文件系统。语法基本格式 share ╟f nfs ╟o <用户权限> <共享的目录>。下面是一个共享目录 /export/home/sery的例子: 
# share ╟f nfs rw=192.168.10.0/24 /export/home/sery //把目录/export/home/sery开放给网段 192.168.10.0 共享,该网段的用户对共享目录具有读写权限。 
2、启用nfs服务。默认情况下,solaris 10 的nfs服务是启动的,使用命令 # svcs ╟a | grep nfs来查看其状态是否在线( # svcadm enable svc:/network/nfs/server:default,命令执行完后再查一下看nfs是否 
3、在客户端挂接共享目录.可以在solaris 环境挂接也可以在linux下挂接,不管在那种情况下挂接,都得先启用nfs客户端程序,然后再用mount命令来挂接。solaris nfs客户端有两个守护进程--/usr/lib/nfs/statd、/usr/lib/nfs/lockd,而linux则需启用portmap服务(# service portmap start),接下来我们来挂接第一步给出的共享: 
# mount ╟f nfs 192.168.10.20:/export/home/sery /mnt/nfs //把远程服务器192.168.10.20的目录/export/home/sery挂接到本机目录/mnt/nfs上 
在客户端执行挂接操作时,应使用root帐号来进行,但这个root对于远程nfs服务器的共享目录而言,它仅仅是nfs服务器的低权限帐号(nobody:x:60001:60001:nfs an access user:/:),因此还得在 nfs服务器端给id为60001的帐号读写权限才可以在客户端读写这个挂接目录,这个是很容易被初学者忽略的地方,也是为什么不能正确执行mount挂接的直接原因,请记住:系统权限一定大于应用程序的权限。 

在设置共享目录的那步,如果solaris 10重新启动以后,配置就不再有效了,为了让配置一直有效,需要把它写到文件里。solaris10的文件路径是 /etc/dfs/dfstab(linux系统是 /etc/export),把需要共享的命令行添加到文件中即可。 





















本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/5571,如需转载请自行联系原作者









相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
598 61
|
安全 API 网络安全
OpenStack的 网络服务(Neutron)
【8月更文挑战第23天】
1255 10
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
667 4
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
657 0
|
机器学习/深度学习 人工智能 安全
从攻防演练到AI防护:网络安全服务厂商F5的全方位安全策略
从攻防演练到AI防护:网络安全服务厂商F5的全方位安全策略
398 8
|
安全 网络协议 网络安全
【Azure APIM】APIM服务配置网络之后出现3443端口不通,Management Endpoint不健康状态
如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。
521 30
|
云安全 人工智能 安全
公共云网络安全即服务!阿里云稳居市占率第一!
公共云网络安全即服务!阿里云稳居市占率第一!
|
算法 安全 网络安全
网络安全服务
机密主要利用密码学技术加密文件实现,完整主要利用验证码/Hash技术,可用**主要灾备来保障。 网络环境下的身份鉴别,当然还是依托于密码学,一种可以使用口令技术,另一种则是依托物理形式的鉴别,如身份卡等。其实更为安全的是实施多因子的身份认证,不只使用一种方式。数字签名可以用来保证信息的完整性,比如RSA就可以用于数字签名: 若A向B发送信息m则先用自己的保密密钥(私钥)对m加密,然后用B的公钥第二次加密,发送个B后,B先用自己的私钥解密一次,再用A的公钥解密即可。 Kerberos使用对称密码算法来实现通过可信第三方密钥分发中心的认证服务,已经成为工业界的事实标准。
343 3
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
1086 5
|
云安全 人工智能 安全
阿里云稳居公共云网络安全即服务市占率第一
IDC发布《中国公有云网络安全即服务市场份额,2023:规模稳步增长,技术创新引领市场格局》报告,阿里云以27.0%的市场份额蝉联榜首。

热门文章

最新文章