Linux 网络管理(3)

170 阅读4分钟

这是我参与更文挑战的第16天 ,活动详情查看更文挑战

网络服务管理

Linux服务器最主要的功能就是提供各种网络服务,例如:www,ftp,dns,邮件服务器等

/etc/services文件列出了Linux系统支持的所有服务的名称

网络服务管理可以采用图形界面管理工具和命令行界面管理工具

图形界面管理工具

image.png

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模式的访问模式。

image.png Web服务器Apache和邮件服务器Sendmail、域名服务器Bind使用独立守护进程模式启动。 因为这些负载很大服务器上,预先创建子服务器,可以提高客户的服务速度。

xinetd

从守护进程的概念可以看出,对于系统所要提供的每一种服务,都必须运行一个监听某个端口连接情况的守护进程,这通常意味着资源浪费。 为了解决这个问题,Linux引进了“网络守护进程服务程序”的概念。 RHEL5使用的网络守护进程是xinetd(eXtended InterNET daemon)。和stand-alone模式相比xinetd模式也称 Internet Super-Server(超级服务器)。

image.png

xinetd能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。

可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。

xinetd能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。

可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。

特点

  • 支持对TCP、UDP、RPC服务的管理
  • 可以实施基于时间段的访问控制
  • 功能完备的log功能,可以记录连接成功、连接失败的行为
  • 能够有效地防止拒绝服务(DoS)的攻击
  • 能够限制同时运行的同一类型的服务器的数目
  • 能够限制log文件大小
  • 能够将某个服务绑定在特定的系统接口上,从而实现只能允许私有网络访问某项服务。
  • 能够实现作为其它系统的代理。