分类: Linux

xinetd常见服务使用说明:端口映射 时间同步

xinetd是一个运行于类Unix操作系统的开放源代码的超级服务器(Super-server)守护进程。它的功能是管理网络相关的服务。由于其较高的安全性,xinetd开始逐渐取代inetd,用来管理端口映射很不错,当然端口映射还有其他的如iptables/redir/socat等等开源的工具·

xinetd监听来自网络的请求,从而启动相应的服务。它可以用来启动使用特权端口和非特权端口的服务。

配置文件位置
/etc/xinetd.conf - 全局配置
/etc/xinetd.d/ directory - 针对具体服务的配置
配置文件解析
[root@server ~]# vim /etc/xinetd.conf
defaults
{

# 日志相关设置
    log_type        = SYSLOG daemon info     
    log_on_failure  = HOST       
    log_on_success  = PID HOST DURATION EXIT     

# 性能设置
    cps         = 50 10 #同一秒內的最大连接数 50 ,若超过暂停 10 秒
    instances   = 50    #同一服务的最大同时连接数
    per_source  = 10    #同一来源的客户端的最大连接数

# 网络设置
    v6only          = no #禁止IPv6

# 环境参数
    groups          = yes
    umask           = 002

}

includedir /etc/xinetd.d #引入更多设定

假设要增加一个自定义服务,名称为foo

[root@server~]#vim /etc/xinetd.d/foo
增加如下内容:

service login
{

socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/foo
instances = 20

}
其中参数的意义:

socket_type: 设定网路socket类型,stream 为联机机制较为可靠的 TCP 封包,若为 UDP 封包则使用 dgram 机制
protocol: 设定协议类型,使用的网络协议,需参考 /etc/protocols 内的通讯协议,一般使用 tcp 或 udp
wait: Multi-threaded 或者 single-threaded设定,一般来说可以同时被启用,所以可以设定 wait = no 此外,一般 udp 设定为 yes 而 tcp 设定为 no。
server: 指出这个服务的启动程序.例如 /usr/bin/rsync 为启动 rsync 服务的指令
user: 执行该程序的用户.如果 xinetd 是以 root 的身份启动来管理的,那么这个项目可以设定为其他用户。此时这个 daemon 将会以此设定值指定的身份来启动该服务的程序.

要做端口转发,介绍一下xinetd的用法,先新建一个配置文件:test.conf:

service test
{

type = UNLISTED
disable = no
socket_type = stream
protocol = tcp
wait = no
user = service
port = 60011
#only_from = 192.168.0.0
redirect = 192.168.0.120 60022

}
使用方法:xinetd -f test.conf -filelog test.log -pidfile test.pid,需要停止转发时,kill掉test.pid中的进程id就可以了;

内网时间同步:
时间同步,往往是大型项目里一个基本的需求;如果现在有多台服务器需要时间同步为标准时间,一般有如下两种做法:

一:NTP服务

将一台能上外网的服务器配成公网时间服务器(譬如:ntp服务配置文件中的0.rhel.pool.ntp.org)的下一层,然后所有其它的内网服务器使用ntpdate来同步这一台服务器

二、利用Linux守护进程配置时间服务器

将一台能上外网的机器写一个脚本用ntpdate定时去同步公网时间服务器,然后把它配置37端口的时间服务器,其它内网服务器用rdate -s定时同步这一台服务器

下面,主要来讲将如何利用Linux守护进程来搭建时间服务器。

一、安装xinetd软件包

 # yum install xinetd

二、编辑/etc/xinetd.d/下的time-dgram和time-stream文件

 # vim /etc/xinetd.d/time-dgram 

    disable = no

# vim /etc/xinetd.d/time-stream 

    disable = no

三、重启xinetd服务

 # /etc/init.d/xinetd restart   

 根据# netstat -ntlup命令会查看TCP和UTP的37端口已开放。

这样,时间服务器已搭建OK,在其它主机上,可通过# rdate -s 192.168.244.132命令进行时间同步。其中192.168.244.132为时间服务器的IP。

注意:如果在使用rdate -s 192.168.244.132命令时,报“rdate: couldn't connect to host 192.168.244.132: No route to host”,但事实上,两台主机间可以相互ping通,一般是防火墙大的问题,可清除防火墙或添加允许37端口的规则。

相关文章

发表新评论