首页 > 代码库 > telnet服务

telnet服务

telnet
一、telnet的基本介绍
    特点: 24小时不断的服务,并发特征
    使用TCP协议,准确说telnet本身就一种远程登录协议


网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socke

socket:套接字,应用程序一般通过socket 向网络发出请求或者应答请求,介于应用层和传输之间

socket 类型:
        1、流式socket :面向连接的socket ,一般针对面向连接服务程序TCP
        2、数据报socket:面向无连接的socket ,一般针对面向无连接的UDP 应用程序

linux 操作系统中服务:
        依赖服务:1、没有自己独立的启动脚本
                2、依赖xinetd 服务
xinetd:扩展的网络首护程序,超级Internet 服务,常用来管理多个轻量级的服务,平时不占用系统运行资源
        3、依赖服务提供服务的前提是xinetd 服务已经启动

        独立服务:1、有自己的独立启动脚本
                2、不依赖任何服务 常见的独立服务:ftp、http、fns 、mail 等

端口号范围:0~65535 1-255一般是知名的端口(web 80 ftp 21 | 22  ssh 22 )
        256~1023一般由Unix系统占用,来提供特殊服务
        1024~5000 客服端随机产生
        大于5000 网络预留端口

 二、搭建服务
        搭建服务的思路:
        1、关闭防火墙和selinux 一般是关闭,在工作的环境是不能关闭的。
        2、配置YUM源
        3、软件三步曲:查看、安装、查看软件
        4、了解可配置文件
        5、根据需求通过修改配置文件来完成服务的搭建
        6、启动服务、开机自启动
        7、测试验证

 环境准备:2台
        server:172.16.1.156
        client: 172.16.1.95

      telnet 23端口号   tcp协议传输明文传输用户和密码 linux默认不支持 (cat /etc/service  | grep telnet )


        步骤: 1、关闭防火墙和selinux
        #service iptables stop   关闭
        # chkconfig --list | grep iptables   查看
        iptables    0:关闭 1:关闭 2:启动 3;启动
        # chkconfig  0 关闭

        关闭selinux :
         # getenforce  查看是否关闭
                         Enforcing
         # setenforce 0  临时关闭
         # vim /etc/selinux/config
                           SELINUX=disabled    ——> 永久关闭

        2、配置 YUM 源
        vim /etc/yum.repos.d/server.repo
        [server] 名称不能里面有空格
        name=local1   名字
        baseurl=file:///yum  挂载的目录
        enabled=1   1表示开启
        gpgcheck=0  验证码

        3、软件三部曲
        yum list | grep telnet  查看的telnet需要那些软件支持
        This system is not registered to Red Hat Subscription Management. You can use subscription-     manager to register.
telnet.x86_64                          1:0.17-47.el6_3.1                  server    ***
telnet-server.x86_64                   1:0.17-47.el6_3.1                  server    ***

        rpm -q xinetd 查看xinetd是否安装

        #yum -y install xinetd
        /etc/xinetd.conf 住配置文件
        /etc/rc.d/init.d/xinetd 启动脚本
        /etc/xinetd.d  主目录
        /usr/sbin/xinetd  二进制命令

        #rpm -q telnet-server
        /etc/xinet.d/telnet  子配置文件
        /usr/sbin/in.telnetd   启动命令

        4、了解配置文件
        #cat /etc/xinetd.conf
        defaults
{
        log_type        = SYSLOG daemon info      日志类型  使用rsyslog 来登记日志
        log_on_failure  = HOST     登录失败的日志,记录在客户端的主机
        log_on_success  = PID HOST DURATION EXIT    登录成功的日志,记录在客户端主机以及进程的 PID
        cps             = 50 10    每秒50 个连接,如果超出限制,则等待 10s
        instances       = 50    最大连接数
        per_source      = 10     每一个IP 地址一次最多连接10 次  (每个IP 地址最多开10个终端连接10次)
        v6only          = no
        groups          = yes    属组
        umask           = 002    掩码
}
includedir /etc/xinetd.d      加载外部主目录


         # cat /etc/xinetd.d/telnet     ——> 子配置文件
service telnet
                                                                                             service telnet
{
        flags           = REUSE   标记
        socket_type     = stream     面向连接 tcp
        wait            = no      不等待,服务以多线程的方式运行
        user            = root      启动服务用户
        server          = /usr/sbin/in.telnetd     启动命令
        log_on_failure  += USERID     设置登录失败记录用户uid
        disable         = yes 代表关闭;  no代表开启
}

        5、根据需要修改配置文件
        #vim /etc/xinetd.d/telnet
         disable         = no开启   yes表示关闭

        6、启动服务
        #/etc/init.d/xinetd start
        Starting xinetd:                [  OK  ]
        chkconfig --level 35 xinetd on
        # chkconfig --list|grep xinetd
        xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off
        以上两中启动方法随便选择一种

         # netstat -lntp|grep 23
     tcp        0      0 :::23                       :::*      LISTEN      3242/xinetd
        查看端口是否在监听
        -a:查看所有连接状态
        -l:查看处于监听状态的连接
        -t:只查看tcp 协议的连接
        -u:只查看udp协议
        -n:数字显示
        -p:显示程序名

        7、测试验证
        client 172.16.1.59
        server 172.16.1.156
        # telnet 172.16.1.156  默认登录进去在用户的家目录里面 client:端没有那个命令要安装
        客服端默认登录不上服务端的原因:

         1、server端末开启telnet

        2、防火墙没关闭

        3、telnet 子置文件中的 disable = yes  ——> 表示没关闭

        需求1、只允许10.1.1.1 访问server 端telnet服务
                # vim /etc/xinetd.d/telnet
{
      ...
       only_from       = 10.1.1.1   只允许这个IP地址登录
}

        重启xientd 服务: service xientd restart

        client机登录:

        # telnet 172.16.1.156
        Trying 172.16.1.156...
        Connected to 172.16.1.156.
        Escape character is ‘^]‘.
        Connection closed by foreign host.


        需求2、允许192.168.1.0/24   网段访问,除了192.168.1.3
                                           A类: 24位子网掩码 255.255.255.0
                                           B类:  16位子网掩码 255.255.0.0
                                           C类:  8 位子网掩码  255.0.0.0
      #vim /etc/xinted.d/telnet
{
    ...
    only_from       = 192.168.1.0/24  允许这个的网段IP的登录
    no_access       = 192.168.1.3       不允这个IP登录

}

重启xientd服务:   service xientd restart

                可以根据man  5  xinetd.conf
        需求3: 1、控制telnet服务最多只能连接3,每个IP只能链接1次
                #vim /etc/xinetd.conf  修改子配置文件
                instances      = 3
               per_source    = 1

              

                2、控制只能在工作时间访问telnet服务 9:30-12:00 14:00-17:30
               
# vim   /etc/xinetd.d/telnet     ——>更改子配置文件
                            {
                                ....
                                access_times    = 9:30-12:00 14:00-17:30

                            }

               3、指定日志记录到/var/log/xinetd_telnet.log
                #vim   /etc/xinetd.d/telnet     ——>更改子配置文件
                              {
                                   ...
                            log_type        = FILE /var/log/xinetd_telnet.log

                              }

               4、更改telnet 服务默认端口号为10023
                 #vim   /etc/xinetd.d/telnet     ——>更改子配置文件
                              {
                                   ...
                                  port                = 10023

                              }

                 vim etc/services    此配置文件里面也要改为  telnet    10023


                更改配置文件重启的服务的才会生效!!!!!!!!!!!!!!!!!!

                                           

本文出自 “11447124” 博客,谢绝转载!

telnet服务