这是我参与更文挑战的第16天 ,活动详情查看更文挑战
网络服务管理
Linux服务器最主要的功能就是提供各种网络服务,例如:www,ftp,dns,邮件服务器等
/etc/services文件列出了Linux系统支持的所有服务的名称
网络服务管理可以采用图形界面管理工具和命令行界面管理工具
图形界面管理工具
chkconfig
用于检查和设置系统的各种服务
- 添加指定的新服务:chkconfig --add 服务名
- 删除指定服务:chkconfig --del 服务名
- 显示所有或指定服务,以及他们在每个运行级别是否启动等:
chkconfig --list 或 chkconfig --list [服务名] - 改变服务的运行级别及启动信息:
chkconfig [--level <levels>] <name> <on|off|reset>
chkconfig --level 3 sshd off
重启后才能生效,类似配置启动项
service
终端命令service用于设置网络服务的当前状态:
service 服务名 [start|stop|restart]
马上生效
网络服务模型
网络服务主要靠服务名以及服务端口号进行区分。
网络服务启动后,会在服务器上驻留服务进程,该进程对本身的服务进行监控,比如:客户端连接服务端口,服务进程就响应连接,提供服务。
Linux系统中的网络服务模型有两种
- 独立的守护进程工作模式
- 基于xinetd的工作模式
守护进程
在Client/Server模式下。服务器监听(Listen)在一个特定的端口上等待客户连接。连接成功后服务器和客户端通过端口进行数据通信。 守护进程的工作就是打开一个端口,并且等待(Listen)进入连接。 如果客户端发起一个连接请求,守护进程就创建(Fork)一个子进程响应这个连接,而主进程继续监听其他的服务请求。 运行独立的守护进程工作方式称作:stand-alone。它是Unix传统的C/S模式的访问模式。
Web服务器Apache和邮件服务器Sendmail、域名服务器Bind使用独立守护进程模式启动。
因为这些负载很大服务器上,预先创建子服务器,可以提高客户的服务速度。
xinetd
从守护进程的概念可以看出,对于系统所要提供的每一种服务,都必须运行一个监听某个端口连接情况的守护进程,这通常意味着资源浪费。 为了解决这个问题,Linux引进了“网络守护进程服务程序”的概念。 RHEL5使用的网络守护进程是xinetd(eXtended InterNET daemon)。和stand-alone模式相比xinetd模式也称 Internet Super-Server(超级服务器)。
xinetd能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。
可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。
xinetd能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。
可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。
特点
- 支持对TCP、UDP、RPC服务的管理
- 可以实施基于时间段的访问控制
- 功能完备的log功能,可以记录连接成功、连接失败的行为
- 能够有效地防止拒绝服务(DoS)的攻击
- 能够限制同时运行的同一类型的服务器的数目
- 能够限制log文件大小
- 能够将某个服务绑定在特定的系统接口上,从而实现只能允许私有网络访问某项服务。
- 能够实现作为其它系统的代理。