Linux学习记录3

2023年 7月 19日 56.1k 0

1. yum私有仓库的实现

1、安装httpd工具并启动httpd服务

#yum -y install httpd

#systemctl enable --now httpd

image.png

2、下载epel所有yum仓库的相关包和meta数据

yum仓库服务器端在/etc/yum.repo.d/目录下配置epel源

image.png

[BaseOS]
name=BaseOS
baseurl=file:///misc/cd/BaseOS
        https://mirror.tuna.tsinghua.edu.cn/centos/8/BaseOS/x86_64/os/
        https://mirrors.huaweicloud.com/centos/8/BaseOS/x86_64/os/
        https://mirrors.cloud.tencent.com/centos/8/BaseOS/x86_64/os/
        https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/
gpgcheck=0

[AppStream]
name=AppStream
baseurl=file:///misc/cd/AppStream
        https://mirror.tuna.tsinghua.edu.cn/centos/8/AppStream/x86_64/os/
        https://mirrors.huaweicloud.com/centos/8/AppStream/x86_64/os/
        https://mirrors.cloud.tencent.com/centos/8/AppStream/x86_64/os/
        https://mirrors.aliyun.com/centos/8/AppStream/x86_64/os/
gpgcheck=0


[epel]
name=EPEL
baseurl=https://mirror.tuna.tsinghua.edu.cn/epel/$releasever/Everything/$basearch
        https://mirrors.cloud.tencent.com/epel/$releasever/Everything/$basearch
        https://mirrors.huaweicloud.com/epel/$releasever/Everything/$basearch
        https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch
gpgcheck=0
enabled=1

[extras]
name=extras
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/os
        https://mirrors.cloud.tencent.com/centos/$releasever/extras/$basearch/os
        https://mirrors.huaweicloud.com/centos/$releasever/extras/$basearch/os
        https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os
gpgcheck=0
enabled=1

[PowerTools]
name=CentOS- - PowerTools - mirrors.aliyun.com
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/$releasever/PowerTools/$basearch/os/
        https://mirrors.cloud.tencent.com/centos/$releasever/PowerTools/$basearch/os/
        https://mirrors.huaweicloud.com/centos/$releasever/PowerTools/$basearch/os/
        https://mirrors.aliyun.com/centos/$releasever/PowerTools/$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

2.TCP/IP

1) OSI参考模型: 由ISO国际标准化组织提出OSI网络国际标准:开放系统互联OSI

定义了网络互联的7层框架:物理层(Physical)、数据链路层(DataLink)、网络层(Network)、传输层(Transport)、会话层(Session)、表示层(Presentaion)、应用层(Application)

2) TCP/IP参考模型: TCP/IP(Transmission Control Protocol/Internet Protocol),是当下实际的业界标准。

TCP/IP参考模型与OSI参考模型对比,TCP/IP参考模型将网络分为四层,其中“网络访问层”对应的是OSI参考模型的数据链路层和物理层,并将OSI参考模型的会话层、表示层和应用层合并为“应用层”。TCP/IP模型可以说是四层也可以说是五层,五层的TCP/IP参考模型使用最为广泛。

image.png

3.TCP协议和三次握手及四次挥手

TCP与UDP概念:

  • TCP:传输控制协议,即面向连接;
  • UDP:用户数据报协议,无连接的,即发送数据之前不需要建立连接

image.png

三次握手:

  • 第一次握手,主机A向主机B发出一个含同步序列号的标志位的数据段给主机B ,向主机B请求建立连接。通过这个数据段,A向B声明通信请求,以及告知B可用某个序列号作为起始数据段进行响应;
  • 第二次握手,主机B收到主机A的请求后,用一带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应A。通过此数据段,B向A声明已收到A的请求,A可以传输数据了,同时告知A可用某个序列号作为起始数据段进行响应;
  • 第三次握手,主机A收到主机B的数据段后,再发送一个确认应答,确认已收到主机B 的数据段,之后开始正式实际传输数据。
  • ACK:TCP报头的控制位之一,对数据进行确认。确认由目的端发出,来告知发送端这个序列号之前的数据段都收到了。比如,确认号为X,则表示前X-1个数据段都收到了。只有当ACK=1时,确认号才有效,当ACK=0时,确认号无效,此时会要求重传数据,保证数据的完整性。

    SYN:同步序列号,这个标志位只有在TCP建立连接时才会被置1,握手完成后SYN标志位被置0。

    image.png

    四次断开:

  • 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求;
  • 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;
  • 主机B再提出反方向的关闭请求,将FIN置1;
  • 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。
  • TCP与UDP的优缺点上的区别:

    • TCP的优点:

    可靠,稳定。TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。

    • TCP的缺点:

    慢、效率低、占用系统资源高、易被攻击:TCP在传递数据之前,要先建连接,需要消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接。同时,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。

    DoS:拒绝服务(Denial of Servic),造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。

    DDOS:分布式拒绝服务(DDoS:Distributed Denial of Service),DDoS攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

    • UDP的优点:

    快、比TCP稍安全、没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击。

    UDP Flood攻击检测:短时间内向特定目标不断发送 UDP 报文,致使目标系统负担过重而不能处理合法的传输任务,就发生了 UDP Flood。启用 UDP Flood 攻击检测功能时,要求设置一个连接速率阈值,一旦发现保护主机响应的 UDP 连接速率超过该值,防火墙会输出发生 UDP Flood 攻击的告警日志,并且根据用户的配置可以阻止发往该主机的后续连接请求。

    • UDP的缺点:

    不可靠、不稳定。因为UDP没有那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。

    应用场景

    • TCP应用场景:

    当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。

    • UDP应用场景:

    当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快。比如QQ语音、QQ视频、TFTP。

    4.配置网卡IP

    centos

    查看网卡状态

    ip a

    修改网卡配置文件内容

    vim /etc/sysconfig/network-scripts/ifcfg-网卡名

    重启网卡服务

    systemctl restart network

    ubuntu 采用netplan来管理网络配置计划,在/etc/netplan/目录下有一个以yaml结尾的文件

    进网卡配置文件

    vim /etc/netplan/00-installer-config.yaml

    使网卡配置文件生效命令

    netplan apply

    5.实现免密登陆脚本, expect登陆远程主机,将生成的密钥写入到目标主机, expect测试远程登陆。

  • 通过shift读取脚本参数
  • 通过select来选择功能,例如功能有:安装mysql;安装apache;免密钥登陆主机
  • 通过函数封装每个功能
  • 将免密钥登陆的过程可以重复进行, while 循环实现重复,需要有退出过程。当用户输入exit时,退出免密钥功能。
  • 支持输入一批主机免密钥,使用数组实现
  • login_ssh(){
        hostip=$1
        shift
        password=$1
        shift
        host=($hostip $password)
        echo "正在免密登录..."
        expect -c '
        spawn ssh '${host[0]}'
        expect {
        "yes/no" { send "yesn"; exp_continue }
        "password" { send "'${host[1]}'n" }
    }
    interact
    '
    }
    
    install_mysql(){
        echo 正在安装mysql...
        yum -y install mysql
    }
    
    install_apache(){
        echo 正在安装apache...
        yum -y install apache
    }
    
    
    menu(){
        while true;do
            PS3="请输入1-4选择功能:"
            MENU='
            安装mysql
            安装apache
            免密码登录主机
            退出
            '
            select num in $MENU;do
                case $REPLY in
                    1)
                        install_mysql
                        break;
                        ;;
                    2)
                        install_apache
                        break;
                        ;;
                    3)
                        login_ssh #IP地址192.168.xxx.xxx #密码123456
                        break;
                        ;;
                    4)
                        exit
                        ;;
                esac
            done
        done
    }
    
    menu
    
    

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论