首页 > 代码库 > 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服务