zoukankan      html  css  js  c++  java
  • NFS服务和DHCP服务讲解

    NFS服务端概述

    NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS; NFS允许一个系统在网络上与他人共享目录和文件。

    模式: C/S 模式

    端口:

    NFS是Net File System的简写,即网络文件系统.NFS通常运行于2049端口。

    部署NFS

    由于在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的IP地址和端口号等信息发送给客户端。因此,在启动NFS服务之前,还需要顺带重启

    并启用rpcbind服务程序。

    第一步:下载

    [root@ken ~]# yum install rpcbind nfs-utils -y

    第二步:编辑配置文件

    [root@ken ~]# cat /etc/exports
    /ken 172.20.10.0/28(rw)

    /ken 172.20.10.7(rw) #给特定的ip共享,rw表示权限

    /data *(rw) #给所有ip 共享

    /data 172.20.10.0/28(rw)  #把网段共享出去 28表示掩码

    /data 172.20.10.0/28(rw)  192.168.64.0/24(rw)  #设置多个网络

    注意: * 表示对所有网段开放权限

    nfs也可以共享多个目录

    /ken 192.168.64.5(rw)
    /test 192.168.64.7(rw)

    第三步:更改属主

    [root@ken ~]# chown -R nfsnobody:nfsnobody /ken

    第四步:启动nfs

    [root@ken ~]# systemctl restart rpcbind
    [root@ken ~]# systemctl restart nfs

    第五步:客户端挂载使用

    客户端需要下载nfs-utils

    复制代码
    [root@host1 ~]# yum install nfs-utils -y
    [root@host1 ~]# showmount -e 172.20.10.6 #查看共享 Export list for 172.20.10.6: /ken 172.20.10.0/28 [root@host1 ~]# mkdir /test #创建挂载目录 [root@host1 ~]# mount -t nfs 172.20.10.6:/ken /test #挂载 [root@host1 ~]# mkdir /test/ken #创建测试文件
    复制代码

     DHCP服务概述

    DHCP服务概述:

    名称:DHCP  – Dynamic Host Configuration Protocol  动态主机配置协议

    功能:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要用途:

    给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名

    特点: C/S 模式

    自动分配IP地址,方便管理

    DHCP不会同时租借相同的IP地址给两台主机;

    DHCP管理员可以约束特定的计算机使用特定的IP地址;

    可以为每个DHCP作用域设置很多选项;

    客户机在不同子网间移动时不需要重新设置IP地址。每次都自动获取IP地址就可以了。

    DHCP的缺点:

    当网络上存在多服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;

    DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP协议转发。

    端口:

    DHCP服务使用:端口67(bootps) 68(bootpc) 。

    例:查看

    # vim /etc/services

    DHCP协议由 bootp协议发展而来,是BOOTP的增强版本,bootps代表服务端端口, bootpc代表客户端端口

    bootp协议:引导程序协议(BOOTP)。它可以让无盘工作站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。

    DHCP服务运行原理:

    运行原理,面试经常问到,需要大家注意下!

    DHCP Client发现阶段:

    即DHCP客户端寻找DHCP服务端的过程,对应于客户端发送DHCP Discovery,因为DHCP Server对应于DHCP客户端是未知的,所以DHCP 客户端发出的DHCP Discovery报文是广播包,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。

    注意:客户端执行DHCP DISCOVER 后,如果没有DHCP 服务器响应客户端的请求,客户端会随机使用169.254.0.0/16 网段中的一个IP 地址配置本机地址。

    169.254.0.0/16是windows的自动专有IP寻址范围,也就是在无法通过DHCP获取IP地址时,由系统自动分配的IP地址段。

    DHCP Server 提供阶段:

    DHCP Server提供阶段,即为DHCP Server响应DHCP Discovery所发的DHCP Offer阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCPdiscover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息

    DHCP Client 确认阶段:

    即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCPoffer提供信息,则DHCP客户机只接受第一个收到的DHCPoffer提供信息,然后它就以广播方式回答一个DHCPrequest请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址

    DHCP Server确认阶段:

    即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址

    DHCP Client重新登录网络:

    当DHCP Client重新登录后,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

    DHCP Client更新租约:

    DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使用该IP地址,则必须更新租约。更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。

    部署DHCP服务

    实验环境:

    我的虚拟机使用桥接模式是否可行? 不行,因为你的局域网中有可能就有DHCP服务器,这样你就很难,让你的客户端是从你的DHCP服务器获得IP地址。

    另外,也可能造成公司局域网中其它机器因为获得了你DHCP服务器上的IP地址,而上不了网。可以选择仅主机模式或者自定义模式。

    我使用了两台仅主机模式的虚拟机

    服务器端定义静态IP(xshell可连接)

    客户端设置成DHCP自动获取(重启网卡会失败,等待配置完成DHCP服务器端后再重启网卡!)

    关掉仅主机模式虚拟机自带的DHCP

    服务器端操作

    第一步:安装dhcp

    [root@ken ~]# yum install dhcp -y

    第二步:查看配置文件

    [root@ken ~]# cat /etc/dhcp/dhcpd.conf
    #
    # DHCP Server Configuration file.
    #   see /usr/share/doc/dhcp*/dhcpd.conf.example
    #   see dhcpd.conf(5) man page
    #

    第三步:导入样本文件

    [root@ken ~]# cat /usr/share/doc/dhcp*/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf

    第四步:编辑配置文件

     
    [root@ken ~]# cat /etc/dhcp/dhcpd.conf
    subnet 192.168.182.0 netmask 255.255.255.0 {       #指定网段,需要和掩码保持一致
      range 192.168.181.10 192.168.182.20;                     #指定IP池    
      option domain-name-servers ns1.internal.example.org;  #指定DNS地址
      option domain-name "internal.example.org";         #指定域       
      option routers 192.168.182.1;                           #指定网关default-lease-time 600;                             #指定默认租约时间
      max-lease-time 7200;                                 #指定最大租约时间
    }

    第五步:重启DHCP服务

    [root@ken ~]# systemctl restart dhcpd

    客户端操作

    第六步:修改客户端网络配置文件为dhcp

    第七步:重启客户端网络

    [root@ken ~]# systemctl restart network

    第八步:查看获取到的IP

    DHCP分配固定IP地址

    在DHCP协议中有个术语是“预约”,它用来确保局域网中特定的设备总是获取到固定的IP地址。换句话说,就是dhcpd服务程序会把某个IP地址私藏下来,只将其用于相匹配的特定设备。

    要想把某个IP地址与某台主机进行绑定,就需要用到这台主机的MAC地址。MAC地址是网卡上面的一串独立的标识符,具备唯一性,因此不会存在冲突的情况,

    查看MAC地址

    使用格式

    host 服务端主机名称 {        
      hardware ethernet 该主机的MAC地址;  
      fixed-address 欲指定的IP地址;    
    }

    如果不方便查看主机的MAC地址,该怎么办呢?比如,要给老板使用的主机绑定IP地址,总不能随便就去查看老板的主机信息吧。针对这种情况,我们首先启动dhcpd服务程序,为老板的主机分配一个IP地址,这样就会在DHCP服务器本地的日志文件中保存这次的IP地址分配记录。然后查看日志文件,就可以获悉主机的MAC地址了

    分配固定IP部署实践

    第一步:编辑dhcp配置文件

    host后面跟的主机名是DHCP服务器端的主机名

    第二步:重启dhcp服务

    [root@ken1 ~]# systemctl restart dhcpd

    第三步:如果您刚刚为这台主机分配了IP地址,则它的IP地址租约时间还没有到期,因此不会立即换成新绑定的IP地址。要想立即查看绑定效果,则需要重启一下客户端的网络服务

    [root@ken2 ~]# systemctl restart network

    第四步:查看IP

    scp用法

    scp可以实现远程主机之间的文件复制

    scp使用ssh协议,所有想要免密进行复制,需要发送秘钥给相应的节点

    scp使用格式:

    scp [user@]host1:]file1 … [[user@]host2:]file2

    常用选项:

    -r: 复制目录时使用

    -P:大写的P指定端口

    scp发送主机文件到远程节点

    [root@ken ~]# ls
    anaconda-ks.cfg  ken  ken1  test
    [root@ken ~]# scp /root/test 192.168.64.5:/tmp
    test                                                                                                100%    0     0.0KB/s   00:00

    scp拉取远程节点文件到本地

    [root@ken ~]# scp  192.168.64.7:/root/test /tmp/
    root@192.168.64.7's password: 
    test                                                                                                100%    0     0.0KB/s   00:00

    scp复制本地目录到远程节点

    [root@ken ~]# scp ken 192.168.64.7:/root/
    root@192.168.64.7's password: 
    ken: not a regular file
    [root@ken ~]# scp -r ken 192.168.64.7:/root/    #需要加上选项-r
    root@192.168.64.7's password: 

    scp远程节点目录到本机

    [root@ken ~]# scp -r root@192.168.64.7:/tmp/test /tmp/
    root@192.168.64.7's password: 
    [root@ken ~]# ls /tmp
    test
  • 相关阅读:
    求js数组中最小值
    分析apply,call方法
    前端模块化详解
    js中形参的小练习
    js中return返回值小练习
    mysql 视图
    mysql 数据库语句
    mysql 事务管理
    vue-前端工程化
    Vue-router
  • 原文地址:https://www.cnblogs.com/it-peng/p/11404408.html
Copyright © 2011-2022 走看看