基础服务管理:
特点:支持并发 7X24小时不间断 交互式|tcp/ip scoket
socket文件:“套接字”,是建立网络连接的时候使用。在连接建立成功时,程序两端都会产生一个sock文件,通过socket文件进行所需的会话。一般情况下,scok文件用于本地连接
socket类型:
流式socket(sock stream):是一种面向连接的服务,针对于tcp/ip协议的程序
数据报socket( scok dgram):是一种面向无连接的服务,针对的是udp协议的程序
Linux中,服务分为两大类:
1、依赖服务
特点:没有自己独立的启动脚本;依赖域xinted服务;依赖服务需要启动xinetd服务
eg:telnet、tftp...
xinted服务:extended internet daemon(扩展的网络守护进程),作用:管理一些轻量的小型服务,它会唤醒所管理的依赖服务;它本身是一个独立的服务
2、独立服务
特点:有自己独立的启动脚本;不依赖任何服务
/etc/rc.d/init.d/xxxx
/etc/init.d/xxx
client——>server(serivce)
IP(找到相应主机)+端口号(找到相应的服务)
端口号的设定:
端口号都是正整数
范围:0~65535
1~255:知名服务的端口;ftp(21) telent(23) web(80)ssh(22)...
256~1023:通常都是类unix系统占用用来提供特定的服务
1024~5000:客户端产生的随机端口
>5000:为互联网中预留端口
/etc/service 保存系统服务的默认端口
思路:
1、关闭防火墙和selinux
2、配置yum源【本地yum源】
3、安装软件三步曲(查看软件是否安装|确认是否安装成功|查看软件的文件列表)
4、了解该服务的配置文件 man 5 xxx.conf
5、根据需求通过修改配置文件完成服务的搭建
6、启动服务|开机自启动
7、测试验证
环境:
vm1:10.1.1.1|node1.uplook.com (server端)
vm2:10.1.1.2|node2.uplook.com (client端)
vm3:10.1.1.3|node3.uplook.com (client端)
vm4:10.1.1.4 windows(client端)
demo1:telnet依赖服务搭建
telnet:远程管理的服务 windows;linux下不建议使用
原因:传送用户名和密码是明文传送,不安全 tcp 23
需求:vm1上搭建一个telent服务,目的是使用远程主机可以管理
步骤:
1、关闭防火墙和selinux
1> service iptables stop 临时关闭
chkconfig iptables off 永久关闭(开机不自动启动)
2> # setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
# setenforce 0 临时放到permissive模式
# getenforce 查看selinux状态
# vim /etc/selinux/config 永久关闭(重启生效)
SELINUX=disabled 关闭
[root@node1 Desktop]# service iptables status
iptables: Firewall is not running.
[root@node1 Desktop]# getenforce
Disabled
2、配置yum源
# yum makecache
....
Metadata Cache Created
省略
3、软件三步曲
1> 查看软件是否安装
# yum list|grep 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 vm
telnet-server.x86_64 1:0.17-47.el6_3.1 vm
# yum list|grep xinetd
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
xinetd.x86_64 2:2.3.14-39.el6_4 vm
2> 安装相关软件
# yum -y install xinetd telnet-server
3> 确认是否安装成功并且查看软件列表
# rpm -q xinetd
xinetd-2.3.14-39.el6_4.x86_64
# rpm -q telnet-server
telnet-server-0.17-47.el6_3.1.x86_64
# rpm -ql xinetd
/etc/rc.d/init.d/xinetd 启动脚本
/etc/xinetd.conf 主配置文件
/etc/xinetd.d/ 子配置文件的存放目录
# rpm -ql telnet-server
/etc/xinetd.d/telnet telnet服务的子配置文件
/usr/sbin/in.telnetd 二进制命令
4、了解配置文件
1> 了解xinetd服务的主配置文件 # man 5 xinetd.conf
# cat /etc/xinetd.conf |grep -v ^#|grep -v ^$
defaults
{
log_type = SYSLOG daemon info 使用syslog程序记录日志
log_on_failure = HOST 失败日志,记录客户端的主机
log_on_success = PID HOST DURATION EXIT 成功日志,记录客户端pid host..
cps = 50 10 50表示每秒50个连接;10表示连接上限后等待10s再次连接
instances = 50 连接实例50个,最大连接数
per_source = 10 每个IP最大连接数
v6only = no 不支持ipv6
groups = yes 确定服务进程组ID
umask = 002 默认掩码
}
includedir /etc/xinetd.d 加载外部目录
2> 了解telent服务的配置文件
# cat /etc/xinetd.d/telnet |grep -v ^#
service telnet
{
flags = REUSE 标记
socket_type = stream tcp/ip
wait = no 不等待;服务以多线程的方式运行,并发;yes表示单线成
user = root 以root用户身份启动
server = /usr/sbin/in.telnetd
log_on_failure += USERID 登录失败日志记录用户uid
disable = yes yes代表关闭服务;no代表开启
}
5、根据需求通过修改配置文件完成服务的搭建
需求:client端通过telnet工具远程管理server主机
vim /etc/xinetd.d/telnet
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no yes该为no
}
6、启动服务|开机自启动
[root@node1 ~]# netstat -nltp|grep 23
[root@node1 ~]# /etc/init.d/xinetd status
xinetd is stopped
[root@node1 ~]# /etc/init.d/xinetd start
Starting xinetd: [ OK ]
[root@node1 ~]# netstat -nltp|grep 23
tcp 0 0 :::23 :::* LISTEN 4188/xinetd
7、测试验证
# telnet 10.1.1.1
Trying 10.1.1.1...
Connected to 10.1.1.1.
Escape character is '^]'.
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel 2.6.32-431.el6.x86_64 on an x86_64
login: root 默认情况下,不允许root登录
Password:
Login incorrect
login: redhat
Password:
[redhat@node1 ~]$ ls
需求1:只允许10.1.1.2 和 10.1.1.6
telnet——>xinetd——>xinetd.conf——>/etc/xinetd.d/telent
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
only_from = 10.1.1.2 10.1.1.6
}
需求2:只允许10.1.1.0/24网段访问,但是除了10.1.1.254
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
only_from = 10.1.1.0/24
no_access = 10.1.1.254
}
需求3:
1、控制该服务最多只能3个连接,每个ip只能1次连接
2、控制只能在工作日访问9:30-12:00,14:00-17:30
3、指定日志记录到/var/log/telnet.log里
4、更改telnet服务的默认端口为10086
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
instances = 3
per_source = 1
access_times = 9:30-12:00 14:00-17:30
log_type = file /var/log/telnet.log
port = 10086
}
注意:
1、修改端口号必须修改/etc/services文件里相对应服务的端口号(man 有)
2、/etc/services文件里服务的端口号对我们访问服务有影响;client登录需要加10086;local登录不需要加10086
思考:telnet服务默认不让root登录,如果想允许root登录怎么办?
/etc/securetty
作业1:
根据搭建telnet服务的步骤,搭建tftp服务
tftp:简单的文件传送 udp 69
要求:
1、只允许工作时间9:30-12:00,14:00-17:30访问
2、只允许10.1.1.2和10.1.1.254主机访问
3、每个IP最多连接2次,最大连接数为3
4、修改端口号为10069
服务-telnet
最新推荐文章于 2023-03-25 01:32:11 发布