• 基础服务简介


    汇总

    操作系统三大类:windows unix linux
    信号传输
    物理:无线电波、电流、光纤
    了解: console口 : 为网络设备用来与计算机或终端设备==进行连接的常用端口(console接口是用来配置交换机的)还有AUX口。

    主流服务器类型(刀片、小型机...)
    小型机:只适合集中式应用
    特点:高运算处理能力(多cpu,高速I/O通道)、高可靠性(unix系统)、高服务性(精准定位故障)、高可用性(冗余电源、I/O、散热)
    刀片机:是趋势
    特点:降低硬件成本、简化部署和维护(减少机架安装和布线)、减小占地面积、方便管理(不依赖特定软件和电脑应用)、分布式应用系统(适合集中式和分布式应用)、灵活、支持热插拔

    CI/CD(持续集成、持续交互) 比如Jenkins
    代码的持续集成和持续交互
    优点:重复的工作用自动化代替,减少时间成本,缩短版本发布的时间。

    IAAS(基础设施即服务) PAAS(平台即服务) SAAS(软件即服务)
    物理层(服务器、交换路由设备、防火墙、负载均衡器...) --->> 部署(操作系统)、基础架构及软件(云) --->> 部署应用代码(为用户提供服务)

    redhat7 默认xfs innode size=256 mkfs.xfs -i size=512 /dev/sdb5
    端口:每一个端口对应一个应用 ;端口是内核的功能,工作在内核的tcp/ip协议栈中
    固定端口:0-1023
    随机端口:半随机:1024-32767
    纯随机:32768-65535
    如何对软件做优化方法:配置文件,主程序,内存(调缓冲缓存等)

    存储(常见三类):DAS(直接附加存储),NAS(网络附加存储),SAN(光纤存储)
    IP-SAN (集三种方式优点;在san外面加一层ip封装):iscsi ---->>共享存储
    端口:3260/tcp
    iscsi:根据物理存储设备建立后端卷,将后端卷与“(lun)逻辑名称”iqn(逻辑名称的唯一标识符)关联(关联就叫lun)起来--->(即:访问iqn就是访问那个后端卷;即底层那个物理存储)一个iqn就是客户端的一个target(目标)

    sudo :让普通用户能以root身份运行各种命令,且不需要root密码

    tcp:是面向连接的协议,带有差错恢复机制,是可靠的数据连接协议
    udp:面向非连接的协议,尽力而为的转发,不可靠,连接传输速度快

    如何对操作系统做优化:改内核 更新升级内核
    更新内核:增加减少一些功能
    对内核做优化:修改内核配置文件 --/etc/sysctl.conf
    服务软件运行所需:主程序,配置文件,块设备,文件系统,ip地址

    smtp :port=25 邮局协议 服务器端
    pop3 :port=110
    imap : port=143 邮件客户端
    ntp服务(ntp协议)*****端口123
    snmp :简单网络管理协议(从远端采集数据) port=161/udp
    zabbix :server-default-listen-port=10051
    agent-default-listen-port=10050
    tcpwrapper的功能
    #vim /etc/hosts.allow
    sshd:192.168.0.248:tom 允许tom在192.168.0.248访问sshd

    一·openssh port=22 ----c/s架构 telnet-port=23
    是: (基于TCP连接加密的远程传输协议)支持X11 相比于Telnet更加安全
    做: 远程连接服务器对数据传输加密(远程连接和远程拷贝)
    **ssh充分利用了公钥加密,对称加密,单向加密实现数据安全登录
    模式:两种认证方式:基于口令 :用户名密码
    基于秘钥 : 非对称加密(rsa或dsa算法)
    双向加解密:甲方收到请求随机生成字符串用乙方的公钥加密后发给乙方,乙方用私钥解密得到的字符串用甲方的公钥加密返还,甲方私钥解密后与原字符串对比一致 ok。

    ssh优化可从(配置文件)哪几个方面:1·端口
    也可称为服务访问控制手段------ 2·监听地址
    3·不允许root用户远程登录
    4·不允许使用密码登录
    5·设定黑白名单
    6·重要服务器一般不使用公网ip
    7·防火墙限制登录ip
    ssh连接效率影响-----
    1·dns反向解析
    2·是否进行认证(gssapiauthentication)
    --@ ssh(22端口)的客户端sftp-server(port=115)---支持批量上传,支持单个文件超过4G,支持断点续传(可远程登录目录)。
    #sftp 用户@远程Ip:远程目录
    二·ftp服务 c/s架构
    port=(命令连接21,data连接主动20,data连接被动随机)
    是:基于TCP(文件传输协议)默认持久连接,靠超时断开连接
    做:文件的上传下载
    文件传输格式:主-binary 辅-ascii
    **工作模式(相对服务器):主动模式,被动模式(推荐)
    **两个连接:命令连接,数据连接
    三类用户: 1·匿名用户
    2·本地用户(本地用户禁锢)
    禁锢: *****
    chroot_local_user=YES
    禁锢的白名单:
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    黑白名单:
    ftpusers 允许输入密码,但是登陆不成功
    user_list 根本不允许输入密码
    默认两个文件都为黑名单

    设定白名单: user_list可以切换成白名单
    userlist_deny=NO
    3·虚拟用户
    ---生成账号密码文件
    ---文件导入数据库
    ---修改pam认证
    ---修改主配文件(开启虚拟用户,设定映射用户)
    ---为虚拟用户设定根目录
    修改主配置文件: 指定虚拟用户配置文件的根目录
    #vim /etc/vsftpd/vsftpd.conf
    user_config_dir=/etc/vsftpd/virtualusers

    #mkdir /etc/vsftpd/virtualusers

    #vim /etc/vsftpd/virtualusers/zhangsan
    local_root=/etc/vsftpd/zhangsandir
    注释: 在virtualusers目录中,跟虚拟用户同名的文件,为该虚拟用户的配置文件
    local_root代表去指定虚拟用户的根目录
    虚拟ftp:在一台主机,提供多个ftp服务进程,为不同网络提供服务
    --@tftp-port=69:简单文件传输协议,基于udp不支持交互

    三·DHCP port=67(服务器),68(客户端)

    是: 基于udp 动态主机配置协议 由bootp发展而来
    **做: 自动分配和管理ip地址,更多在交换路由设备上实现
    优点:减少人为配置错误,方便管理,ip地址可回收利用
    缺点:只能去管理自己分配的ip地址,默认不能跨路由转发(跨路由需‘中继’)
    **客户端获取ip地址过程:
    ----discover 客户端广播找dhcp服务器(广播靠mac地址)
    ----offer 服务器端响应广播回复ip包
    ----request 客户端请求选择ip,发送广播回应,要使用该ip
    ----ack 服务器确认向客户端单播提供此ip地址
    主机绑定:客户端mac地址与ip绑定
    租约: (续约只发送request)默认组约时间逢半续约,三次后重新发送
    discover发现服务器
    中继器: 对客户端发送的广播包做数据的封装,发送给服务器

    四·NFS port=2049 mount-port=892(不常用)(udp)rpcbind-port=111 软件:nfs-utils、nfs-utils-lib
    (侧重Linux主机之间资源访问)
    是: 基于TCP 靠远程过程调用实现网络文件系统共享
    优点:节省本地存储,集中存储方便管理,可减少网络上可移动介质设备数量
    可实现:虚拟用户映射,nfs服务自动挂载与卸载
    **原理细说:远程过程调用的过程(首先由本地发起本地系统调用将调用的过程由rpcbind发往远端,远端进行认证映射用户,开启nfs进程,向内核发起系统调用后返还)

    共享目录配置文件
    /etc/exports
    目录 IP(选项)
    选项:
    ro/rw : 只读/读写
    root_squash: root用户的所有请求被映射为anonymous,默认
    all_squash: 映射所有的用户为匿名用户
    anonuid: 指定匿名用户的UID
    anongid: 指定匿名用户的GID
    sync: 同步写入
    async: 异步写入

    目录导出
    exportfs
    -a:重新导出所有,重新挂载所有文件系统,或者取消所有
    -u: 取消导出
    -r: 重新导出
    -v: 显示详细信息
    showmount -e NFS_SERVER: 查看NFS服务器“导出”的各文件系统

    客户端挂载使用
    # mount -t nfs 192.168.0.236:/nfsshare 挂载点 //此处IP为nfs服务器IP


    五·Samba、c/s架构 port=(‘tcp’smb=139,445 ‘udp’nmb=137,138)
    cifs协议是smb协议的一个版本
    可实现windows与Linux之间资源共享(netbios是Windows基于主机实现的互通机制)
    不同于nfs,samba可直接授权不同的用户不同权限来在线修改数据

    Samba是Linux和unix系统上实现SMB协议的软件;SMB是一种在局域网上共享文件和打印机的一种通信协议

    实现:nmbd udp协议负责名称解析(netbios)
    smbd tcp协议可靠的数据传输来管理共享目录 档案 打印机(smb)

    可做访问控制:黑白名单 监听地址 用户映射权限

    配置共享:
    [share_name]
    comment =
    path =
    browseable =
    public =
    guest ok =
    valid users =
    write list =
    read list =
    writeable =
    read only =

    使用共享:
    登录: smbclient -U user_name //192.168.0.246/share_name

    挂载: mount -t cifs -o username=,password= //192.168.0.246/share_name /mount_point

    windows: 映射

    添加smb用户:
    smbpasswd -a -x -d -e
    pdbedit -L -a -x -u

    下载文件:
    smbget smb://192.168.0.246/share_name/file_name -u username -ppassword

    用户映射:
    username map = /etc/samba/smbusers

    smbusers --> loring = zhangsan lisi wangwu

    监听地址:
    interfaces = eth0
    bind interfaces only = yes

    访问控制:
    host allow = 192.168.0.

    六·DNS port=(udp)53 c/s架构 解析ip和域名 软件 : bind
    dns服务器的分类
    主DNS服务器、从DNS服务器、转发DNS服务器、缓存服务器
    是:层次化分布式域名系统,将域名转化为ip的服务
    结构体系:根域,顶级域,二级域,子域,主机名
    dns查询:递归查询(客户端与服务器),迭代查询(服务器与服务器)
    使用的协议及端口
    tcp 53:主要用于主从同步,需要的是可靠的数据传输
    主udp 53:主要用于客户端查询域名
    域名解析过程(udp报文)
    客户机向本地域名服务器发送dns请求报文,本地收到后查询有则返回,无则向根域请求,从根域向下逐级往复询问。

    高速缓存:提高dns查询效率。减轻服务器负荷

    优化:dns-prefetch,即dns预获取
    内容-----
    主从: 可以实现一主多从;主要是为了减轻主服务器压力
    主备: 为了保证主服务器正常运行,一旦主服务器坏掉,备服务器接管服务;保证服务不间断(在主从中,找其中一个从服务器,当作备服务器;主备靠资源转移实现)
    正向解析:由域名到IP
    反向解析:由IP到域名
    DNS转发 --全局转发和特定区域转发
    虚拟子域
    泛解析 --可以让域名支持很多子域名,实现所有次子域名均指向同一域名ip
    访问控制 ---acl

    负载均衡: 为了减轻单体服务器压力
    高可用: 保证服务不间断

    SOA:起始授权记录,一个区域只能有一个SOA记录,必须在第一条
    NS:域名服务记录
    A:FQDN-->IPV4
    AAAA:FQDN-->IPV6
    CNAME:别名记录
    PTR:IP-->FQDN
    MX:邮件交换,必须要有一个邮件交换,具有优先级的概念 0--99 数字小的优先级高
    序列号:serial, 也即是数据库的版本号;
    刷新时间间隔:refresh, 从服务器每多久到主服务器检查序列号更新状况;
    重试时间间隔:retry, 从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔;
    过期时长:expire,从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务;
    fqdn -----> 完全合格域名

    七·web主流服务器 apache (httpd主程序)https-port=443
    port=80(tcp)
    HTTP:超文本传输协议 是一个无状态的协议,随用随连,数据传输结束可自动断开
    URL :统一资源定位器

    http协议:
    客户端:头文件请求
    服务端:头文件回应
    客户端:实体请求
    服务端:实体回应

    web服务器的工作原理:
    1)连接过程
    2)请求过程
    3)应答过程
    4)关闭连接

    apache工作模式: *****
    三种工作模式:
    基于进程方式:prefork 子进程
    基于线程方式:worker
    基于事件方式:events
    -----基于进程:
    <IfModule prefork.c>
    StartServers 8 默认开启8个服务进程
    MinSpareServers 5 最少的空闲进程为5
    MaxSpareServers 20 最多的空闲进程为20
    ServerLimit 256 一个进程最多响应多少个客户端
    MaxClients 256 每个服务进程能开启多少个子进程
    MaxRequestsPerChild 4000 每个子进程最大请求数量,子进程生命周期
    </IfModule>

    基于线程:
    <IfModule worker.c>
    StartServers 4 开启多少个服务进程
    MaxClients 300 最大的客户端连接数
    MinSpareThreads 25 最小的空闲线程数量
    MaxSpareThreads 75 最大的空闲线程数量
    ThreadsPerChild 25 每个进程开启多少个线程
    MaxRequestsPerChild 0 子进程不会自动消亡
    基于事件:
    一旦有事件请求,才产生进程

    ------访问页面的状态码:
    2XX: 正确访问
    3XX: 页面发生了重定向
    4XX: 客户端错误
    5XX: 服务器端错误
    可实现 ----
    虚拟主机:基于ip,基于端口,基于域名

    《四种控制》
    目录控制:<Directory /var/www/html> 索引 软连接 基本认证(类型basic,digest)
    模块控制:<IfModule mod_userdir.c> 加载哪些核心模块(静态模块以.c结尾) “loadModule -- 加载的为功能模块(动态模块以.so结尾)”
    命令 :apachectl -l 查看http加载的核心模块 -M 查看http加载的所有模块
    文件控制:<Files ~ "^.ht"> (Order allow,deny Deny from all)控制文件可不可以被看到,(Satisfy All)可不可以被引用
    客户端搜索路径控制:#<Location /server-status> 开启该配置段也要开启 --> #ExtendedStatus On

    个人站点
    虚拟目录
    网页重定向
    检测apache服务器状态和信息 一)利用status模块 或者是info模块
    二)webalizer
    https
    日志文件---面试题:统计访问apache服务的每个客户端及其访问次数

    八·PXE无人值守
    设置客户机bios从pxe启动
    客户机网路中请求dhcp获取IP地址
    dhcp下发ip,引导文件(pxelinux.0)位置,tftp服务器地址
    客户机请求dhcp获取引导文件,
    并执行,请求tftp获取配置文件(pxelinux.cfg),找到vmlinux,initrd.img,ks文件
    启动内核,开启临时文件系统,通过ks文件找到网络yum源安装所需软件
    完成,重启
    -----------------------------------------------------------------------------------------------------
    防火墙
    硬件: 一层,阻止数据到达目标物理设备
    软件: 四层,阻止数据流入内核的某个位置
    ----@ DDOS:攻击 措施:首先增大带宽,设定物理防火墙

    概念:防火墙是位于两个或多个网络间,实行网络间访问控制的一组组件集合的硬件或软件(用于互联网与企业间信息安全,监控往来传输)。

    功能:隔离网络,划分网络区域,指定访问策略控制在不同区域间数据传输。

    实现:Linux防火墙功能由内核实现

    iptables: rhel6
    靠内核中一个名称为netfilter的模块实现
    用户空间管理工具: iptables --> 向内核发起系统调用,调用netfilter模块
    netfilter: 调用其它5个内核函数

    五个链: 五个内核工作区域;五个内置链(主链)-------对应五个钩子函数

    五链:是规则的实现;本质就是向函数传递参数;规则一旦定义,立即生效
    PREROUTING INPUT FORWARD OUTPUT POSTROUTING

    四表:逻辑概念,功能的集合(功能的体现);是具有相同功能链的集合
    filter: 过滤;默认就使用该表
    INPUT FORWARD OUTPUT

    nat: 地址转换
    PREROUTING OUTPUT POSTROUTING

    mangle: 标记
    PREROUTING INPUT FORWARD OUTPUT POSTROUTING

    raw: 追踪
    PREROUTING OUTPUT

    匹配条件

    地址转换

    自定义链

  • 相关阅读:
    python 进度条
    linux中利用Shell脚本实现自动安装部署weblogic服务
    Linux虚拟机如何上网
    常用Python脚本
    Allure测试框架
    软件评测师 第二小时
    保险项目测试流程(一)
    电子商务网站测试总结
    Python随机生成电话号码&号码段分析
    Python中的*args和**kwargs
  • 原文地址:https://www.cnblogs.com/zhangshan-log/p/13745266.html
Copyright © 2020-2023  润新知