xinetd之基础知识和实例

xinetd: 超级守护进程,管理瞬时守护进程

    配置文件:
        /etc/xinetd.conf 主配置文件
        /etc/xinetd.d/*  各瞬时守护进程的配置文件

            全局配置:
                defauts
                    {
                        #enabled =  yes|no 启用服务
                        #disabled = yes|no 禁用服务

                        log_type = SYSLOG daemon info |FILE /var/log/xxx.log 日志类型
                        log_on_failure =  HOST 登陆失败要记录的信息
                        log_on_success = PID HOST DURATION EXIT 登陆成功要记录的信息


                    }

                include /etc/xinetd.d
                
            服务配置:
                service <SERVER NAME>
                    {
                        <ATTRIBUTE>  <ASSING_OPTION(赋值操作符)> <VALUE> <VALUE> ...
                    }

                    常用属性和值:
                        disable = no|yes  是否禁用服务
                        flags = REUSE 重用,已废弃。现在默认服务就是REUSE的。
                        socket_type = stream 套接字类型,可以指定tcp、udp、rpc。
                        wait = no|yes 多连接是时新是否需要等待
                        user = USERNAME 该服务启动的用户身份
                        server = FILE 该服务的二进制程序文件
                        server_args  = OPTIONS 服务启动时要传递的参数
                        port = PORT 指定服务的端口,若不指定则使用服务默认端口。
                        log_on_failure += USERID 在错误日志中添加USERID记录。删除用_=。

                        only_from = IP|NETWORK|HOSTNAME| FQDN |DOMAIN 仅允许以下的地址访问,其他地址默认拒绝访问。
                        no_access = IP|NETWORK|HOSTNAME| FQDN |DOMAIN 禁止以下地址访问

                        access_times = hh:mm-hh:mm 允许访问时间

                        bind = IP 指定服务监听ip地址。服务器有多ip情况下,仅监听此ip地址上的端口。
                        interface = IP 等同于bind

                        cps =  NUM  STOPTIME 控制连接请求速率。允许每秒中入站连接的最大值为NUM个,若超出则临时禁用请求STOPTIME秒。默认NUM为50,STOPTIME为10秒。

                        per_source = NUM 每个ip允许并发发起请求的最大值为NUM个

                        instances NUM|UNLIMITED 指定服务被同步使用的个数为NUM个,即同时允许运行服务的最大个数。不指定为不限制,或指定UNLIMITED也表示不限定

                        banner  FILE 用户本地访问此服务使显示的欢迎信息,从FILE中读取。若远程用户访问则显示/etc/issue.net中的信息。



实例:
    1.服务器ip为172.16.100.1,访问telnet,限定如下:
        仅允许172.16.100.3访问,允许每天9点10分到15点30访问。
        #vim /etc/xinetd.d/telent
            service <telnet>
                    {
                        disable = no
                        flags = REUSE
                        socket_type = stream
                        wait = no
                        user = root
                        server = /usr/bin/in.telnet

                        bind = 172.16.100.3
                        access_times = 09:10-15:30
                    }

    2.接上题,现允许172.16网段访问,禁止172.16.0.2访问,仅在172.16.100.1上监听服务,设定每个ip请求的速率为5,临时停止时间为5,每个ip地址最多并发3个请求,服务最多提供20个连接实例。

        #vim /etc/xinetd.d/telent
            service <telnet>
                    {
                        disable = no
                        flags = REUSE
                        socket_type = stream
                        wait = no
                        user = root
                        server = /usr/bin/in.telnet

                        only_from =192.168.0.0/16
                        no_access =172.16.0.2
                        access_times = 09:10-15:30
                        bind = 172.16.100.1
                        cps = 5 5
                        ip_source = 3
                        instances = 20
                    }

    3.接上题,设定本地欢迎信息:
        #vim /etc/xinetd.d/telent
            service <telnet>
                {
                    disable = no
                    flags = REUSE
                    socket_type = stream
                    wait = no
                    user = root
                    server = /usr/bin/in.telnet

                    only_from =192.168.0.0/16
                    no_access =172.16.0.2
                    access_times = 09:10-15:30
                    bind = 172.16.100.1
                    cps = 30 15
                    ip_source = 5
                    instances = 13

                    banner = /tmp/telnethello
                 }

        #vim /tmp/telnethello
            welcome to telent this server  !!

你可能感兴趣的:(linux,xinetd)