6.yum和DNS系统和SSH

yum

yum底层还是使用的rpm。能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum源配置

在centos中yum源文件存储在/etc/yum.repos.d目录中。
这个目录下,所有repo文件都能删除,然后自创一个repo文件来自定义源。
配置文件里面mirrorlist属性,前面需要加协议,例如:file:// http://

配置阿里源

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo 下载阿里的源文件,命名为Centos-Base.repo
yum claean all #清理缓存数据
yum makecache #创建缓存

yum配置文件

  • 基本设置:/etc/yum.conf
  • 仓库设置:/etc/yum.repos.d/*.repo
  • 日志文件:/var/log/yum.log

yum缓存目录

缓存目录:存放下载的软件包、仓库信息等数据
位于:/var/cache/yum/$basearch(硬件架构,如x86_64)/$releaserver(OS版本)

yum clean all 清理缓存数据

yum常用命令

yum makecache     #更新源(安装新源后执行)
yum clean all   #清除缓存目录(/var/cache/yum)下的软件包及旧的headers
yum list |grep  [应用名] #显示所有已经安装和可以安装的程序包
yum info [yum安装包名]               #显示安装包信息
yum -y install [yum安装包名]         #安装软件,默认选yes
yum remove [应用名]             #卸载
yum deplist rpm [应用名]                      #查看程序rpm依赖情况
yum update                            #更新全部软件包
yum group list                        #列出组
yum group install "Security Tools"    #安装‘Security Tools’软件组
yum search [模糊应用名]                           #检索安装包

Linux网络配置

ifconfig命令,查看和设置网卡信息

ifconfig [网卡] 查看所有/单个网卡
可以获取到如下信息:

  • inet ip地址
  • netmask 子网掩码
  • broadcast 广播地址
  • ether MAC地址

临时设置网卡:
ifconfig 接口名 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址[/掩码长度]
禁用和激活网卡:
ifconfig 网卡 down #禁用网卡
ifconfig 网卡 up #开启网卡
设置虚拟网络接口:
ifconfig 接口名:序号 IP地址

hostname命令,查看或者设置主机名

hostname [主机名] 查看/修改主机名 #临时修改
bash刷新
/etc/hostname #主机名文件 持久修改

route命令,查看或设置主机中的路由表

route -n #查看路由表
设置路由记录:
route add -net 网段地址 gw IP地址 添加到指定网段的路由记录
route del -net 网段地址 删除到指定网段的路由记录
route del default gw IP地址 删除路由表中的默认网关记录
route add default gw IP地址 向路由表中添加默认网关记录

netstat命令,查看系统的网络连接状态、路由表、接口信息统计

可以查看服务,是否启动成功,用了哪个端口,是否有恶意软件运行
常用:netstat anpt

  • -r 查看当前路由表信息
  • -a 显示所有
  • -n 数字形式显示
  • -p 显示端口
  • -t 查看tcp协议
  • -u 查看udp协议

ping命令,测试网络连通性

发送出基于ICMP传输协议的数据包
ping [参数] 目标主机

ping命令在Linux和Windows上的区别

Linux与Windows相比有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下组合键“Ctrl+c”才能结束,或是发起命令时加入-c参数限定发送个数。

traceroute命令,测试从当前主机到目的主机之间经过的网络节点

traceroute 目标主机

nslookup命令,测试DNS域名解析

nslookup 目标主机地址 [DNS服务器地址]

网络接口文件

/etc/sysconfig/network-scripts 下的配置文件

主要属性:
BOOTPROTO=dhcp 获取IP的方式 dhcp自动获取IP static固定静态IP
DEVICE=ens33 网卡名称
ONBOOT=yes 是否默认开启网卡,Centos7默认关闭

如果获取IP方式为static需要手动添加配置:
IPADDR=[ip]
NETMASK=255.255.255.0
GATEWAY=192.168....
DNS1=114.114.114.114 中国的DNS
DNS2=8.8.8.8 谷歌的DNS
保存以后重启网卡:
systemctl restart NetworkManger(Centos7是Network)
不生效就重启机器

DNS配置文件

/etc/resolv.conf

hosts配置文件

/etc/hosts

DHCP服务

DHCP:Dynamic Host Configuration Protocol 动态主机配置协议。
概述:为大量客户机提供ip,自动分配IP地址,方便管理,减轻管理和维护成本、提高网络配置效率。
DHCP使用67端口

配置文件:
主要:/etc/dhcp/dhcpd.conf 打开这个配置文件,发现提示寻找模板配置文件
vim 一般模式 r 文件路径 把模板文件的内容进行引过来
执行程序:/usr/sbin/dhcpd,/user/sbin/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
在这里插入图片描述
在这里插入图片描述

两种使用方式:

  • 修改网卡配置文件(如ifcfg-eth33)
    BOOTPROTO=dhcp
  • 使用dhclient命令
    dhclient -d eth33

DNS系统

域名和IP互相解析的服务

  • 正向解析:根据主机名称(域名)查找对应的IP地址
  • 反向解析:根据IP地址查找对应的主机域名

DNS协议运行在UDP协议之上,使用端口号53。

域名解析过程

当一个用户在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤,这个过程大概如下:

  1. 浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。(浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等,域名被缓存的时间限制可以通过TTL属性来设置。这个缓存时间太长和太短都不好,如果缓存时间太长,一旦域名被解析到的IP有变化,会导致被浏览器缓存的域名无法及时解析到变化后的IP地址,这段时间内可能会有一部分用户无法访问网站。如果时间设置太短,会导致用户每次访问网站都需要重新解析一次域名。)

  2. 如果用户的浏览器缓存中没有,浏览器会查找本地hosts文件中是否有这个域名对应的映射关系,如果有则调用这个IP地址映射,完成域名解析。

  3. 如果浏览器缓存和hosts文件中都没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。(前面三步都是在本机中完成,本机中的解析不具有权威性,到这里还没有涉及真正的域名解析服务器,如果本机中仍然无法完成域名的解析,就会真正请求域名服务器来解析这个域名。)

  4. 操作系统把域名发送给TCP/IP中设置的首选DNS地址,如果要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,大约80%的域名解析都到这里就已经完成。(称为LDNS,Local DNS Server,本地DNS服务器,该DNS服务器性能都会很好,一般都会缓存域名解析结果,此解析具有权威性。)

  5. 如果本地DNS服务器区域解析不成功,但是该服务器已经缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析。(此解析不具有权威性。)

  6. 如果LDNS和缓存解析都没有命中,就直接到Root Server根域名服务器请求解析。

  7. 根域名服务器返回给本地域名服务器一个所查询域的主域名服务器(gTLD Server)地址。(gTLD是国际顶级域名服务器,如.com、.cn、.org等,全球只有13台左右。)

  8. 本地域名服务器再向上一步返回的gTLD服务器发送请求。

  9. 接收请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址。(这个Name Server就比如是在某个域名服务提供商申请的域名,那么这个域名解析任务就由这个域名提供商的服务器来完成。Name Server可能有多级)

  10. 本地域名服务器再向上一步返回的Name Server域名服务器发送请求,Name Server域名服务器查询存储的域名和IP的映射关系表,正常情况下都根据域名得到目标IP记录,连同一个TTL值返回给本地域名服务器。

  11. 本地域名服务器会缓存这个域名和IP的映射关系,缓存的时间由TTL值控制 。

  12. 把解析的结果返回给客户端,客户端根据TTL值缓存在本地系统缓存中,域名解析过程结束。

DNS系统的类型

  • 缓存域名服务器
    也称为高速缓存服务器
    通过向其他域名服务器查询获得域名 -> IP地址记录
    将域名查询结果缓存到本地,提高重复查询时的速度
  • 主域名服务器
    特定DNS区域的官方服务器,具有唯一性
    负责维护该区域内所有域名->IP地址的映射记录
  • 从域名服务器
    也称为辅助域名服务器
    其维护的域名->IP地址记录来源于主域名服务器

BIND域名服务

伯克利Internet域名服务
官网:https://www.isc.org/

主要执行程序:/usr/sbin/named
默认监听端口:53
主配置文件:/etc/named.conf
保存DNS解析记录的数据文件位于:/var/named

全局配置部分:

设置DNS服务器的全局参数
包括监听地址/端口、数据文件的默认位置、允许访问的网段等
/var/named/chroot/etc/named.conf

区域配置部分:

设置本服务器提供域名解析的特定DNS区域
包括域名、服务器角色、数据文件名等
/var/named/chroot/etc/named.rfc1912.zones 以zones结尾的文件

区域数据配置文件:

  • 全局TTL配置项及SOA记录
  • 正向域名解析记录
  • 反向域名解析记录

/var/named/chroot/var/named 模板named.localhost
在这里插入图片描述

检查配置文件

named-checkconf -z /var/named/chroot/etc/named.conf 检查named.conf文件是否有误
named-checkzone [域名] [zone文件名] 检查数据区文件是否有误

SSH协议

为客户机提供安全的Shell环境,用于远程管理
默认端口:TCP 22

OpenSSH

  • 服务名:sshd
  • 服务端主程序:/usr/sbin/sshd
  • 服务端配置文件:/etc/ssh/sshd_config
  • 客户端配置文件:/etc/ssh/ssh_config

ssh服务通过密码进行登录,主要流程为:

1.客户端连接上服务器之后,服务器把自己的公钥传给客户端
2.客户端输入服务器密码通过公钥加密之后传给服务器
3.服务器根据自己的私钥解密登录密码,如果正确那么就让客户端登录

ssh服务公钥登录,主要流程为:

1.客户端生成RSA公钥和私钥
2.客户端将自己的公钥存放到服务器
3.客户端请求连接服务器,服务器将一个随机字符串发送给客户端
4.客户端根据自己的私钥加密这个随机字符串之后再发送给服务器
5.服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

配置公私钥登录

linux下可以用用ssh-keygen命令生成公钥/私钥对。

1.若有机器A,B。现想A(客户机)通过ssh免密码登录到B(服务器)。 在A机(客户机)下使用ssh-keygen命令生成公钥/私钥对。在执行此命令后将在~/.ssh目录下将生成id_rsaid_rsa.pub文件。
2.在B机器(服务器)开启证书的验证,默认是开启的。 若没有开启可修改ssh配置文件,vi /etc/ssh/sshd_config,将文本中有关PubkeyAuthenticationAuthorizedKeysFile的条目修改为如下内容:

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

3.随后重启服务 systemctl restart sshd.service
A机器(客户机)使用ssh-copy-id [user]@[host]命令拷贝密钥文件到B机器(服务器)。
4.随后客户机访问服务器,我们会发现直接无密码登录。

小结:客户机有私钥,被登录的服务器要有登录客户机的公钥。这个公钥/私钥对一般在私钥宿主机(客户机)产生。上面是用rsa算法的公钥/私钥对,也可以用dsa算法(对应的文件是id_dsa,id_dsa.pub)。

scp命令,远程安全复制

将本机文件复制到远程服务器上(上传)
命令格式:scp 【本地文件路径】 [username]@[主机IP]:[拷贝的目录] #-r是文件夹
将远程服务器上的文件复制到本机(下载)
命令格式:scp [username]@[主机地址]:[服务器上文件路径] [本地文件路径]

注意两点:
1.如果远程服务器openssh有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
scp -P 2222 [username]@[主机地址]:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限.

sftp命令,交互式的文件传输

sftp [参数] [IP或主机名]
-C 使用压缩
-B 指定传输文件时缓冲区的大小

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值