修改telnet最大连接数
公司的一台telnet堡垒机(一台 suse主机)近期总是不稳定,别人反映出现不能登陆情况时,主机的23端口还在监听,xinetd运行也正常。在message日志里看到有telnet timeout超时的日志。netstat查看当前23端口也有不少正常的连接,wc -l 统计了下连接数在90左右 。一旦restart服务,不能连接的人又可以正常连接了。出现问题每次都restart肯定不是办法,想深挖下根因。
由于linux telnet 并不像vsftp,可以选择单独模式运行,所以除了xinted.d的下的配置,没有其他配置文件。
一、查看xinetd.conf文件
1[root@baolei01 ~]# vim /etc/xinetd.conf
2#
3# This is the master xinetd configuration file. Settings in the
4# default section will be inherited by all service configurations
5# unless explicitly overridden in the service configuration. See
6# xinetd.conf in the man pages for a more detailed explanation of
7# these attributes.
8defaults
9{
10# The next two items are intended to be a quick access place to
11# temporarily enable or disable services.
12#
13# enabled =
14# disabled =
15# Define general logging characteristics.
16 log_type = SYSLOG daemon info
17 log_on_failure = HOST
18 log_on_success = PID HOST DURATION EXIT
19# Define access restriction defaults
20#
21# no_access =
22# only_from =
23# max_load = 0
24 cps = 50 10
25 instances = 90
26 per_source = 300
27# Address and networking defaults
28#
29# bind =
30# mdns = yes
31 v6only = no
32}
注意:cps、instances、per_source几个参数。下面是对xinted相关参数的介绍:
1disable 定义是否启动{no|yes}no表示开启,yes表示关闭
2socket_type {stream|dgram}表示套接字格式,stream是TCP,dgram为udp
3protocol 协议类型,这些是需是/etc/protocol里可用的
4wait 允许并发数,{yes|no}yes单线程,no多线程
5user 运行身份
6server 有哪个文件/程序启用该服务
7server_args 传递的参数
8only-from 白名单
9no-access 黑名单
10access-time 定义访问时间
11log-type {SYSLOG|FILE} syslog定义日志类型,级别;file定义日志存放位置
12bind 监听ip
13log-on-success 记录登陆成功的信息
14log-on-failure 记录登陆失败的信息
15per-source 资源限制,限制每个ip同时连接请求数
16instances 限制同时运行的进程 ,当服务器被请求连接的进程数达到该值时,xinetd将停止接受多出部分的连接请求 ,直到请求连接数低于设定值为止。
17phier-source = UNLIMITED表示不做限制
18cps = n m 定义每妙最大连接数为n,超出后等待m秒后再尝试连接
将上面提到的三个参数根据实际需要修改并重载服务生效后,问题未再重现。
二、xinetd.d下的配置
由于xinetd.conf是一个全局配置参数,所以上面的配置可以考虑配置到相应的服务配置文件中,如下为telnet的配置示例:
1server telnet
2{
3 disable = no 表示服务已经开启
4 flags = REUSE
5 socket_type = stream 表示套接字stream表示TCP,dgream并表示UDP
6 wait = no no表示为多线程服务,yes表示为单线程,用于并发连接请求。
7 user = root 以root的身份运行此服务
8 server = /usr/sbin/in.telnetd 定义有哪个进程起启动此服务,并接受用户访问
9 log_on_failure += USERID 表示在默认规则上扩展显示。
10 log_type = FILE /tmp/telnet_log 定义此服务日志的存储位置
11 bind = 192.168.0.24 指定监听IP
12 per_source = 1 指定同一IP允许向此服务最多打开的连接数
13 access_times = 08:00-19:30 指定可以使用此服务的时间
14 cps = 100 2 表示每秒最多可以有100个用户连接次服务,超出着等待2s重连
15 only_from = 192.168.0.0/25 表示仅允许192.168.0.0/25网段的计算机连接次服务
16}
三、xinetd服务的特点及适用性
原则上任何系统服务都可以使用xinetd,然而最适合的应该是那些常用的网络服务,同时,这个服务的请求数目和频繁程度不会太高。像DNS和Apache就不适合采用这种方式,而像FTP、Telnet、SSH等就适合使用xinetd模式,系统默认使用xinetd的服务可以分为如下几类。
① 标准Internet服务:telnet、ftp。
② 信息服务:finger、netstat、systat。
③ 邮件服务:imap、imaps、pop2、pop3、pops。
④ RPC服务:rquotad、rstatd、rusersd、sprayd、walld。
⑤ BSD服务:comsat、exec、login、ntalk、shell、talk。
⑥ 内部服务:chargen、daytime、echo、servers、services、time。
⑦ 安全服务:irc。
⑧ 其他服务:name、tftp、uucp。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/telnet-max-conn-num/3947.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.