第三周作业

一. yum私有仓库的实现
思路:首先搭建公司内部服务器EPEL源,把EPEL源下载到公司内部服务器,再由http将服务器EPEL所有数据共享出来,公司内部的客户端就可以从创建好的这个http共享服务器来获取资源了。

第1步.环境准备:关闭SELinux 和防火墙,再进行yum仓库搭建

#关闭SELinux 
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

#关闭防火墙
systemctl disable --now firewalld 

第2步.EPEL的yum源

#阿里云        http://mirrors.aliyun.com/epel/8/Everything/x86_64/

#腾讯云        https://mirrors.cloud.tencent.com/epel/8/Everything/x86_64/

#清华大学        https://mirror.tuna.tsinghua.edu.cn/epel/7/x86_64/

第3步.rocky gpgkey

#山东大学          http://mirrors.sdu.edu.cn/rocky/RPM-GPG-KEY-Rocky-8

#上海交通大学  https://mirrors.sjtug.sjtu.edu.cn/rocky/RPM-GPG-KEY-Rocky-8

第4步.为rocky配置yum的系统和EPEL源仓库

在/etc/yum.repos.d文件下创建一个以*.repo为后缀的文件

第5步.yum配置文件

vim /etc/yum.repos.d/*.repo

[BaseOs]
name=BaseOs
baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
        https://mirrors.cloud.tencent.com/epel/8/Everything/x86_64/
enable=1
gpgkey=https://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-8
 
[AppStream]
name=AppStream
baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
enable=1
gpgkey=https://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-8
 
[EPEL]
name=EPEL
baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
gpgcheck=0

第6步.安装http实现资源共享,可以搭建公司内部的http服务器

yum -y install http                       #安装http服务

systemctl enable --now httpd     #启动http服务

第7步.在浏览器输入ip地址,测试http服务是否能正常被访问

第8步.下载阿里云的epel源,制作私有yum源

yum repolist        #查看epel仓库id,repolistid       

dnf  reposync --repoid=epel --download-metadata -p /var/www/html/  #下载epel源

第9步.再将客户端yum配置文件[EPEL]中baseurl地址指向公司内部的http服务器地址

 第10步.客户端使用yum源下载

二. 画图 TCP协议和三次握手及四次挥手
三次握手

三次握手概念:

第一次握手:客户端向服务器端发送请求报文段。

第二次握手:服务器端接收到请求报文段后,会发送一个响应。

第三次握手:客户端收到服务端连接同意的应答后,还会向服务端发送一个确认报文段,表示:服务端发来的连接同意应答已经成功收到。客户端发完这个报文段后便进入ESTABLISHED状态,服务端收到这个应答后也进入ESTABLISHED状态,此时连接的建立完成!

四次挥手

四次挥手:

第一次挥手:客户端数据发送完成,则它向服务端发送连接释放请求。

第二次挥手:服务器收到客户端连接释放报文,通知相应的高层应用进程,告诉它客户端向服务器这个方向的连接已经释放了。

第三次挥手:服务端将最后的数据发送完毕后,就向客户端发送连接释放报文。

第四次挥手:客户端收到服务器的连接释放报文后,向服务端发出确认应答,服务端只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。

三.centos/ubuntu 静态网卡IP配置
centos/ubuntu网卡及ip配置(操作步骤基本一致)

centos/ubuntu:网卡配置文件路径

vim /etc/default/grub

centos:ip地址配置文件路径

 vim /etc/sysconfig/network-scripts/ifcfg-eth0

ubuntu:ip地址配置文件路径

vim /etc/netplan/01-netcfg.yaml

第1步:centos/ubuntu使用传统命名方式

编辑网卡配置文件:

vim /etc/default/grub

GRUB_CMDLINE_LINUX="net.ifnames=0"

vim /etc/default/grub

显示效果

第2步:centos/ubuntu生效配置文件

centos生效配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

ubuntu为grub生效配置文件

grub-mkconfig -o /boot/grub/grub.cfg

执行效果

root@administrator:~# grub-mkconfig -o /boot/grub/grub.cfg
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-124-generic
Found initrd image: /boot/initrd.img-5.4.0-124-generic
Found linux image: /boot/vmlinuz-5.4.0-122-generic
Found initrd image: /boot/initrd.img-5.4.0-122-generic
done
第3步:centos/ubuntu网卡名修改成功,执行ip a验证一下

ip  a

发现网卡名已经修改成功,缺少ip地址。这是因为ip地址配置文件与网卡名不对应,导致ip地址没有显示,需要配置ip地址文件。

ip a显示效果

第4.1.1步centos配置ip地址文件

该文件必须以ifcfg-开头,网卡名设置的是eth0,这里我们就使用ifcfg-eth0与之对应

vim  /etc/sysconfig/network-scripts/ifcfg-eth0

 vim /etc/sysconfig/network-scripts/ifcfg-eth0

第4.1.2步 centosIP配置文件路径:

vim /etc/sysconfig/network-scripts

DEVICE="eth0"    
NAME="eth0"
BOOTPROTO=static
IPADDR=192.168.23.132
PREFIX=24
GATEWAY=192.168.23.2
DNS1=180.76.76.76
DNS2=223.5.5.5
第4.1.3步centos执行命令生效:

systemctl  restart network

[root@administrator ~]# systemctl  restart network
第4.1.4步centos验证ip配置是否生效

ip  a

执行效果:

centos网卡及ip配置完成

第4.2.1步ubuntu修改网卡名之后没有ip地址显示,原因是与ip配置文件中网卡名不一致

处理方式:配置正确ip地址

第4.2.2步ubuntu静态配置ip文件需要以.yaml后缀文件

执行命令:vim /etc/netplan/01-netcfg.yaml

network:
  ethernets:
    eth0:
      addresses:
      - 192.168.23.130/24
      gateway4: 192.168.23.2
      nameservers:
            search: [baidu.com]
            addresses: [180.76.76.76]
  version: 2
第4.2.3步ubuntu执行ip配置生效命令

执行生效命令,再使用ip a查看ip地址,完成静态ip地址配置
netplan apply

ip a

root@administrator:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:76:88:a7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.23.130/24 brd 192.168.23.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe76:88a7/64 scope link 
       valid_lft forever preferred_lft forever
第5步:centos/ubuntu使用ip a命令均能正常查看网卡及ip地址配置,操作完成。

四. 实现免密登录脚本, expect登录远程主机,将生成的密钥写入到目标主机, expect测试远程登录。
(1)通过shift读取脚本参数
(2)通过select来选择功能.例如功能有
- 安装mysql
- 安装apache
- 免密钥登录主机
当前我们只实现免密钥登录主机

(3)通过函数封装每个功能
(4)将免密钥登录的过程可以重复进行, while 循环实现重复,需要有退出过程。当用户输入exit时,退出免密钥功能。
(5)支持输入一批主机免密钥,使用数组实现

#!/usr/bin/expect
set ip 192.168.23.135
set user root
set password qwwr123
set timeout 10
spawn ssh $user@$ip
expect {
        "yes/no" { send "yes\n";exp_continue }
        "password " { send "$password\n" }
}
interact
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值